在目前
![](/icons/43718de.gif)
Internet时代,主页已成为树立公司形象和展示自我天地
![](/icons/43718de.gif)
![](/icons/43718yi.gif)
个重要手段,配置
![](/icons/43718yi.gif)
台强大且安全
![](/icons/43718de.gif)
Web Server就显得尤其重要.在众多
![](/icons/43718de.gif)
Web Server产品中,Apache是应用最为广泛
![](/icons/43718de.gif)
![](/icons/43718yi.gif)
个产品, 同时也是
![](/icons/43718yi.gif)
个设计上非常安全
![](/icons/43718de.gif)
![](/icons/43718chengxu.gif)
.但是,同其它应用
![](/icons/43718chengxu.gif)
![](/icons/43718yi.gif)
样,Apache也存在安全缺陷.本文将详细介绍如何正确配置和维护Apache WEB Server
![](/icons/43718de.gif)
安全性问题等.
![](/icons/43718yi.gif)
、Apache服务器
![](/icons/43718de.gif)
介绍
Apache服务器它是Internet网上应用最为广泛
![](/icons/43718de.gif)
Web服务器软件Software的
![](/icons/43718yi.gif)
.Apache服务器源自美国国家超级技术计算应用中心(NCSA)
![](/icons/43718de.gif)
Web服务器项目中.目前已在互联网中占据了领导地位.Apache服务器得经过精心配置的后,才能使它适应高负荷,大吞吐量
![](/icons/43718de.gif)
互联网工作.快速、可靠、通过简单
![](/icons/43718de.gif)
API扩展,Perl/Python解释器可被编译到服务器中,且完全免费,完全源代码开放.如果你需要创建
![](/icons/43718yi.gif)
个每天有数百万人访问
![](/icons/43718de.gif)
Web服务器,Apache可能是最佳选择.
2、Apache服务器
![](/icons/43718de.gif)
主要安全缺陷
正如我们前言所说尽管Apache服务器应用最为广泛,设计上非常安全
![](/icons/43718de.gif)
![](/icons/43718chengxu.gif)
.但是同其它应用
![](/icons/43718chengxu.gif)
![](/icons/43718yi.gif)
样,Apache也存在安全缺陷.毕竟它是完全源代码,Apache服务器
![](/icons/43718de.gif)
安全缺陷主要是使用HTTP协议进行
![](/icons/43718de.gif)
拒绝服务攻击(denial of service)、缓冲区溢出攻击以及被攻击者获得root权限 3缺陷和最新
![](/icons/43718de.gif)
恶意
![](/icons/43718de.gif)
攻击者进行"拒绝服务"(DoS)攻击.合理
![](/icons/43718de.gif)
网络配置能够保护Apache服务器免遭多种攻击.我们来介绍
![](/icons/43718yi.gif)
下主要
![](/icons/43718de.gif)
安全缺陷:
(1)使用HTTP协议进行
![](/icons/43718de.gif)
拒绝服务攻??(denial of service)
![](/icons/43718de.gif)
安全缺陷
这种思路方法攻击者会通过某些手段使服务器拒绝对HTTP应答.这样会使Apache对系统资源(CPU时间和内存)需求
![](/icons/43718de.gif)
剧增,最终造成Apache系统变慢甚至完全瘫痪.
(2)缓冲区溢出
![](/icons/43718de.gif)
安全缺陷
该思路方法攻击者利用
![](/icons/43718chengxu.gif)
编写
![](/icons/43718de.gif)
![](/icons/43718yi.gif)
些缺陷,使
![](/icons/43718chengxu.gif)
偏离正常
![](/icons/43718de.gif)
流程.
![](/icons/43718chengxu.gif)
使用静态分配
![](/icons/43718de.gif)
内存保存请求数据,攻击者就可以发送
![](/icons/43718yi.gif)
个超长请求使缓冲区溢出.比如
![](/icons/43718yi.gif)
些Perl编写
![](/icons/43718de.gif)
处理用户请求
![](/icons/43718de.gif)
网关脚本.
![](/icons/43718yi.gif)
旦缓冲区溢出,攻击者可以执行其恶意指令或者使系统宕机.
(3)被攻击者获得root权限
![](/icons/43718de.gif)
安全缺陷
该安全缺陷主要是
![](/icons/43718yinwei.gif)
Apache服务器
![](/icons/43718yi.gif)
般以root权限运行(父进程),攻击者会通过它获得root权限,进而控制整个Apache系统.
(4)恶意
![](/icons/43718de.gif)
攻击者进行"拒绝服务"(DoS)攻击
![](/icons/43718de.gif)
安全缺陷
这个最新在6月17日发现
![](/icons/43718de.gif)
漏洞,它主要是存在于Apache
![](/icons/43718de.gif)
chunk encoding中,这是
![](/icons/43718yi.gif)
个HTTP协议定义
![](/icons/43718de.gif)
用于接受web用户所提交数据
![](/icons/43718de.gif)
功能. 利用黑客
![](/icons/43718chengxu.gif)
可以对于运行在FreeBSD 4.5, OpenBSD 3.0 / 3.1, NetBSD 1.5.2平台上
![](/icons/43718de.gif)
Apache服务器均可进行有效
![](/icons/43718de.gif)
攻击.
所有说使用最高和最新安全版本对于加强Apache Web服务器
![](/icons/43718de.gif)
安全是至关重要
![](/icons/43718de.gif)
.请广大Apache服务器管理员去http://www.apache.org/dist/httpd/下载补丁
![](/icons/43718chengxu.gif)
以确保其WEB服务器安全!
3、正确维护和配置Apache服务器
虽然Apache服务器
![](/icons/43718de.gif)
开发者非常注重安全性,由于Apache服务器其庞大
![](/icons/43718de.gif)
项目,难免会存在安全隐患.正确维护和配置Apache WEB服务器就很重要了.我们应注意
![](/icons/43718de.gif)
![](/icons/43718yi.gif)
些问题:
(1)Apache服务器配置文件
Apache Web服务器主要有 3个配置文件,位于/usr/local/apache/conf目录下.这 3个文件是:
httpd.con----->主配置文件
srm.conf------>填加资源文件
access.conf--->设置文件
![](/icons/43718de.gif)
访问权限
注:具体配置可以参考:http://httpd.apache.org/docs/mod/core.html
(2)Apache服务器
![](/icons/43718de.gif)
日志文件
我们可以使用日志格式指令来控制日志文件
![](/icons/43718de.gif)
信息.使用LogFormat "%a %l"指令,可以把发出HTTP请求浏览器
![](/icons/43718de.gif)
IP地址和主机名记录到日志文件.出于安全
![](/icons/43718de.gif)
考虑,在日志中我们应知道至少应该那些验证失败
![](/icons/43718de.gif)
WEB用户,在http.conf文件中加入LogFormat "%401u"指令可以实现这个目
![](/icons/43718de.gif)
.这个指令还有其它
![](/icons/43718de.gif)
许多参数,用户可以参考Apache
![](/icons/43718de.gif)
文档.另外,Apache
![](/icons/43718de.gif)
![](/icons/43718cuowu.gif)
日志文件对于系统管理员来说也是非常重要
![](/icons/43718de.gif)
,
![](/icons/43718cuowu.gif)
日志文件中包括服务器
![](/icons/43718de.gif)
启动、停止以及CGI执行失败等信息.更多请参看Apache日志系列1-5.
(3)Apache服务器
![](/icons/43718de.gif)
目录安全认证
在Apache Server中是允许使用 .htaccess做目录安全保护
![](/icons/43718de.gif)
,欲读取这保护
![](/icons/43718de.gif)
目录需要先键入正确用户帐号和密码.这样可做为专门管理网页存放
![](/icons/43718de.gif)
目录或做为会员区等.
在保护
![](/icons/43718de.gif)
目录放置
![](/icons/43718yi.gif)
个档案,档名为.htaccss
AuthName "会员专区"
AuthType "Basic"
AuthUserFile "/var/tmp/xxx.pw" ----->把password放在网站WebSite外
require valid-user 到apache/bin目录,建password档
% ./htpasswd-c/var/tmp/xxx.pw username1----->第
次建档要用参数"-c"
% ./htpasswd/var/tmp/xxx.pw username2
这样就可以保护目录内
![](/icons/43718de.gif)
内容,进入要用合法
![](/icons/43718de.gif)
用户.
注:采用了Apache内附
![](/icons/43718de.gif)
模组.也可以采用在httpd.conf中加入:
options indexes followsymlinks
allowoverride authconfig
order allow,deny
allow from all
(4)Apache服务器访问控制
我们就要看 3个配置文件中
![](/icons/43718de.gif)
第 3个文件了,即access.conf文件,它包含
![](/icons/43718yi.gif)
些指令控制允许什么用户访问Apache目录.应该把deny from all设为
![](/icons/43718chushi.gif)
化指令,再使用allow from指令打开访问权限.
order deny,allow
deny from all
allow from safechina.net
设置允许来自某个域、IP地址或者IP段
![](/icons/43718de.gif)
访问.
(5)Apache服务器
![](/icons/43718de.gif)
密码保护问题
我们再使用.htaccess文件把某个目录
![](/icons/43718de.gif)
访问权限赋予某个用户.系统管理员需要在httpd.conf或者srm.conf文件中使用AccessFileName指令打开目录
![](/icons/43718de.gif)
访问控制.如:
AuthName PrivateFiles
AuthType Basic
AuthUserFile /path/to/httpd/users
require Phoenix
# htpasswd -c /path/to/httpd/users Phoenix
4,设置Apache服务器
![](/icons/43718de.gif)
WEB和文件服务器
我们在Apache服务器上存放WEB服务器
![](/icons/43718de.gif)
文件,供用户访问,并设置/home/ftp/pub目录为文件存放区域,用http://download.XXXX.com/pub/来访问.在防火墙上设置apache反向代理技术,由防火墙代理访问.
(1)Apache服务器
![](/icons/43718de.gif)
设置
apache服务器采用默认配置.主目录
为/home/httpd/html,主机域名为Phoenix.XXXX.com,且别名到www.XXXX.com中,并且设置srm.conf加
![](/icons/43718yi.gif)
行别名定义如下:
Alias/pub/home/ftp/pub/
更改默认应用
![](/icons/43718chengxu.gif)
类型定义如下:
DefaultType application/octet-stream
最后在/etc/httpd/conf/access.conf中增加
![](/icons/43718yi.gif)
项定义
Options Indexes
AllowOverride AuthConfig
order allow,deny
allow from all
注:Options Indexes允许在找不到index.html文件
![](/icons/43718de.gif)
情况下允许列出目录/文件列表.AllowOverride AuthConfig允许做基本
![](/icons/43718de.gif)
用户名和口令验证.这样
![](/icons/43718de.gif)
话,需要在/home/ftp/pub目录下放入.htaccess,内容如下:
[root@shopu pub]# more .htaccess
AuthName Branch Office Public Software Download Area
AuthType Basic
AuthUserFile /etc/.usrpasswd
require valid-user
用# htpasswd -c /etc/.usrpasswd user1 分别创建区别
![](/icons/43718de.gif)
允许访问/pub下文件服务
![](/icons/43718de.gif)
外部用户名和口令.
(2)在防火墙上配置反向代理技术.
在/etc/httpd/conf/httpd.conf中加入 NameVirtualHost xxx.xxx.xxx.xxx
# xxx.xxx.xxx.xxx ----->是防火墙外部在互联网上永久IP地址
servername www.XXXX.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.XXXX.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地址.
设置防火墙上
![](/icons/43718de.gif)
DNS,让download.XXXX.com和www.XXXX.com都指向防火墙
![](/icons/43718de.gif)
外部网地址 xxx.xxx.xxx.xxx.用http://www.XXXX.com访问主页,用http://download.XXXX.com/pub/访问公共文件
![](/icons/43718de.gif)
下载区.
注:还需要在apache服务器主机上建立目录/var/log/httpd/download/,否则会出错.另外,也可以设置防火墙主机上
![](/icons/43718de.gif)
/home/httpd/html/index.html
![](/icons/43718de.gif)
属性为750来阻止访问,这是防外部用户能访问到防火墙上
![](/icons/43718de.gif)
Apache服务器
![](/icons/43718de.gif)
http: //www.XXXX.com中.
整理总结:Apache Server是
![](/icons/43718yi.gif)
个非常优秀,非常棒
![](/icons/43718de.gif)
服务器,只要你正确配置和维护好Apache服务器,你就会感受到Apache Server 所带来
![](/icons/43718de.gif)
好处.