不用此栏

program is not smple……

20种让你的Apache更安全的设置(翻译)
原文来自: http://www.petefreitag.com/item/505.cfm
一. 确定你安装了最新的安全补丁.先把本文del.icio.us了,然后再回来看其他的。
二. 隐藏Apache的版本号,以及其他一些信息apache的默认设置公开了apache的版本号,操作系统,甚至还有已经安装了的apache组件。黑客们会利用这些信息更方便的去攻击你。并且,这些信息告诉了所有人:你的apache并没有经过配置
你可以在httpd.conf文件中,加上或者修改两条代码,隐藏信息。
ServerSignature Off
ServerTokens Prod
ServerSignature apache生成的一些页面底部,比如404页面,文件列表页面等等。
ServerTokens指向被用来设置Server的http头回响。设置为Prod可以让HTTP头回响显示成这样….
Server: Apache
如果是个超级偏执狂,你可以修改源代码或者使用mod_security,来显示比Apache更多的东西.
确定apache是运行在它之下的用户和组之下。很多apache安装之后他们是运行在nobody之下的。所以,每个运行在nobody之下的apache,将会被同组的邮件服务其攻击。chown apache.apache /var/…
User apache
Group apache
确认根目录的东西是关闭的我们不惜王apache有修改根目录的全县。 所以,建议你所有的网站都放在一个目录下面(我们称为/web,你可以象这样设置:

Order Deny,Allow
Deny from all
Options None
AllowOverride None
Order Allow,Deny
Allow from all


QUOTE:
由于我们设置了Options None 和AllowOverride None,这将关闭options权限和覆盖权限,你现在必须为每个文件夹加上explicitly,为他们恢复Option和Override权限。

关闭文件夹浏览你可以在httpd.conf的Directory标签中间加上一个Options指令
。 设置Options为None或者-Indexes
Options -Indexes
关闭服务器的side includes也要添加一条Optoions指令到Directory 标签中, 使Options 为 None或者-Includes
Options -Includes
关掉CGI如果你不用CGI,那就在Directory标签中加上一条Options指令关掉他。 使Options为None或者-ExecCGI
Options -ExecCGI
不要让apache进入象征性links中(我理解的是#)也是在directory中修改Options 为 -FollowSymLinks
Options -FollowSymLinks
关闭多选项关闭所有选项
Options none
关闭几个选项
Options -ExecCGI -FollowSymLinks -Indexes
关闭对 .htaccess 文件的支持。也在Directory标签中,但是AllowOverride指令
AllowOverride none
如果你需要Overrides,需要确认他们不能被下载。改变他们的文件名,而不是原来的.htaccess, 比如可以改为.httpdoveride, 或者屏蔽所有的.ht开头的文件。
AccessFileName .httpdoverride
Order allow,deny
Deny from all
Satisfy All

运行 mod_securitymod_security 是一个非常好用的Apache组件.
通过mod_security你可以达到以下效果:

简单的过滤
正则表达式过滤
URL 编码验证
Unicode编码验证
核查
Null值攻击预防
上传大小限制
服务器身份掩藏
内置Chroot支持
更多…
关掉一些不需要的组件去module documentation 看一下你到底需要哪些组件. 好多时候你会发现,你并不需要….
一行一行去查找你的httpd.conf里是否包含LoadModule, 可以用#放在行首去关闭组件。 如果象搜索组件,可以运行:
grep LoadModule httpd.conf
这里有些组件常常打开的,但是不需要。
mod_imap,mod_include,mod_info,mod_userdir,mod_status,mod0cgi,mod-autoindex.
去人只有root有阅读apache配置文件和bin文件的权限。chown -R root:root /usr/local/apache
chmod -R o-rwx /usr/local/apache
减少Timeout值默认设置timeout指令是300秒。 你可以减小他,以预防一些潜在攻击。
Timeout 45
减小最大请求apache有很多指令来减小请求数,一个很好的指令是LimitRequestBody指令。 这条指令默认设置是无线的。 如果你想设置上传文件不能超过1MB, 你可以这样写:
LimitRequestBody 1048567
如果不允许问文件上传。你可以设得更小。
其他得指令,可以看看LimitRequestFields,LimitrequestFieldSize , LimitRequestLine. 这些指令都是默认设置。但是你必须去优化他们,成为你需要的。 可以看看这个文档
限制XML body区的大小如果你运行了mod_dav,你会希望限制XML 请求的body大小。 LimitXMLRequestBody指令只有在Apache2中有。 并且他的默认值是1个millon字节大小,大约1M, 很多教材上说这里设置为0比较好,这就意味着多大的文件都可以上传,如果你需要上传大文件的话。 但是如果你简单的改变一下控制。 你可以大概的设置成10MB
LimitXMLRequestBody 10485760
限制并发apache有些设置可以限制并发请求。MaxClients就是服务器能承受的最大用户值。
其他的指令比如MaxSpareServers,MaxRequestsPerChild, Apache2上的 ThreadsPerChild,ServerLimit,和MaxSpareThreads 和你的系统硬件配置的配合都是很重要的。
IP限制地址段如果你有一些资源只能给特定的网段使用…176。16.0.0–176.16.0.16
Order Deny,Allow
deny from all
Allow from 176.16.0.0/16
或者也可以限定单一IP
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
调整KeepAlive 设置MaxKeepAliveRequests –> 100 — (你需要的数)
KeepAliveTimeout –> 15 –(你需要的数)
在Chroot环境运行apache(没翻译. )chroot allows you to run a program in its own isolated jail. This prevents a break in on one service from being able to effect anything else on the server.
It can be fairly tricky to set this up using chroot due to library dependencies. I mentioned above that the mod_security module has built in chroot support. It makes the process as simple as adding a mod_security directive to your configuration:
SecChrootDir /chroot/apache
There are however some caveats however, so check out the docs for more info



 
阅读更多
想对作者说点什么? 我来说一句

区块链和应用场景

2017年02月15日 3.06MB 下载

PS技术,20种,让你美得不行

2011年10月29日 2.4MB 下载

没有更多推荐了,返回首页

不良信息举报

20种让你的Apache更安全的设置(翻译)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭