第三章WWW安全性
7.1 HTTP协议及WWW服务 7.2 WWW服务器的安全性 7.3 Web欺骗 7.4 WWW客户安全性 7.5 增强WWW的安全性
7.1.1 HTTP协议及其安全性 7.1.2 Web的访问控制 7.1.3 安全超文本传输协议S-HTTP 7.1.5 安全套接层SSL 7.1.6 缓存的安全性
使用mod_cookies模块时,存在系统堆栈溢出 (长cookie),潜在允许执行任意命令。
自动目录列表(看到首页,和目录列表)
Netscape的WWW服务器的安全漏洞:
40位密钥加密机制不安全(被破解) 随机数发生器生成的随机数(密钥)的分布不是
HTTP的两个安全漏洞:
HTTP协议允许远程用户对服务器的通信请求, 并允许用户在远程执行命令——危及Web服 务器和客户的安全
A 随意的远程请求验证
B 随意的WEB服务器验证
C 滥用服务器资源 服务器日志, Web服务器会记录用户访问信
息,但是对其检索未加限制,泄露用户信息。
7.1.2 Web的访问控制
SSL握手协议(SSL Handshake Protocol) 它建立在SSL记录协议之上,用于在实际的 数据传输开始前,通讯双方进行身份认证、 协商加密算法、交换加密密钥等。
7.1.5 安全套接层SSL
SSL协议的功能包括:数据加密、服务器 验证、信息完整性以及可选的客户 TCP/IP连接验证。
7.1.5 安全套接层SSL
Netscape公司开发的Internet数据安全协议。
位于TCP/IP协议与各种应用层协议之间, 提 高 应 用 层 协 议 ( 如 HTTP , Telnet , NNTP,FTP等)的安全性。
广泛地用于Web浏览器与服务器之间的身 份认证和加密数据传输。
7.1.5 安全套接层SSL
7.1.6 缓存的安全性
缓存通过在本地磁盘中存储高频请求文件, 从而提高Web服务的性能。
安全缺陷 1. 如果远程服务器上的文件更新了,用户从 缓存中检索到的文件就有可能过时 2. 由于这些文件可由远程用户取得,因而可 能暴露一些公众或外部用户不能读取的信 息
解决方法
Web服务器 将远程服务器上文件的日 期与本地缓存的文件日期进行比较
7.2.1 7.2.2 7.2.3 7.2.4 7.2.5 7.2.6
WWW服务器的安全漏洞 通用网关接口(CGI)的安全性 Plug-in的安全性 Java与JavaScript的安全性 Cookies的安全性 ActiveX的安全性
NCSA(美国国家超级计算应用中心)
服务器的安全漏洞:缓冲区溢出(长URL) Apache WWW服务器的安全漏洞:
S-HTTP的目标是保证商业交易的传输安全,因 而推动了电子商务的发展。
S-HTTP使Web客户和服务器均处于安全保护之 下,其文件交换是加密(签名)的。
对多种单向散列(Hash)函数的支持, 如: MD2,MD5及SHA;
对多种对称加密体制的支持, 如:DES,RC2,RC4,CDMF;
对数字签名体制的支持, 如: RSA,DSS。
7.1.1 HTTP协议及其安全性
HTTP协议
通用的、无状态的协议。
分布式Web应用的核心技术协议,在 TCP/IP协议栈中属于应用层。
定义了Web浏览器向Web服务器发送 Web页面请求的格式,以及Web页面在 Internet上的传输方式。
通信发生在TCP/IP连接上,默认端口为 80。
客户 建立 服务器 发送 IP地址
连接
服务器
建立
反向地
DNS
域名
连接
址解析
对于不正确IP地址,Web服务器就伪造一 个域名继续工作。 一旦Web服务器获得 IP地址及相应客户的域名,便开始进行验 证,来决定客户是否有权访问请求的文档。 这其中隐含着安全漏洞:
服务器伪造域名,可能把信息发给其他 用户
上安全。
镜像
冗余的一种类型 一个磁盘上的数据在另一个磁盘上
存在一个完全相同的副本即为镜像。Fra bibliotek镜像技术
集群技术的一种。
是将建立在同一个局域网之上的两台服务器通过 软件或其他特殊的网络设备,将两台服务器的硬 盘做镜像。
其中,一台服务器被指定为主服务器,另一台为 从服务器。客户只能对主服务器上的镜像的卷进 行读写,从服务器上相应的卷被锁定以防对数据 的存取。
SSL的主要目的是增强通信应用程序之间 的保密性和可靠性。
7.1.5 SSL 与 S-HTTP
SSL由NETSCAPE开发,S-HTTP由NCSA开发。 SSL是一个通过套接层对客户和服务器之间的
通信事务进行安全处理的协议,适用于所有 TCP/IP应用; S-HTTP是HTTP的超集,只限于Web的使用。 SSL支持数据加密、来源验证和数据的完整性, 以保护在不安全的公共网络上交换的数据。
当主服务器因故障停机时,从服务器将在很短的 时间内接管主服务器的应用。
7.1.3 安全超文本传输协议S-HTTP
S-HTTP 保护Internet上所传输的敏感信息的 安全协议。 随着Internet和Web对身份验证的需 求的日益增长,用户在彼此收发加 密文件之前需要身份验证。
S-HTTP协议
电子客户对服务器存在威胁
增强服务器安全性的措施
仔细配置服务器,有效利用访问控制
以非特权用户运行WEB服务器 在WINDOWS 2000 上,检查共享的权限,最好
设置为只读。
进行服务器镜像,敏感文件放在主系统上,辅系 统不放敏感文件,并向INTERNET开放。
作好最坏打算。
检查APPLET、脚本程序、CGI程序有无漏洞 在WINDOWS 2000 上运行WEB服务器比在UNIX
SSL协议分为两层:SSL握手协议和SSL记 录协议。SSL协议与TCP/IP协议间的关系如 图:
HTTPS、FTPS、TELNETS、IMAPS SSL握手协议
SSL记录协议
TCP传输控制协议
IP因特网协议
7.1.5 安全套接层SSL
SSL记录协议(SSL Record Protocol) 它建立在可靠的传输协议(如TCP)之上, 为高层协议提供数据封装、压缩、加密等基 本功能的支持