如何付款 | 地理位置 | 帮助中心
 
 
 
Apache服务器配置安全规范及其缺陷 (1)
网络  发表时间 2007-2-13

正如我们前言所说尽管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

设置Apache服务器的WEB和文件服务器

我们在Apache服务器上存放WEB服务器的文件,供用户访问,并设置/home/ftp/pub目录为文件存放区域,用http://download.your.com/pub/来访问。在防火墙上设置apache反向代理技术,由防火墙代理访问。 

(1)Apache服务器的设置 

Apache服务器采用默认配置。主目录为/home/httpd/html,主机域名为Phoenix.your.com, 且别名到www.your.com中, 并且设置srm.conf加一行别名定义如下:

Alias /pub /home/ftp/pub/ 

更改默认应用程序类型定义如下: 

DefaultType application/octet-stream 

最后在/etc/httpd/conf/access.conf中增加一项定义

 
            Options Indexes 
            AllowOverride AuthConfig 
            order allow,deny 
            allow from all 

注:Options Indexes允许在找不到index.html文件的情况下允许列出目录/文件列表。AllowOverride AuthConfig允许做基本的用户名和口令验证。这样的话,需要在/home/ftp/pub目录下放入.htaccess,内容如下: 

  [root@ pub]# more .htaccess 
              AuthName Branch Office Public Software Download Area 
              AuthType Basic 
              AuthUserFile /etc/.usrpasswd 
              require valid-user 

用# htpasswd -c /etc/.usrpasswd user1  分别创建不同的允许访问/pub下文件服务的外部用户名和口令。

(2)在防火墙上配置反向代理技术.

在/etc/httpd/conf/httpd.conf  中加入 NameVirtualHost xxx.xxx.xxx.xxx # xxx.xxx.xxx.xxx ----->是防火墙外部在互联网上永久IP地址: 

  servername www.your.com 
              errorlog /var/log/httpd/error_log 
              transferlog /var/log/httpd/access_log 
              rewriteengine on 
              proxyrequests off 
              usecanonicalname off 
              rewriterule ^/(.*)$ http://xxx.xxx.xx.x/$1 Apache服务器的IP地址。
              servername http://download.your.com/pub/
              errorlog /var/log/httpd/download/error_log 
              transferlog /var/log/httpd/download/access_log 
              rewriteengine on 
              proxyrequests off 
              usecanonicalname off 
              rewriterule ^/(.*)$ http://xxx.xxx.xx.x/$1 同上Apache服务器的IP地址。

设置防火墙上的DNS,让download.your.com和www.your.com 都指向防火墙的外部网地址xxx.xxx.xxx.xxx。

用http://www.your.com访问主页,用http://download.your.com/pub/访问公共文件的下载区。

注:还需要在apache服务器主机上建立目录/var/log/httpd/download/,否则会出错。另外,也可以设置防火墙主机上的/home/httpd/html/index.html的属性为750来阻止访问,这是防外部用户能访问到防火墙上的Apache服务器的http://www.your.com中。 

总结:Apache Server是一个非常优秀,非常棒的服务器,只要你正确配置和维护好Apache服务器,你就会感受到Apache Server 所带来的好处,同样希望你能够通过阅读本文达到理论和实践双丰收的目的。

验证你的Apache来源途径

不要以为在Google上能够搜索到合适的Apache版本。如果你需要下载最新版本的Apache,那么你最好通过一个权威的镜像站点来下载。然而,即使这样也可能有问题,事实上,曾经就有黑客入侵过apache.org官方网站。所以,采用类似PGP的工具来验证Apache的数字签名就显得尤为重要。

保持更新Apache的补丁程序

如果你安装了Apache,你就必须及时更新安全补丁。如果没有及时的更新,那你的系统很容易受到网络上那些高危病毒的攻击。幸好,有几个简便方法可以更新Apache的补丁。参考我们关于保持更新Apache补丁的文章了解更多关于Apache服务器公告列表、Linux包管理系统和RedHat操作系统更新服务的信息。

避免使用.htaccess文件(分布式配置文件)

很多情况下需要几个管理员和内容管理者共同管理Apache服务器。一个常用的共享管理办法就是使用.htaccess文件,这样可以很灵活地对管理员以外的用户提供不同的配置控制权限。然而,这些文件也使得在集中安全管理之外还有相当多的安全控制权限——这些文件允许安全专业人士以外的其他用户改变服务器的访问控制许可配置。那些对粒度访问控制根本不熟悉的用户修改的配置可能在无意中会危害到你的系统安全。所以,除非必须使用,否则我们应该尽可能地避免使用这种访问控制系统。

关键词:Apache服务器、Apache、消费者、上海网站建设、专业网站建设、网站制作、,网站推广服务
 

-->更多相关新闻
版权所有©2005 上海巧创网络技术有限公司 沪 ICP 备 05001802 号
网络实名: 上海网站建设上海网络公司上海仓存管理软件 电话: 021-50757260 50769776 50758883 传真: 50757260-14
地址:上海市浦东枣庄路 683 号(金杨经济服务中心) 6 楼 邮编 :201206 E-mail:webmaster@soeasy.cn