
正如我们前言所说尽管Apache服务器应用最为广泛,设计上很安全的程式。但是同其他应用程式相同,Apache也存在安全缺陷。毕竟他是完全源代码,Apache服务器的安全缺陷主要是使用HTTP协议进行的拒绝服务攻击(denial of service)、缓冲区溢出攻击连同被攻击者获得root权限三缺陷和最新的恶意的攻击者进行“拒绝服务”(DoS)攻击。合理的网络配置能够保护Apache服务器免遭多种攻击。我们来介绍一下主要的安全缺陷。
主要安全缺陷
(1)使用HTTP协议进行的拒绝服务攻击(denial of service)的安全缺陷
这种方法攻击者会通过某些手段使服务器拒绝对HTTP应答。这样会使Apache对系统资源(CPU时间和内存)需求的剧增,最终造成Apache系统变慢甚至完全瘫痪。
(2)缓冲区溢出的安全缺陷
该方法攻击者利用程式编写的一些缺陷,使程式偏离正常的流程。程式使用静态分配的内存保存请求数据,攻击者就能够发送一个超长请求使缓冲区溢出。
(3)被攻击者获得root权限的安全缺陷
该安全缺陷主要是因为Apache服务器一般以root权限运行(父进程),攻击者会通过他获得root权限,进而控制整个Apache系统。
(4)恶意的攻击者进行“拒绝服务”(DoS)攻击的安全缺陷
这个最新在6月17日发现的漏洞,他主要是存在于Apache的chunk encoding中,这是个HTTP协议定义的用于接受web用户所提交数据的功能。 任何说使用最高和最新安全版本对于加强Apache Web服务器的安全是至关重要的。
正确维护和配置Apache服务器
虽然Apache服务器的研发者很注重安全性,由于Apache服务器其庞大的项目, 难免会存在安全隐患。正确维护和配置Apache WEB服务器就很重要了。我们应注意的一些问题:
(1)Apache服务器配置文档
Apache Web服务器主要有三个配置文档,位于/usr/local/apache/conf目录下。 这三个文档是:
httpd.conf----->主配置文档
srm.conf------>填加资源文档
access.conf--->配置文档的访问权限
|
(2)Apache服务器的目录安全认证
在Apache Server中是允许使用 .htaccess做目录安全保护的,欲读取这保护的目录需要先键入正确用户帐号和密码。这样可做为专门管理网页存放的目录或做为会员区等。在保护的目录放置一个档案,档名为.htaccss。
AuthName "会员专区"
AuthType "Basic"
|
AuthUserFile "/var/tmp/xxx.pw" ----->把password放在网站外 require valid-user 到apache/bin目录,建password档 % ./htpasswd -c /var/tmp/xxx.pw username1 ----->第一次建档要用参数"-c" % /htpasswd /var/tmp/xxx.pw username2 这样就能够保护目录内的内容,进入要用合法的用户。
注:采用了Apache内附的模组。
也能够采用在httpd.conf中加入:
options indexes followsymlinks
allowoverride authconfig
order allow,deny
allow from all
|
(3)Apache服务器访问控制
我们就要看三个配置文档中的第三个文档了,即access.conf文档,他包含一些指令控制允许什么用户访问Apache目录。应该把deny from all设为初始化指令,再使用allow from指令打开访问权限。
order deny,allow
deny from all
allow from safechina.net
|
配置允许来自某个域、IP地址或IP段的访问。
(4)Apache服务器的密码保护问题
我们再使用.htaccess文档把某个目录的访问权限赋予某个用户。系统管理员需要在httpd.conf或rm.conf文档中使用 AccessFileName指令打开目录的访问控制。如:
AuthName PrivateFiles
AuthType Basic
AuthUserFile /path/to/httpd/users
require Phoenix
# htpasswd -c /path/to/httpd/users Phoenix
|
共4页: 上一页 [1] [2] [3] [4] 下一页
[ 1][ 2][ 3][ 4]
|