admin 管理员组文章数量: 1086019
2024年4月29日发(作者:switch语句是否可以嵌套使用)
(完整word)Web安全渗透测试(SSL)
企业级Web安全渗透测试之SSL篇
一、简介
目前,许多重要的Web服务都使用了SSL和TLS协议对通信进行保护.我们知道,http协议是使用明文进
行传输的,但是像网络银行之类的web应用如果使用http协议的话,那么所有的机密信息都会暴露在网络连
接中,这就像银行用一个透明的信封给我们邮寄信用卡帐号和密码一样,在从银行到达用户之间任何接触过
这封信的人,都能看到我们的帐号和密码.为了提高其安全性,经常需要通过SSL或者TLS隧道传输这些明
文,这样就产生了https通信流量。例如网络银行之类的应用,在服务器和客户端之间传输密码,信用卡号
码等重要信息时,都是通过https协议进行加密传送的。
SSL和TLS是两种安全协议,它们通过加密技术为传输的信息提供安全信道、机密性和身份验证等安全
功能.我们知道由于对高级密码技术的出口限制,会造成遗留系统使用的是弱加密技术。如果系统采用了弱
密码,或者说密码强度过低的话,攻击者可以在有效的时间内破解密钥,而攻击者一旦得到了密钥,就像小偷
得到了我们家的钥匙一样,所有的锁都会形同虚设。但是,新Web服务器就不会使用弱加密系统了吗?答案
是否定的,因为许多新Web服务器也经常被配置成处理虚密码选项.为了实现这些安全特性,协议必须确保
使用的密码算法有足够的强度,并且密码算法得到了正确的实现。即使服务器安装使用了高级的加密模块,
但是如果配置不当的话,也有可能为安全特性要求较高的通信信道的设置了较弱的加密技术。下面,我们将
详细介绍如何对这两种协议的配置进行安全审计。
二、测试SSL/TLS的密码规范
我们知道,http协议是使用明文进行传输的,为了提高其安全性,经常需要通过SSL或者TLS隧道传输
这些明文,这样就产生了https通信流量.除对传输的数据进行加密处理之外,https(安全超文本传输协议,
HTTPS)还能利用数字证书为服务器或客户端提供身份标识。
过去,美国政府对加密系统的出口有许多限制,如密钥长度最大为40位,因为密钥长度越短,它就越容
易破解.后来,密码出口条例已经放宽了许多,但是,检查服务器的SSL配置仍然十分重要,因为它有可能配
置使用了弱加密技术。基于SSL的服务不应该提供选择弱密码的机会。
注意,我们这里所说的弱密码,指的是加密强度不够、容易破解的加密系统。不同的加密算法具有不同
的密码强度,但是在算法一定的情况下,密钥的长度越长,加密强度越高.
技术上,选择加密技术的过程如下所示:在建立SSL连接的初期,客户端向服务器发送一个Client Hello
消息,以告知服务器它支持哪些加密技术等。一般情况下,客户端通常是一个Web浏览器,所以浏览器是目
前最常见的SSL客户端;然而,任何支持SSL的应用程序都可以作为SSL客户端使用。比如,有时候SSL客户
端是些SSL代理(如stunnel),它们使得那些不支持SSL的工具也能与SSL服务通信.同理,SSL服务器端通
常为Web服务器,但是其他应用程序也可以充当SSL服务器端。 加密套件规定了具体的密码协议(DES、RC4、
AES)、密钥长度(诸如40、56或者128位)和用于完整性检验的散列算法(SHA、MD5)。收到Client Hello
消息后,服务器以此确定该会话所使用的加密套件。当然,通过配置可以规定服务器能够接受哪些密码套件,
这样的话,我们就能够控制是否跟仅支持40位加密的客户端通话。
(完整word)Web安全渗透测试(SSL)
三、黑盒测试
为了检测可能支持的弱密码,必须找出与SSL/TLS服务相关的端口.通常情况下,要检查端口443,因为
它是标准的https端口;不过运行在443端口上的却未必是https服务,因为通过配置,https服务可以运
行在非标准的端口上,同时,Web应用程序也许使用了其它利用SSL/TLS封装的服务.一般而言,为了找出这
些端口,必须找出使用了哪些服务。
利用扫描程序nmap时,加上扫描选项–sV,就能用来识别SSL服务。实际上,安全漏洞扫描器除了可以
显示使用的服务之外,还能用来检查弱密码,比如,Nessus就能检查任意端口上的SSL服务,并报告弱密码。
如果攻击者在您修复弱密码之前发现了它们的话,那么您的处境可就不妙了--利用当前强大的桌面计算
力,例如借助GPU的并行运算,他们能够在有效的时间内破解出密钥,然后就能解密出https信道中加密过
的机密信息,如口令,用户名,如果您在使用网络银行,还能获得他们的帐号和口令,等等。所以,我们一定
要在攻击者下手之前发现并修复存在的弱密码配置。
例1。 通过nmap识别SSL服务
[root@test]# nmap —F -sV localhost
Starting nmap 3。75 ( http:///nmap/ ) at
2009—07-28 13:31 CEST
Interesting ports on localhost。localdomain (127.0.0。1):
(The 1205 ports scanned but not shown below are in state:
closed)
PORT STATE SERVICE VERSION
443/tcp open ssl OpenSSL
901/tcp open http Samba SWAT
administration server
8080/tcp open http Apache httpd
2.0.54 ((Unix) mod_ssl/2。0.54 OpenSSL/0.9。7g PHP/4。3。11)
8081/tcp open http Apache
Tomcat/Coyote JSP engine 1。0
Nmap run completed —— 1 IP address (1 host up) scanned in
27.881 seconds
[root@test]#
例2. 利用Nessus识别弱密码.
下面内容摘自Nessus扫描程序生成的报告,它发现了一个允许弱密码的服务器证书(黑体字部分).
https (443/tcp)
版权声明:本文标题:(完整word)Web安全渗透测试(SSL) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1714392661a678255.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论