您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 网络安全第7章Web的安全
第7章Web的安全7.1Web安全概述7.1.1Internet的脆弱性Web是建立在Internet上的典型服务,所以,Internet的安全是web安全的前提和基础。Internet的安全隐患主要表现在:(1)Internet的无边界性为黑客进行跨国攻击提供了有利的条件,他们足不出户就可以对世界上任何角落的主机进行攻击和破坏。(2)Internet虚拟的“自由、民主、平等”观念容易使人轻易接受,不同的社会意识形态很容易相互渗透。这些因素为Internet的应用埋下了安全隐患。7.1.1Internet的脆弱性(3)Internet没有确定用户真实身份的有效方法,通过IP地址识别和管理网络用户的机制是不可靠的,存在着严重的安全漏洞,容易被欺骗。(4)Internet是分布式的网络,不存在中央监控管理机制,也没有完善的法律和法规,因此无法对Internet犯罪进行有效地处理。(5)Internet本身没有审计和记录功能,对发生的事情没有记录,这本身也是一个安全隐患。(6)Internet从技术上来讲是开放的,是基于可信、友好的前提设计的,是为君子设计而不防小人的。7.1.2Web的安全问题1.影响Web安全的因素(1)由于Web服务器存在的安全漏洞和复杂性,使得依赖这些服务器的系统经常面临一些无法预测的风险。Web站点的安全问题可能涉及与它相连的内部局域网,如果局域网和广域网相连,还可能影响到广域网上其他的组织。另外,Web站点还经常成为黑客攻击其他站点的跳板。随着Internet的发展,缺乏有效安全机制的Web服务器正面临着成千上万种计算机病毒的威胁。Web使得服务器的安全问题显得更加重要。1.影响Web安全的因素(2)Web程序员由于工作失误或者程序设计上的漏洞,也可能造成Web系统的安全缺陷,这些缺陷可能被一些心怀不满的员工、网络间谍或入侵者所利用。因此,在Web脚本程序的设计上,提高网络编程质量,也是提高Web安全性的重要方面。(3)用户是通过浏览器和Web站点进行交互的,由于浏览器本身的安全漏洞,使得非法用户可以通过浏览器攻击Web站点,这也是需要警惕的一个重要方面。(1)未经授权的存取动作。由于操作系统等方面的漏洞,使得未经授权的用户可以获得Web服务器上的秘密文件和数据,甚至可以对数据进行修改、删除,这是Web站点的一个严重的安全问题。(2)窃取系统的信息。用户侵入系统内部,获取系统的一些重要信息,并利用这些系统信息,达到进一步攻击系统的目的。(3)破坏系统。指对网络系统、操作系统、应用程序进行非法使用,使得他们能够修改或破坏系统。(4)病毒破坏。目前,Web站点面临着各种各样病毒的威胁,使得本不平静的网络变得更加动荡不安。2.Web中的安全问题7.2.1Web服务器存在的漏洞Web服务器存在的主要漏洞包括物理路径泄露,目录遍历,执行任意命令,缓冲区溢出,拒绝服务,SQL注入,条件竞争和CGI漏洞。无论是什么漏洞,都体现着安全是一个整体,考虑Web服务器的安全性,必须要考虑到与之相配合的操作系统。7.2Web服务器的安全1.物理路径泄露物理路径泄露一般是由于Web服务器处理用户请求出错导致的,如通过提交一个超长的请求,或者是某个精心构造的特殊请求,或是请求一个Web服务器上不存在的文件。这些请求都有一个共同特点,那就是被请求的文件肯定属于CGI脚本,而不是静态HTML页面。还有一种情况,就是Web服务器的某些显示环境变量的程序错误的输出了Web服务器的物理路径,这通常是设计上的问题。2.目录遍历目录遍历对于Web服务器来说并不多见,通过对任意目录附加“../”,或者是在有特殊意义的目录附加“../”,或者是附加“../”的一些变形,如“..”或“..//”甚至其编码,都可能导致目录遍历。前一种情况并不多见,但是后面的几种情况就常见得多,曾经非常流行的IIS二次解码漏洞和Unicode解码漏洞都可以看作是变形后的编码。3.执行任意命令执行任意命令即执行任意操作系统命令,主要包括两种情况:一是通过遍历目录,如前面提到的二次解码和UNICODE解码漏洞,来执行系统命令。另外一种就是Web服务器把用户提交的请求作为SSI指令解析,因此导致执行任意命令。4.缓冲区溢出缓冲区溢出漏洞是非常常见的,通常是Web服务器没有对用户提交的超长请求没有进行合适的处理,这种请求可能包括超长URL,超长HTTPHeader域,或者是其它超长的数据。这种漏洞可能导致执行任意命令或者是拒绝服务,这一般取决于构造的数据。5.SQL注入SQL注入的漏洞是在编程过程中造成的。后台数据库允许动态SQL语句的执行。前台应用程序没有对用户输入的数据或者页面提交的信息(如GET)进行必要的安全检查。这是由于数据库自身的特性,与web程序的编程语言无关。几乎所有的关系数据库系统和相应的SQL语言都面临SQL注入的潜在威胁。6.拒绝服务拒绝服务产生的原因多种多样,主要包括超长URL,特殊目录,超长HTTPHeader域,畸形HTTPHeader域或者是DOS设备文件等。由于Web服务器在处理这些特殊请求时不知所措或者是处理方式不当,因此出错终止或挂起。7.条件竞争这里的条件竞争主要针对一些管理服务器而言,这类服务器一般是以System或Root身份运行的。当它们需要使用一些临时文件,而在对这些文件进行写操作之前,却没有对文件的属性进行检查,一般可能导致重要系统文件被重写,甚至获得系统控制权。8.CGI漏洞通过CGI脚本存在的安全漏洞,比如暴露敏感信息、缺省提供的某些正常服务未关闭、利用某些服务漏洞执行命令、应用程序存在远程溢出、非通用CGI程序的编程漏洞等。1.Windows2000Server下Web服务器的安全配置(1)目录规划与安装安装前要对Web目录进行规划,系统文件和应用文件要分别放在不同的分区上,而且不要以默认的方式安装;在安装的过程中系统文件不要安装在安装时显示的默认路径上。由于IIS存在许多漏洞,容易受到黑客的攻击,所以不要把IIS安装到(主)域控制器上。7.2.2Web服务器的安全配置1.Windows2000Server下Web服务器的安全配置(2)用户控制对于普通用户来讲其安全性可以通过相应的“安全策略”来加强对他们的管理,约束其属性和行为。值得注意的是在IIS安装完以后会自动生成一个匿名账号IUSE_Computer_name,而匿名访问Web服务器应该被禁止,否则会带来一定的安全隐患。禁止的方法:启动“Internet服务管理器”;在Web站点属性页的“目录安全性”选项卡中单击“匿名访问和验证”;然后单击“编辑(E)”按钮打开“验证方法”对话框(如下图所示);在该对话框中去掉“匿名访问”前的“√”即可。1.Windows2000Server下Web服务器的安全配置(3)登录认证IIS服务器提供了匿名访问、基本验证和集成Windows验证三种登录方式。其中匿名访问是被禁止的。在实际应用中,用户可以根据不同的安全需求选择不同的IIS登录认证方式。(4)访问权限控制1)NTFS文件系统的访问控制Web服务应建立在NTFS格式之上,一方面可以容易实现其访问权限的控制,对不同的用户和组授予不同的访问权限;另一方面还可以有效利用NTFS文件系统的审核功能,如下图所示。1.Windows2000Server下Web服务器的安全配置1.Windows2000Server下Web服务器的安全配置2)Web目录的访问权限控制对Web目录的文件夹,可以通过操作Web站点属性页实现对Web目录访问权限的控制,而该目录下的所有文件和文件夹都将继承这些安全性设置。在“Internet服务管理器”中,打开“Web站点”的属性对话框,如下图所示。Web服务除了提供NTFS权限外,还提供读取权限和执行权限。读取权限允许用户读取或下载Web目录中的文件,执行权限允许用户运行Web目录中的程序和脚本。1.Windows2000Server下Web服务器的安全配置1.Windows2000Server下Web服务器的安全配置(5)IP地址控制IIS可以设置允许或拒绝从特定IP地址发来的服务请求,有选择地允许特定节点的用户访问Web服务。在Web站点属性页的“目录安全性”选项卡中单击“IP地址及域名限制”中的“编辑(I)”按钮打开如下图所示的“IP地址及域名限制”对话框,即可对限制的情况进行设置。1.Windows2000Server下Web服务器的安全配置1.Windows2000Server下Web服务器的安全配置(6)端口控制对于IIS服务来讲,无论是Web服务、FTP服务,还是SMTP服务,都有各自的TCP端口号用来监听和接收用户浏览器发出的请求。在实际应用中可以通过修改默认端口号的方法来提高IIS服务器的安全性。修改Web站点TCP端口号的方法为:如下图所示,打开默认Web站点的属性对话框,可以直接把“TCP端口(T)”选项后面的输入框中的内容“80”改为其它的数值。1.Windows2000Server下Web服务器的安全配置1.Windows2000Server下Web服务器的安全配置1.Windows2000Server下Web服务器的安全配置(7)安全通信机制IIS身份认证方式除了匿名用户、基本验证、集成Windows验证以外,还有一种安全性更高的认证方式——数字证书。在“目录安全性”对话框中单击“服务器证书”按钮,按向导提示就可以很容易地申请到数字证书。Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。相传有一个武士阿帕奇,他英勇善战,且战无不胜,被印第安人奉为勇敢和胜利的代表,因此后人便用他的名字为部落命名,而阿帕奇族在印第安史上也以强悍著称。1975年,美国休斯直升机公司研制的反坦克武装直升机,也命名为阿帕奇武装直升机。Apache软件基金会(ApacheSoftwareFoundation,简称为ASF),是专门为运作一个开源软件项目的Apache的团体提供支持的非盈利性组织,这个开源软件项目就是Apache项目,他们推出的Web服务器很出名。Apache是世界使用排名第一的Web服务器软件,它可以运行在几乎所有广泛使用的计算机平台上,其特点是简单、速度快、性能稳定,并可做代理服务器来使用。2.Linux下Web服务器的安全配置2.Linux下Web服务器的安全配置ApacheServe的前身是NCSA的httpd,曾经在1995年成为最为流行的万维网的服务器。因为强大的功能和灵活的设置及平台移植性,ApacheServer取得了广泛的信赖。ApacheServer的主要功能有:支持最新的HTTP1.1协议(RFC2616)。极强的可配置和可扩展性,充分利用第三方模快的功能。提供全部的源代码和不受限制的使用许可(License)。广泛应用于Windows2000/NT/9x、Netware5.x,OS/2和UNIX家族及其他操作系统,所支持的平台多达17余种。2.Linux下Web服务器的安全配置ApacheServer功能强大,涵盖了用户的各种需求,包括:认证中的DBM数据库支持;错误和问题的可定制响应的目录导向功能;不受限的灵活的URL别名机制和重定向功能;虚拟主机(多宿主主机)支持多个域主页共存一台主机;超强的日志文件功能;利用站点的分析;拓展与维护等等。正因为这些强大的优势,使ApacheServer与其他的Web服务器相比,充分展示了高效、稳定及功能丰富的特点。ApacheServer已用于超过600万个Internet站点。2.Linux下Web服务器的安全配置(1)Apache服务器的安全特性1)采用自主访问控制和强制性访问控制的安全策略从Apache或Web的角度来讲,选择性访问控制DAC(DiscretionaryAccessControl)仍是基于用户名和密码的,强制性访问控制MAC(MandatoryAcce
本文标题:网络安全第7章Web的安全
链接地址:https://www.777doc.com/doc-1268361 .html