7.4 WWW服务的双向风险

7.4 WWW 服务的双向风险
7.4.1 WWW 简介
WWW的正式定义是“WWW is a wide-area hypermedia information retrieval initiative to give universal access to large universe of documents.”
客户机和服务器
在Web中,客户机的任务是:
1.       生成一个请求
2.       将请求发送给某个服务器
3.       通过对直接图像适当的编码,呈交HTML文档,并传递各种文件给响应的Viewer,把请求所得到的结果报告给用户。
一个Web服务器的任务是:
1.       接受请求
2.       请求的合法性检查,包括安全性屏蔽。
3.       针对请求获取并制作数据,包括Java脚本和程序、CGI脚本和程序、为文本设置适当的MIME类型来对数据进行前期处理和后期处理。
4.       把信息发给提出请求的客户机。
 
超文本是指不局限于线性方式的文本。也就是说,超文本文档的部分甚至全部也许都是线性的,但也可能都是非线性的。超文本通过链接或引用其他文本的方式突破了线性方式的局限性,超文本是超媒体的一个子集。超媒体是指一种媒体(如文本、图片、声音、视频录像等),它与其他媒体以非线性方式链接而成。
 
HTML 的产生和WWW 的发行
HTML(Hypertext Markup Language)是一种用来传输和呈现超文本文档的开放性语言。它是标准通用语言SGML(Standard Generalized Markup Language)的一个子集,SGML早已被证明为是开放式的语言。
用于操纵HTML和其他WWW文档的协议被称为超文本传输协议HTTP(Hypertext Transfer Protocol)。遵照Internet的习惯,几乎所有的协议名称都以TP结尾。
HTTP使用了统一资源定位器URL(Uniform Resource Locator)这一概念。在URL概念背后由一个基本思想,那就是提供一定信息条件,用户应该能在Internet上的任何一台服务器上访问任何可用的公共数据。这些一定的信息由以下的URL基本部分组成。
·所使用的访问协议
·数据所在的机器
·请求数据的数据源端口
·通向数据的路径
·包含了所需数据的文件名称
URL的标准格式如下:
Protocol://machineaddress:port/path/filename
 
从NCSA的Mosaic到Netscape看浏览器的发展
Mosaic浏览器于 1993年2月发布。许多计算机专家提出了新建议,使得HTML和WWW得到了飞速发展。NCSA小组详细地研究了MIME类型的使用,以便识别一些媒体的格式。
在 HTML中加入IMG标签后,Mosaic成了真正的多媒体浏览器。由此,Web也变得成熟。
 
 
7.4.2 Web 安全分析
Web 访问身份验证机制
很多网站使用存放在数据库中的用户名和口令来验证用户,但是这种身份验证有很大的问题,只要用户验证成功一次,就可以记录下资源的地址,在下一次访问的时候只需输入该地址,而无需再次通过身份验证。
推荐使用 Web服务器集成的验证,这样的验证是基于系统的,而不是Web程序的。
 
 
7.4.3 用SSL构建一个安全的Web Server
网络上以明文传递敏感信息是相当不安全的,因此 SSL提供了一种加密手段,在底层为上层协议提供服务和加密方案,因此当用户在以HTTP协议传输数据时,窥探者将难以获取数据,当然加密只是在传输过程中,对用户是完全透明的。
IIS 安全防护
1.利用现有的 Windows NT安全性能保护IIS
( 1)设置账户权限
( 2)记录IIS的活动
( 3)通过目录安全性设置,限制或允许某些IP对服务器的访问
2.IIS的一般性安全提示
( 1)为系统分区和各项IIS服务程序生成分开的分区,这样,黑客无法轻易地从某项服务程序的某个漏洞对整个机器访问
( 2)对机器的所有分区使用NTFS委托关系。如果黑客能得到某个有效账户的信息,也无法对你的用户域进行访问,前提是设置了正确的权限。
( 3)将IIS服务器放置于其自己的域中,并与你的账号建立一种单向访问。
( 4)为各项Internet服务使用单独账户,这样使得跟踪用户变得容易。
( 5)再三检查为指定进行匿名访问账户分配的权限。需要给用户分配最小的权限,通常是读许可权。
( 6)只在你的IIS机器上存储非机密信息,并将信息放置在防火墙内。这样,如果信息安全性遭到破坏,黑客扔必须穿越防火墙。
( 7)在服务器上使用TCP/IP筛选功能,只允许连接到你需要支持IIS服务的端口。
( 8)如果用户利用非匿名账户对服务器进行访问,必须通过加密口令进行验证。
 
以Windows NT/2000的安全机制为基础
 
1.应用 NTFS文件系统
2.共享权限的修改
默认情况下,每建立一个共享,其 everyone用户就能享有“完全控制”的共享权限。因此,需要修改。
    3.为系统管理员账号更名
4.废止 TCP/IP上的NetBIOS
 
设置IIS的安全机制
1.安装时应注意的安全问题
( 1)避免安装在主域控制器上
安装 IIS后,会建立IUSR_ComputerName的账户,该账户被添加到域用户组中,从而把应用于域用户组的访问权限提供给了Web服务器的每个匿名用户。因此要尽量避免把IIS安装在域控制器上,特别是主域控制器。
( 2)避免安装在系统分区上
容易让非法用户入侵。
2.用户控制的安全性
( 1)匿名用户
安装 IIS后产生的匿名用户IUSR_ComputerName,其匿名访问给Web服务器带来潜在的安全威胁。如无需匿名访问,可以取消Web的匿名服务。
( 2)一般用户
通过使用复杂口令,提高修改密码的频率,封锁失败的登录尝试以及账户生存期等对一般用户进行管理。
3.登录认证的安全性
IIS服务器提供对用户三种形式的身份认证
·匿名访问
·基本验证
在此方式下,用户输入的用户名和口令以明文方式在网上传播,容易被窃听
· Windows NT/2000请求/响应方式
浏览器通过加密方式与 IIS服务器进行交流,有效地放置了窃听者,是安全性比较高的认证方式。这种方式只有IE3.0以上版本才支持。
4.访问权限控制
( 1)文件和文件夹的访问权限,指不包括WWW目录的其他文件夹
( 2)WWW目录的访问权限
5.IP地址的控制
IIS可以设置允许或拒绝从特定 IP发来的服务请求。
6.端口安全性的实现
对 IIS而言,WWW、FTP、NNTP、SMTP等都有各自的监听端口接收浏览器的请求。如果修改了端口号,则只有知道的用户才能访问。
7.IP转发的安全性
在『网络属性』中,禁用“路由选择”
8.SSL安全机制
IIS的身份认证除了匿名机制、基本验证和 Windows NT/2000请求/响应方式外,还有一种安全性更好的认证:通过SSL(Security Socket Layer)安全机制使用数字证书。
SSL位于 HTTP与TCP层之间,用于建立用户与服务器之间的加密通信,确保所传递的信息的安全性。SSL工作在公共密钥和私人密钥基础上,任何用户都可以获得公共密钥来加密数据,但解密数据必须要通过相应的私人密钥。
使用 SSL时安全机制,首先在客户端与服务器之间建立连接,服务器把它的数字证书和公共密钥发送给客户端,客户端随机生成会话密钥,用从服务器得到的公共密钥对绘画密钥进行加密,并把会话密钥上传给服务器,而会话密钥只有在服务器端用私人密钥才能解密。这样,客户端和服务器建立了一个惟一的安全通道。
 
Web 安全性的综合策略
Web服务器上的漏洞可以从以下几方面考虑。
( 1)在Web服务器上不允许访问的秘密文件、目录或重要数据
( 2)从远程用户向服务器发送信息时,特别是信用卡之类的东西,中途遭拦截。
( 3)Web服务器本身存在一些漏洞。
( 4)CGI安全方面的漏洞:
①有意或无意在主机系统中遗漏 Bugs,给非法用户创造条件。
②用 CGI脚本编写的程序当涉及到远程用户从浏览器输入Form并进行检索之类在主机上执行操作的命令时,或许会给Web主机系统造成危险。
因此 CGI主要是在编制时,详细考虑安全因素,尽量避免CGI程序中存在漏洞。
 
如何在Web上提高系统安全性和稳定性
( 1)限制在Web服务器开账户,定期删除一些中断进程的用户。
( 2)对在Web服务器上开的账户,再口令长度及定期更改方面做出要求,防止被盗用。
( 3)尽量使FTP、Mail等服务器与之分开,去掉FTP、Sendmail、TFTP、NIS、NFS、Finger、Netstat等一些无关的应用。
( 4)在Web服务器上去掉一些绝对不用的Shell之类的解释器,即在CGI的程序中没用到Perl时,就尽量把Perl在系统解释器中删除。
( 5)定期察看服务其中的日志文件,分析一切可疑事件。在errorlog中出现rm、login、/bin/perl、/bin/sh等记录时,服务器可能受到一些非法用户的入侵尝试。
( 6)设置好Web服务器上系统文件的权限和属性,对让人访问的文档分配一个公共的组,并之分配只读权利。
( 7)当有些Web服务器把Web的文档目录与FTP目录指在同一目录时,应该注意不要把FTP的目录与CGI-BIN指定在一个目录之下。
( 8)通过限制许可访问用户IP或DNS。
 
采用编译语言要比解释语言更安全些,防止一些非法访问者从浏览器取得解释性语言的源码后从中寻找漏洞。
 
Web 服务器常见漏洞介绍
1.物理路径泄漏
2.CGI源码泄漏
3.目录遍历
4.执行任意命令
5.缓冲区溢出
6.拒绝服务
 
 
7.4.4 WWW 服务的双向风险
防范网页黑手——Script、Cookies
格式化硬盘:通过给 format.com和deltree.exe改名
耗尽内存资源(打开死循环过程):直接 Alt+F4关闭当前窗口,或使用任务管理器
非法读取文件:禁用 JavaScript功能
过滤指定网页:使用 IE的分级审查功能
卸载或升级 WSH(Windows Script Host)
使用软件监控注册表( RegShot、RegSnap等)
删除 Cookies确保安全
 
 
7.4.5 Web 服务器的通用日志格式
   
Remotehost
RFC931
Authuser
[date]
“request”
status
bytes
 
如果当其中某些部分没有内容,则用连字符代替。
Remotehost
远程主机名。(如不能获取 DNS名称,用IP地址代替)
RFC931
远程用户登录名。
Ahtuuser
认证用户的名称。在对网页进行保护的时候使用。
[date]
请求的日期和时间,采用如下格式:
    Date=[day/month/year:hour:minute:second zone]
    Day=2*digit
    Month=3*letter
    Year=4*digit
    Hour=2*digit
Second=2*digit
Zone=(‘+’|’-’)4*digit
“request”
客户端请求的命令(包括文件名称,请求的方法)
Status
返回给客户的状态码。
Bytes
返回的字节数,不包括头信息。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值