巩固Apache配置的安全方法20则

2009-05-13 12:07:00来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折


声明:关于
[url=javascript:;]安全[/url]
的事情没有保证的或者绝对的。这些建议可以让你的
[url=javascript:;]服务器[/url]
更安全,但不要认为遵循这些建议后你的服务器就理所当然是安全的。另外,在这
些建议中有的建议可能会降低服务器性能或者因为你的环境引起问题。我建议所作的任何改变是否适合你的需求完全由你决定。换句话说,那是你的风险。
一、确保你
[url=javascript:;]安装[/url]
的是最新的补丁

如果门是敞开的话,在窗户上加锁就毫无意义。同样道理,如果你没有打补丁,继续下面的操作就没有什么必要。
二、隐藏
[url=javascript:;]Apache[/url]
的版本号及其它敏感信息

默认情况下,很多Apache安装时会显示版本号及操作系统版本,甚至会显示服务器上安装的是什么样的Apache模块。这些信息可以为
[url=javascript:;]黑客[/url]
所用,并且黑客还可以从中得知你所配置的服务器上的很多设置都是默认状态。
这里有两条语句,你需要添加到你的httpd.conf文件中:
ServerSignature Off
ServerTokens Prod
ServerSignature
出现在Apache所产生的像404页面、目录列表等页面的底部。ServerTokens目录被用来判断Apache会在Server
HTTP响应包的头部填充什么信息。如果把ServerTokens设为Prod,那么HTTP响应包头就会被设置成:
Server:Apache
如果你非常想尝试其它事物,你可以通过编辑源代码改成不是Apache的其它东西,或者你可以通过下面将要介绍的mod_security实现。
三、确保Apache以其自身的用户账号和组运行
有的Apache安装过程使得服务器以nobody的用户运行,所以,假定Apache和你的邮件服务器都是以nobody的账号运行的,那么通过Apache发起的攻击就可能同时攻击到邮件服务器,反之亦然。
User apache
Group apache
四、确保web根目录之外的文件没有提供服务
我们不让Apache访问web根目录之外的任何文件。假设你的所以web站点文件都放在一个目录下(例如/web),你可以如下设置:
Order Deny,Allow
Deny from all
Options None
AllowOverride None

Order Allow,Deny
Allow from all

注意,因为我们设置Opitins None 和AllowOverride None,这将关闭服务器的所有Option和Override。你现在必须明确把每个目录设置成Option或者Override。
五、关闭目录浏览
你可以在Directory标签内用Option命令来实现这个功能。设置Option为None或者-Indexes。
Options -Indexes
六、关闭includes
这也可以通过在Directory标签内使用Option命令来实现。设置Option为None或者-Includes。
Options -Includes
七、关闭CGI执行程序
如果你不用CGI,那么请把它关闭。在目录标签中把选项设置成None或-ExecCGI就可以:
Options -ExecCGI
八、禁止Apache遵循符号链接
同上,把选项设置成None或-FollowSymLinks:
Options -FollowSymLinks
九、关闭多重选项
如果想关闭所有选项,很简单:
Options None
如果只想关系一些独立的选项,则通过将Options做如下设置可实现:
Options -ExecCGI -FollowSymLinks -Indexes
十、关闭对.htaccess文件的支持
在一个目录标签中实现:
AllowOverride None
如果需要重载,则保证这些文件不能够被
[url=javascript:;]下载

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:MySQL Proxy 学习笔记

下一篇:#2002 - 服务器没有响应 (or the local MySQL server's socke