RSS订阅
PHP程序员站--WWW.PHPERZ.COM  
网站地图
高级搜索
收藏本站

 当前位置:主页 >> 服务器 >> Apache服务器 >> 文章内容
轻轻松松把 Apache 配置安全
[收藏此页[打印本页]   
来源:互联网  作者:未知  发布时间:2008-01-13

下面介绍20种让你的Apache配置更安全的方法。

声明:关于安全的事情没有保证的或者绝对的。这些建议可以让你的服务器更安全,但不要认为遵循这些建议后你的服务器就理所当然是安全的。 phperz~com

另外,在这些建议中有的建议可能会降低服务器性能或者因为你的环境引起问题。我建议所作的任何改变是否适合你的需求完全由你决定。换句话说,那是你的风险。 php程序员站

一、确保你安装的是最新的补丁 www.phperz.com

如果门是敞开的话,在窗户上加锁就毫无意义。同样道理,如果你没有打补丁,继续下面的操作就没有什么必要。

www~phperz~com

二、隐藏Apache的版本号及其它敏感信息

www~phperz~com

默认情况下,很多Apache安装时会显示版本号及操作系统版本,甚至会显示服务器上安装的是什么样的Apache模块。这些信息可以为黑客所用,并且黑客还可以从中得知你所配置的服务器上的很多设置都是默认状态。

php程序员之家

这里有两条语句,你需要添加到你的httpd.conf文件中:

www.phperz.com

ServerSignature Off phperz.com

ServerTokens Prod

php程序员站

ServerSignature出现在Apache所产生的像404页面、目录列表等页面的底部。ServerTokens目录被用来判断Apache会在Server HTTP响应包的头部填充什么信息。如果把ServerTokens设为Prod,那么HTTP响应包头就会被设置成: phperz.com

Server:Apache php程序员站

如果你非常想尝试其它事物,你可以通过编辑源代码改成不是Apache的其它东西,或者你可以通过下面将要介绍的mod_security实现。

phperz.com

三、确保Apache以其自身的用户账号和组运行 php程序员之家

有的Apache安装过程使得服务器以nobody的用户运行,所以,假定Apache和你的邮件服务器都是以nobody的账号运行的,那么通过Apache发起的攻击就可能同时攻击到邮件服务器,反之亦然。

phperz~com

User apache

www.phperz.com

Group apache

php程序员站

四、确保web根目录之外的文件没有提供服务

phperz.com

我们不让Apache访问web根目录之外的任何文件。假设你的所以web站点文件都放在一个目录下(例如/web),你可以如下设置: phperz.com

www.phperz.com

Order Deny,Allow phperz~com

Deny from all

php程序员之家

Options None

www~phperz~com

AllowOverride None phperz.com

 

phperz.com

www.phperz.com

Order Allow,Deny www.phperz.com

Allow from all

www~phperz~com

 

php程序员站

注意,因为我们设置Opitins None 和AllowOverride None,这将关闭服务器的所有Option和Override。你现在必须明确把每个目录设置成Option或者Override。

phperz.com

五、关闭目录浏览 www~phperz~com

你可以在Directory标签内用Option命令来实现这个功能。设置Option为None或者-Indexes。

www~phperz~com

Options -Indexes

www~phperz~com

六、关闭includes php程序员之家

这也可以通过在Directory标签内使用Option命令来实现。设置Option为None或者-Includes。 phperz.com

Options -Includes

php程序员站

七、关闭CGI执行程序

www.phperz.com

如果你不用CGI,那么请把它关闭。在目录标签中把选项设置成None或-ExecCGI就可以:

php程序员站

Options -ExecCGI

php程序员之家

八、禁止Apache遵循符号链接

www.phperz.com

同上,把选项设置成None或-FollowSymLinks: phperz.com

Options -FollowSymLinks www~phperz~com

九、关闭多重选项

php程序员站

如果想关闭所有选项,很简单:

www~phperz~com

Options None

phperz.com

如果只想关系一些独立的选项,则通过将Options做如下设置可实现:

www.phperz.com

Options -ExecCGI -FollowSymLinks -Indexes

phperz~com

十、关闭对.htAccess文件的支持 phperz.com

在一个目录标签中实现:

www.phperz.com

AllowOverride None

phperz.com

如果需要重载,则保证这些文件不能够被下载,或者把文件名改成非.htaccess文件。比如,我们可以改成.httpdoverride文件,然后像下面这样阻止所有以.ht打头的文件:
www.phperz.com

AccessFileName .httpdoverride

phperz~com

phperz.com

Order allow,deny

phperz~com

Deny from all

phperz.com

Satisfy All

phperz~com

十一、运行mod_security

www.phperz.com

Run mod_security是O’Reilly出版社出版的Apache Security一书的作者,Ivan Ristic所写的一个非常好用的一个Apache模块。可以用它实现以下功能: www.phperz.com

·简单过滤

phperz.com

·基于过滤的常规表达式 www.phperz.com

·URL编码验证

phperz~com

·Unicode编码验证 php程序员站

·审计

php程序员站

·空字节攻击防止 www~phperz~com

·上载存储限制 phperz.com

·服务器身份隐藏

php程序员站

·内置的Chroot支持

php程序员站

·更多其它功能

phperz.com

十二、关闭任何不必要的模块 phperz.com

Apache通常会安装几个模块,浏览Apache的module documentation,了解已安装的各个模块是做什么用的。很多情况下,你会发现并不需要激活那些模块。 www.phperz.com

找到httpd.conf中包含LoadModule的代码。要关闭这些模块,只需要在代码行前添加一个#号。要找到正在运行的模块,可以用以下语句: www.phperz.com

grep LoadModule httpd.conf

phperz.com

以下模块通常被激活而并无大用:mod_imap, mod_include, mod_info, mod_userdir, mod_status, mod_cgi, mod_autoindex。 php程序员站


 
 相关文章
 
发表评论
全部评论(0条)
 
 站内搜索
 热门搜索 基础  mysql  url  adodb
高级搜索 网站地图 站长工具 IP查询 收藏本站
 热点文章
 随机推荐
网站首页 | 网站地图 | 高级搜索 | RSS订阅
PHP程序员站 Copyright © 2007,PHPERZ.COM All Rights Reserved 粤ICP备07503606号 联系站长