1、第第7 7章章WebWeb的安全的安全7.17.1WebWeb安全概述安全概述7.1.17.1.1InternetInternet的脆弱性的脆弱性WebWeb是建立在是建立在InternetInternet上的典型服务,所以,上的典型服务,所以,InternetInternet的安全是的安全是webweb安全的前提和基础。安全的前提和基础。InternetInternet的安全隐患主要表现在:的安全隐患主要表现在:(1 1)InternetInternet的无边界性为黑客进行跨国攻击的无边界性为黑客进行跨国攻击提供了有利的条件,他们足不出户就可以对世界提供了有利的条件,他们足不出户就可以对世界
2、上任何角落的主机进行攻击和破坏。上任何角落的主机进行攻击和破坏。(2 2)InternetInternet虚拟的虚拟的“自由、民主、平等自由、民主、平等”观观念容易使人轻易接受,不同的社会意识形态很容念容易使人轻易接受,不同的社会意识形态很容易相互渗透。这些因素为易相互渗透。这些因素为InternetInternet的应用埋下了的应用埋下了安全隐患。安全隐患。7.1.17.1.1InternetInternet的脆弱性的脆弱性(3 3)InternetInternet没有确定用户真实身份的有效方法,通过没有确定用户真实身份的有效方法,通过IPIP地址识别和管理网络用户的机制是不可靠的,存在着地
3、址识别和管理网络用户的机制是不可靠的,存在着严重的安全漏洞,容易被欺骗。严重的安全漏洞,容易被欺骗。(4 4)InternetInternet是分布式的网络,不存在中央监控管理机是分布式的网络,不存在中央监控管理机制,也没有完善的法律和法规,因此无法对制,也没有完善的法律和法规,因此无法对InternetInternet犯犯罪进行有效地处理。罪进行有效地处理。(5 5)InternetInternet本身没有审计和记录功能,对发生的事情本身没有审计和记录功能,对发生的事情没有记录,这本身也是一个安全隐患。没有记录,这本身也是一个安全隐患。(6 6)InternetInternet从技术上来讲是
4、开放的,是基于可信、友从技术上来讲是开放的,是基于可信、友好的前提设计的,是为君子设计而不防小人的。好的前提设计的,是为君子设计而不防小人的。7.1.27.1.2WebWeb的安全问题的安全问题 1 1影响影响WebWeb安全的因素安全的因素 (1 1)由于)由于WebWeb服务器存在的安全漏洞和复杂性,服务器存在的安全漏洞和复杂性,使得依赖这些服务器的系统经常面临一些无法预测的使得依赖这些服务器的系统经常面临一些无法预测的风险。风险。WebWeb站点的安全问题可能涉及与它相连的内部站点的安全问题可能涉及与它相连的内部局域网,如果局域网和广域网相连,还可能影响到广局域网,如果局域网和广域网相连
5、,还可能影响到广域网上其他的组织。另外,域网上其他的组织。另外,WebWeb站点还经常成为黑客站点还经常成为黑客攻击其他站点的跳板。随着攻击其他站点的跳板。随着InternetInternet的发展,缺乏有的发展,缺乏有效安全机制的效安全机制的WebWeb服务器正面临着成千上万种计算机服务器正面临着成千上万种计算机病毒的威胁。病毒的威胁。WebWeb使得服务器的安全问题显得更加重使得服务器的安全问题显得更加重要。要。1 1影响影响WebWeb安全的因素安全的因素 (2 2)WebWeb程序员由于工作失误或者程序设计上程序员由于工作失误或者程序设计上的漏洞,也可能造成的漏洞,也可能造成WebWe
6、b系统的安全缺陷,这些缺系统的安全缺陷,这些缺陷可能被一些心怀不满的员工、网络间谍或入侵陷可能被一些心怀不满的员工、网络间谍或入侵者所利用。因此,在者所利用。因此,在WebWeb脚本程序的设计上,提高脚本程序的设计上,提高网络编程质量,也是提高网络编程质量,也是提高WebWeb安全性的重要方面。安全性的重要方面。(3 3)用户是通过浏览器和)用户是通过浏览器和WebWeb站点进行交互的,站点进行交互的,由于浏览器本身的安全漏洞,使得非法用户可以由于浏览器本身的安全漏洞,使得非法用户可以通过浏览器攻击通过浏览器攻击WebWeb站点,这也是需要警惕的一个站点,这也是需要警惕的一个重要方面。重要方面
7、。(1 1)未经授权的存取动作。由于操作系统等方面的)未经授权的存取动作。由于操作系统等方面的漏洞,使得未经授权的用户可以获得漏洞,使得未经授权的用户可以获得WebWeb服务器上的秘服务器上的秘密文件和数据,甚至可以对数据进行修改、删除,这是密文件和数据,甚至可以对数据进行修改、删除,这是WebWeb站点的一个严重的安全问题。站点的一个严重的安全问题。(2 2)窃取系统的信息。用户侵入系统内部,获取系)窃取系统的信息。用户侵入系统内部,获取系统的一些重要信息,并利用这些系统信息,达到进一步统的一些重要信息,并利用这些系统信息,达到进一步攻击系统的目的。攻击系统的目的。(3 3)破坏系统。指对网
8、络系统、操作系统、应用程)破坏系统。指对网络系统、操作系统、应用程序进行非法使用,使得他们能够修改或破坏系统。序进行非法使用,使得他们能够修改或破坏系统。(4 4)病毒破坏。目前,)病毒破坏。目前,WebWeb站点面临着各种各样病毒站点面临着各种各样病毒的威胁,使得本不平静的网络变得更加动荡不安。的威胁,使得本不平静的网络变得更加动荡不安。2 2WebWeb中的安全问题中的安全问题 7.2.1 7.2.1WebWeb服务器存在的漏洞服务器存在的漏洞 WebWeb服务器存在的主要漏洞包括物理路径泄露,服务器存在的主要漏洞包括物理路径泄露,目录遍历,执行任意命令,缓冲区溢出,拒绝服目录遍历,执行任
9、意命令,缓冲区溢出,拒绝服务,务,SQLSQL注入,条件竞争和注入,条件竞争和CGICGI漏洞。漏洞。无论是什么漏洞,都体现着安全是一个整体,无论是什么漏洞,都体现着安全是一个整体,考虑考虑WebWeb服务器的安全性,必须要考虑到与之相配服务器的安全性,必须要考虑到与之相配合的操作系统。合的操作系统。7.27.2WebWeb服务器的安全服务器的安全1.1.物理路径泄露物理路径泄露n物理路径泄露一般是由于物理路径泄露一般是由于WebWeb服务器处理用户请求出服务器处理用户请求出错导致的,如通过提交一个超长的请求,或者是某错导致的,如通过提交一个超长的请求,或者是某个精心构造的特殊请求,或是请求一
10、个个精心构造的特殊请求,或是请求一个WebWeb服务器上服务器上不存在的文件。这些请求都有一个共同特点,那就不存在的文件。这些请求都有一个共同特点,那就是被请求的文件肯定属于是被请求的文件肯定属于CGICGI脚本,而不是静态脚本,而不是静态HTMLHTML页面。页面。n还有一种情况,就是还有一种情况,就是WebWeb服务器的某些显示环境变量服务器的某些显示环境变量的程序错误的输出了的程序错误的输出了WebWeb服务器的物理路径,这通常服务器的物理路径,这通常是设计上的问题。是设计上的问题。2.2.目录遍历目录遍历n目录遍历对于目录遍历对于WebWeb服务器来说并不多见,通过对任意服务器来说并不
11、多见,通过对任意目录附加目录附加“./”./”,或者是在有特殊意义的目录附加,或者是在有特殊意义的目录附加“./”./”,或者是附加,或者是附加“./”./”的一些变形,如的一些变形,如“.”.”或或“./”./”甚至其编码,都可能导致目录遍历。甚至其编码,都可能导致目录遍历。n前一种情况并不多见,但是后面的几种情况就常见前一种情况并不多见,但是后面的几种情况就常见得多,曾经非常流行的得多,曾经非常流行的IISIIS二次解码漏洞和二次解码漏洞和UnicodeUnicode解码漏洞都可以看作是变形后的编码。解码漏洞都可以看作是变形后的编码。3.3.执行任意命令执行任意命令n执行任意命令即执行任意
12、操作系统命令,执行任意命令即执行任意操作系统命令,主要包括两种情况:主要包括两种情况:n一是通过遍历目录,如前面提到的二次解一是通过遍历目录,如前面提到的二次解码和码和UNICODEUNICODE解码漏洞,来执行系统命令。解码漏洞,来执行系统命令。n另外一种就是另外一种就是WebWeb服务器把用户提交的请求服务器把用户提交的请求作为作为SSISSI指令解析,因此导致执行任意命令。指令解析,因此导致执行任意命令。4.4.缓冲区溢出缓冲区溢出n缓冲区溢出漏洞是非常常见的,通常是缓冲区溢出漏洞是非常常见的,通常是WebWeb服服务器没有对用户提交的超长请求没有进行合务器没有对用户提交的超长请求没有进
13、行合适的处理,这种请求可能包括超长适的处理,这种请求可能包括超长URLURL,超长,超长HTTP HeaderHTTP Header域,或者是其它超长的数据。域,或者是其它超长的数据。n这种漏洞可能导致执行任意命令或者是拒绝这种漏洞可能导致执行任意命令或者是拒绝服务,这一般取决于构造的数据。服务,这一般取决于构造的数据。5.SQL5.SQL注入注入nSQLSQL注入的漏洞是在编程过程中造成的。注入的漏洞是在编程过程中造成的。n后台数据库允许动态后台数据库允许动态SQLSQL语句的执行。语句的执行。n前台应用程序没有对用户输入的数据或者页面提交前台应用程序没有对用户输入的数据或者页面提交的信息的
14、信息(如如 GET)GET)进行必要的安全检查。进行必要的安全检查。n这是由于数据库自身的特性,与这是由于数据库自身的特性,与webweb程序的编程语程序的编程语言无关。言无关。n几乎所有的关系数据库系统和相应的几乎所有的关系数据库系统和相应的SQLSQL语言都面语言都面临临SQLSQL注入的潜在威胁。注入的潜在威胁。6.6.拒绝服务拒绝服务n拒绝服务产生的原因多种多样,主要包括超拒绝服务产生的原因多种多样,主要包括超长长URLURL,特殊目录,超长,特殊目录,超长HTTP HeaderHTTP Header域,畸域,畸形形HTTP HeaderHTTP Header域或者是域或者是DOSDO
15、S设备文件等。设备文件等。n由于由于WebWeb服务器在处理这些特殊请求时不知所服务器在处理这些特殊请求时不知所措或者是处理方式不当,因此出错终止或挂措或者是处理方式不当,因此出错终止或挂起。起。7.7.条件竞争条件竞争n这里的条件竞争主要针对一些管理服务器而言,这里的条件竞争主要针对一些管理服务器而言,这类服务器一般是以这类服务器一般是以SystemSystem或或RootRoot身份运行的。身份运行的。n当它们需要使用一些临时文件,而在对这些文当它们需要使用一些临时文件,而在对这些文件进行写操作之前,却没有对文件的属性进行件进行写操作之前,却没有对文件的属性进行检查,一般可能导致重要系统文
16、件被重写,甚检查,一般可能导致重要系统文件被重写,甚至获得系统控制权。至获得系统控制权。8.CGI8.CGI漏洞漏洞n通过通过CGICGI脚本存在的安全漏洞,比如暴露敏感脚本存在的安全漏洞,比如暴露敏感信息、缺省提供的某些正常服务未关闭、利信息、缺省提供的某些正常服务未关闭、利用某些服务漏洞执行命令、应用程序存在远用某些服务漏洞执行命令、应用程序存在远程溢出、非通用程溢出、非通用CGICGI程序的编程漏洞等。程序的编程漏洞等。1 1Windows2000 ServerWindows2000 Server下下WebWeb服务器的安全配置服务器的安全配置 (1 1)目录规划与安装)目录规划与安装
17、安装前要对安装前要对WebWeb目录进行规划,系统文件和应用目录进行规划,系统文件和应用文件要分别放在不同的分区上,而且不要以默认的文件要分别放在不同的分区上,而且不要以默认的方式安装;在安装的过程中系统文件不要安装在安方式安装;在安装的过程中系统文件不要安装在安装时显示的默认路径上。由于装时显示的默认路径上。由于IISIIS存在许多漏洞,容存在许多漏洞,容易受到黑客的攻击,所以不要把易受到黑客的攻击,所以不要把IISIIS安装到(主)域安装到(主)域控制器上。控制器上。7.2.27.2.2WebWeb服务器的安全配置服务器的安全配置1.Windows2000 Server1.Windows2
18、000 Server下下WebWeb服务器的安全配置服务器的安全配置 (2 2)用户控制)用户控制 对于普通用户来讲其安全性可以通过相应的对于普通用户来讲其安全性可以通过相应的“安全策安全策略略”来加强对他们的管理,约束其属性和行为。值得注意来加强对他们的管理,约束其属性和行为。值得注意的是在的是在IISIIS安装完以后会自动生成一个匿名账号安装完以后会自动生成一个匿名账号IUSE_Computer_nameIUSE_Computer_name,而匿名访问,而匿名访问WebWeb服务器应该被禁止服务器应该被禁止,否则会带来一定的安全隐患。,否则会带来一定的安全隐患。禁止的方法:启动禁止的方法:
19、启动“InternetInternet服务管理器服务管理器”;在;在WebWeb站点属性页的站点属性页的“目录安全性目录安全性”选项卡中单击选项卡中单击“匿名访问和匿名访问和验证验证”;然后单击;然后单击“编辑编辑(E)”(E)”按钮打开按钮打开“验证方法验证方法”对对话框(如下图所示);在该对话框中去掉话框(如下图所示);在该对话框中去掉“匿名访问匿名访问”前前的的“”即可。即可。1.Windows2000 Server1.Windows2000 Server下下WebWeb服务器的安全配置服务器的安全配置 (3 3)登录认证)登录认证 IISIIS服务器提供了匿名访问、基本验证和集成服务器
20、提供了匿名访问、基本验证和集成WindowsWindows验证三种登录方式。其中匿名访问是被禁止的。验证三种登录方式。其中匿名访问是被禁止的。在实际应用中,用户可以根据不同的安全需求选择不在实际应用中,用户可以根据不同的安全需求选择不同的同的IISIIS登录认证方式。登录认证方式。(4 4)访问权限控制)访问权限控制 1 1)NTFSNTFS文件系统的访问控制文件系统的访问控制 WebWeb服务应建立在服务应建立在NTFSNTFS格式之上,一方面可以容易格式之上,一方面可以容易实现其访问权限的控制,对不同的用户和组授予不同实现其访问权限的控制,对不同的用户和组授予不同的访问权限;另一方面还可以
21、有效利用的访问权限;另一方面还可以有效利用NTFSNTFS文件系统文件系统的审核功能,如下图所示。的审核功能,如下图所示。1.Windows2000 Server1.Windows2000 Server下下WebWeb服务器的安全配置服务器的安全配置1.Windows2000 Server1.Windows2000 Server下下WebWeb服务器的安全配置服务器的安全配置 2 2)WebWeb目录的访问权限控制目录的访问权限控制 对对WebWeb目录的文件夹,可以通过操作目录的文件夹,可以通过操作WebWeb站点站点属性页实现对属性页实现对WebWeb目录访问权限的控制,而该目录目录访问权
22、限的控制,而该目录下的所有文件和文件夹都将继承这些安全性设置。下的所有文件和文件夹都将继承这些安全性设置。在在“InternetInternet服务管理器服务管理器”中,打开中,打开“WebWeb站站点点”的属性对话框,如下图所示。的属性对话框,如下图所示。WebWeb服务除了提服务除了提供供NTFSNTFS权限外,还提供读取权限和执行权限。读权限外,还提供读取权限和执行权限。读取权限允许用户读取或下载取权限允许用户读取或下载WebWeb目录中的文件,执目录中的文件,执行权限允许用户运行行权限允许用户运行WebWeb目录中的程序和脚本。目录中的程序和脚本。1.Windows2000 Serve
23、r1.Windows2000 Server下下WebWeb服务器的安全配置服务器的安全配置1.Windows2000 Server1.Windows2000 Server下下WebWeb服务器的安全配置服务器的安全配置 (5 5)IPIP地址控制地址控制IISIIS可以设置允许或拒绝从特定可以设置允许或拒绝从特定IPIP地址发地址发来的服务请求,有选择地允许特定节点的用来的服务请求,有选择地允许特定节点的用户访问户访问WebWeb服务。服务。在在WebWeb站点属性页的站点属性页的“目录安全性目录安全性”选项选项卡中单击卡中单击“IPIP地址及域名限制地址及域名限制”中的中的“编辑编辑(I I
24、)”按钮打开如下图所示的按钮打开如下图所示的“IPIP地址及域地址及域名限制名限制”对话框,即可对限制的情况进行设对话框,即可对限制的情况进行设置。置。1.Windows2000 Server1.Windows2000 Server下下WebWeb服务器的安全配置服务器的安全配置1.Windows2000 Server1.Windows2000 Server下下WebWeb服务器的安全配置服务器的安全配置 (6 6)端口控制)端口控制 对于对于IISIIS服务来讲,无论是服务来讲,无论是WebWeb服务、服务、FTPFTP服务,还服务,还是是SMTPSMTP服务,都有各自的服务,都有各自的TC
25、PTCP端口号用来监听和接收端口号用来监听和接收用户浏览器发出的请求。在实际应用中可以通过修改用户浏览器发出的请求。在实际应用中可以通过修改默认端口号的方法来提高默认端口号的方法来提高IISIIS服务器的安全性。服务器的安全性。修改修改WebWeb站点站点TCPTCP端口号的方法为:如下图所示,端口号的方法为:如下图所示,打开默认打开默认WebWeb站点的属性对话框,可以直接把站点的属性对话框,可以直接把“TCPTCP端端口(口(T T)”选项后面的输入框中的内容选项后面的输入框中的内容“80”80”改为其改为其它的数值。它的数值。1.Windows2000 Server1.Windows20
26、00 Server下下WebWeb服务器的安全配置服务器的安全配置1.Windows2000 Server1.Windows2000 Server下下WebWeb服务器的安全配置服务器的安全配置1.Windows2000 Server1.Windows2000 Server下下WebWeb服务器的安全配置服务器的安全配置 (7 7)安全通信机制)安全通信机制 IISIIS身份认证方式除了匿名用户、基本验证、集身份认证方式除了匿名用户、基本验证、集成成WindowsWindows验证以外,还有一种安全性更高的认证方验证以外,还有一种安全性更高的认证方式式数字证书。数字证书。在在“目录安全性目录安
27、全性”对话框中单击对话框中单击“服务器证书服务器证书”按钮,按向导提示就可以很容易地申请到数字证书。按钮,按向导提示就可以很容易地申请到数字证书。nApacheApache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。相传有一个武士阿帕奇,他英勇善战,族,在美国的西南部。相传有一个武士阿帕奇,他英勇善战,且战无不胜,被印第安人奉为勇敢和胜利的代表,因此后人便且战无不胜,被印第安人奉为勇敢和胜利的代表,因此后人便用他的名字为部落命名,而阿帕奇族在印第安史上也以强悍著用他的名字为部落命名,而阿帕奇族在印第安史上也以强悍著称。称。
28、19751975年,美国休斯直升机公司研制的反坦克武装直升机,年,美国休斯直升机公司研制的反坦克武装直升机,也命名为阿帕奇武装直升机。也命名为阿帕奇武装直升机。nApacheApache软件基金会(软件基金会(Apache Software FoundationApache Software Foundation,简称为,简称为ASFASF),是专门为运作一个开源软件项目的),是专门为运作一个开源软件项目的 Apache Apache 的团体提供的团体提供支持的非盈利性组织,这个开源软件项目就是支持的非盈利性组织,这个开源软件项目就是 Apache Apache 项目,项目,他们推出的他们推出
29、的WebWeb服务器很出名。服务器很出名。ApacheApache是世界使用排名第一的是世界使用排名第一的WebWeb服务器软件,它可以运行在几乎所有广泛使用的计算机平台服务器软件,它可以运行在几乎所有广泛使用的计算机平台上,其特点是简单、速度快、性能稳定,并可做代理服务器来上,其特点是简单、速度快、性能稳定,并可做代理服务器来使用。使用。2 2LinuxLinux下下WebWeb服务器的安全配置服务器的安全配置2 2LinuxLinux下下WebWeb服务器的安全配置服务器的安全配置nApache ServeApache Serve的前身是的前身是NCSANCSA的的httpdhttpd,曾
30、经在,曾经在19951995年成年成为最为流行的万维网的服务器。因为强大的功能和灵活为最为流行的万维网的服务器。因为强大的功能和灵活的设置及平台移植性,的设置及平台移植性,Apache ServerApache Server取得了广泛的信取得了广泛的信赖。赖。nApache ServerApache Server的主要功能有:的主要功能有:n支持最新的支持最新的HTTP1.1HTTP1.1协议(协议(RFC2616RFC2616)。)。n极强的可配置和可扩展性,充分利用第三方模快的功能。极强的可配置和可扩展性,充分利用第三方模快的功能。n提供全部的源代码和不受限制的使用许可(提供全部的源代码和
31、不受限制的使用许可(LicenseLicense)。)。n广泛应用于广泛应用于Windows 2000/NT/9xWindows 2000/NT/9x、Netware 5.xNetware 5.x,OS/2 OS/2 和和UNIXUNIX家族及其他操作系统,所支持的平台多达家族及其他操作系统,所支持的平台多达1717余种。余种。2 2LinuxLinux下下WebWeb服务器的安全配置服务器的安全配置nApache ServerApache Server功能强大,涵盖了用户的各种需求,包括:功能强大,涵盖了用户的各种需求,包括:n认证中的认证中的DBMDBM数据库支持;数据库支持;n错误和问题
32、的可定制响应的目录导向功能;错误和问题的可定制响应的目录导向功能;n不受限的灵活的不受限的灵活的URLURL别名机制和重定向功能;别名机制和重定向功能;n虚拟主机(多宿主主机)支持多个域主页共存一台主机;虚拟主机(多宿主主机)支持多个域主页共存一台主机;n超强的日志文件功能;超强的日志文件功能;n利用站点的分析;利用站点的分析;n拓展与维护等等。拓展与维护等等。n正因为这些强大的优势,使正因为这些强大的优势,使Apache ServerApache Server与其他的与其他的WebWeb服服务器相比,充分展示了高效、稳定及功能丰富的特点。务器相比,充分展示了高效、稳定及功能丰富的特点。Apa
33、che Server Apache Server 已用于超过已用于超过600600万个万个InternetInternet站点。站点。2 2LinuxLinux下下WebWeb服务器的安全配置服务器的安全配置(1 1)Apache Apache 服务器的安全特性服务器的安全特性1 1)采用自主访问控制和强制性访问控制的安全策略)采用自主访问控制和强制性访问控制的安全策略n从从Apache Apache 或或WebWeb的角度来讲,选择性访问控制的角度来讲,选择性访问控制DACDAC(Discretionary Access ControlDiscretionary Access Control
34、)仍是基于用户名和)仍是基于用户名和密码的,强制性访问控制密码的,强制性访问控制MACMAC(Mandatory Access Mandatory Access ControlControl)则是依据发出请求的客户端的)则是依据发出请求的客户端的IPIP地址或所在地址或所在的域号来进行界定的。的域号来进行界定的。n对于对于DACDAC方式,如输入错误,那么用户还有机会更正,方式,如输入错误,那么用户还有机会更正,从新输入正确的的密码;如果用户通过不了从新输入正确的的密码;如果用户通过不了MACMAC关卡,关卡,那么用户将被禁止做进一步的操作,除非服务器作出安那么用户将被禁止做进一步的操作,除非
35、服务器作出安全策略调整,否则用户的任何努力都将无济于事。全策略调整,否则用户的任何努力都将无济于事。2 2LinuxLinux下下WebWeb服务器的安全配置服务器的安全配置2 2)Apache Apache 的安全模块的安全模块nApache Apache 的一个优势便是其灵活的模块结构,其设计思想也是围的一个优势便是其灵活的模块结构,其设计思想也是围绕模块(绕模块(ModulesModules)概念而展开的。安全模块是)概念而展开的。安全模块是Apache ServerApache Server中的极其重要的组成部分。这些安全模块负责提供中的极其重要的组成部分。这些安全模块负责提供Apac
36、he Apache ServerServer的访问控制和认证、授权等一系列至关重要的安全服务。的访问控制和认证、授权等一系列至关重要的安全服务。nmod_accessmod_access模块能够根据访问者的模块能够根据访问者的IPIP地址(或域名,主机名等)地址(或域名,主机名等)来控制对来控制对ApacheApache服务器的访问,是基于主机的访问控制。服务器的访问,是基于主机的访问控制。nmod_authmod_auth模块用来控制用户和组的认证授权模块用来控制用户和组的认证授权(Authentication)(Authentication)。用户名和口令存于纯文本文件中。用户名和口令存于
37、纯文本文件中。mod_auth_dbmod_auth_db和和mod_auth_dbmmod_auth_dbm模块则分别将用户信息(如名称、组属和口令等)存于模块则分别将用户信息(如名称、组属和口令等)存于Berkeley-DBBerkeley-DB及及DBMDBM型的小型数据库中,便于管理及提高应用效型的小型数据库中,便于管理及提高应用效率。率。2 2LinuxLinux下下WebWeb服务器的安全配置服务器的安全配置nmod_auth_digestmod_auth_digest模块则采用模块则采用MD5MD5数字签名的方式来进行数字签名的方式来进行用户的认证,但它相应的需要客户端的支持。用
38、户的认证,但它相应的需要客户端的支持。nmod_auth_anonmod_auth_anon模块的功能和模块的功能和mod_authmod_auth的功能类似,只的功能类似,只是它允许匿名登录,将用户输入的是它允许匿名登录,将用户输入的E-mailE-mail地址作为口令。地址作为口令。nSSLSSL(Secure Socket LagerSecure Socket Lager),被),被ApacheApache所支持的安全所支持的安全套接字层协议,提供套接字层协议,提供InternetInternet上安全交易服务,如电子上安全交易服务,如电子商务中的安全措施。通过对通讯字节流的加密来防止敏
39、商务中的安全措施。通过对通讯字节流的加密来防止敏感信息的泄漏。但是,感信息的泄漏。但是,ApacheApache的这种支持是建立在对的这种支持是建立在对ApacheApache的的APIAPI扩展来实现的,相当于一个外部模块,通扩展来实现的,相当于一个外部模块,通过与第三方程序的结合提供安全的网上交易支持。过与第三方程序的结合提供安全的网上交易支持。2 2LinuxLinux下下WebWeb服务器的安全配置服务器的安全配置(2 2)ApacheApache服务器的安全配置服务器的安全配置1 1)以)以NobodyNobody用户运行用户运行n一般情况下,一般情况下,ApacheApache是由
40、是由Root Root 来安装和运行的。来安装和运行的。如果如果Apache ServerApache Server进程具有进程具有RootRoot用户特权,那么用户特权,那么它将给系统的安全构成很大的威胁,应确保它将给系统的安全构成很大的威胁,应确保Apache ServerApache Server进程以最可能低的权限用户来运行。进程以最可能低的权限用户来运行。n通过修改通过修改httpd.confhttpd.conf文件中的选项,以文件中的选项,以NobodyNobody用用户运行户运行Apache Apache 达到相对安全的目的。达到相对安全的目的。2 2LinuxLinux下下We
41、bWeb服务器的安全配置服务器的安全配置2)Server Root2)Server Root目录的权限目录的权限n为了确保所有的配置是适当的和安全的,需要为了确保所有的配置是适当的和安全的,需要严格控制严格控制Apache Apache 主目录的访问权限,使非超主目录的访问权限,使非超级用户不能修改该目录中的内容。级用户不能修改该目录中的内容。nApache Apache 的主目录对应于的主目录对应于Apache ServerApache Server配置文配置文件件httpd.confhttpd.conf中的中的Server RootServer Root控制项。控制项。2 2LinuxLi
42、nux下下WebWeb服务器的安全配置服务器的安全配置3 3)SSISSI的配置的配置n在配置文件在配置文件access.conf access.conf 或或httpd.confhttpd.conf中的中的OptionsOptions指令处加入指令处加入Includes NoexecIncludes Noexec选项,用选项,用以禁用以禁用Apache Server Apache Server 中的执行功能。中的执行功能。n避免用户直接执行避免用户直接执行Apache Apache 服务器中的执行程服务器中的执行程序,而造成服务器系统的公开化。序,而造成服务器系统的公开化。2 2LinuxL
43、inux下下WebWeb服务器的安全配置服务器的安全配置4 4)阻止用户修改系统设置)阻止用户修改系统设置n在在Apache Apache 服务器的配置文件中进行设置,阻止用服务器的配置文件中进行设置,阻止用户建立、修改户建立、修改 .htaccess.htaccess文件,防止用户超越能文件,防止用户超越能定义的系统安全特性。定义的系统安全特性。5 5)Apache Apache 服务器的缺省访问特性服务器的缺省访问特性nApache Apache 的默认设置只能保障一定程度的安全,如的默认设置只能保障一定程度的安全,如果服务器能够通过正常的映射规则找到文件,那果服务器能够通过正常的映射规则
44、找到文件,那么客户端便会获取该文件,因此,要禁止对文件么客户端便会获取该文件,因此,要禁止对文件系统的缺省访问。系统的缺省访问。2 2LinuxLinux下下WebWeb服务器的安全配置服务器的安全配置6 6)CGICGI脚本的安全脚本的安全nCGICGI脚本是一系列可以通过脚本是一系列可以通过WebWeb服务器来运行的程序。为服务器来运行的程序。为了保证系统的安全性,首先应确保了保证系统的安全性,首先应确保CGICGI的作者是可信的,的作者是可信的,此外:此外:n对对CGICGI而言,最好将其限制在一个特定的目录下,如而言,最好将其限制在一个特定的目录下,如cgi-cgi-binbin之下,
45、便于管理;之下,便于管理;n应该保证应该保证CGICGI目录下的文件是不可写的,避免一些欺骗性的目录下的文件是不可写的,避免一些欺骗性的程序驻留或混迹其中;程序驻留或混迹其中;n如果能够给用户提供一个安全性良好的如果能够给用户提供一个安全性良好的CGICGI程序的模块作为程序的模块作为参考,也许会减少许多不必要的麻烦和安全隐患;参考,也许会减少许多不必要的麻烦和安全隐患;n除去除去CGICGI目录下的所有非业务应用的脚本,以防异常的信息目录下的所有非业务应用的脚本,以防异常的信息泄漏。泄漏。7.37.3WebWeb客户端的安全客户端的安全 7.3.17.3.1浏览器本身的漏洞浏览器本身的漏洞1
46、 1传播病毒类漏洞:有的漏洞可以被利用来传播病毒,很传播病毒类漏洞:有的漏洞可以被利用来传播病毒,很多病毒是通过多病毒是通过IEIE的漏洞入侵的,如通过浏览网页可以感染的漏洞入侵的,如通过浏览网页可以感染新欢乐时光等脚本病毒。新欢乐时光等脚本病毒。2 2木马类漏洞:有的漏洞还可能被木马利用,如利用木马类漏洞:有的漏洞还可能被木马利用,如利用IE IE Object DataObject Data漏洞可以实现网页木马。该漏洞是由于漏洞可以实现网页木马。该漏洞是由于HTMLHTML中的中的ObjectObject的的DataData标签引起的。标签引起的。3 3DoSDoS类漏洞:如递归类漏洞:如
47、递归FramesFrames漏洞就属于这一类漏洞,它通漏洞就属于这一类漏洞,它通过编写一段错误的过编写一段错误的HTMLHTML代码而产生递归效果,直到耗尽内代码而产生递归效果,直到耗尽内存资源,从而导致存资源,从而导致IPIP崩溃。崩溃。7.3.17.3.1浏览器本身的漏洞浏览器本身的漏洞4 4“跳板跳板”类漏洞:如类漏洞:如IE3IE3及之前的快捷方式漏洞。如及之前的快捷方式漏洞。如果一个快捷方式被复制到一个果一个快捷方式被复制到一个WebWeb服务器上,并通过服务器上,并通过InternetInternet来访问,将会打开存放在用户本地的该文件来访问,将会打开存放在用户本地的该文件的拷贝
48、。的拷贝。5 5欺骗类漏洞:如欺骗类漏洞:如IE7IE7处理处理URLURL中字符串时的漏洞,远程中字符串时的漏洞,远程攻击者可能利用此漏洞引导用户执行恶意操作。攻击者可能利用此漏洞引导用户执行恶意操作。6 6用户信息泄露类漏洞:用户信息泄露类漏洞:IEIE浏览器中的安全漏洞,黑客浏览器中的安全漏洞,黑客利用这个漏洞能够使用利用这个漏洞能够使用GoogleGoogle桌面软件远程访问用户桌面软件远程访问用户的口令和信用卡账号等个人信息。的口令和信用卡账号等个人信息。1 1什么是什么是ActiveXActiveXActiveXActiveX是是MicrosoftMicrosoft对于一系列策略性
49、面向对象程序技对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(术和工具的称呼,其中主要的技术是组件对象模型(COMCOM)。)。在有目录和其它支持的网络中,在有目录和其它支持的网络中,COMCOM变成了分布式变成了分布式COMCOM(DCOMDCOM)。)。ActiveXActiveX与具体的编程语言无关,作为针对与具体的编程语言无关,作为针对InternetInternet应应用开发的技术,用开发的技术,ActiveXActiveX被广泛应用于被广泛应用于WebWeb服务器以及客户服务器以及客户端的各个方面。同时,端的各个方面。同时,ActiveXActiveX技
50、术也被用于方便地创建普技术也被用于方便地创建普通的桌面应用程序。通的桌面应用程序。由于由于ActiveXActiveX是可以将其插入到是可以将其插入到WebWeb页面或其他应用程序页面或其他应用程序中的一些软件组件或对象,因而也叫中的一些软件组件或对象,因而也叫ActiveXActiveX插件或插件或ActiveXActiveX控件。控件。7.3.27.3.2ActiveXActiveX的安全性的安全性 IE IE浏览器通常应用安全级别和认证两种策略来保证浏览器通常应用安全级别和认证两种策略来保证ActiveXActiveX插件的安全。插件的安全。(1 1)IEIE的安全级别可分为的安全级别可