让你的服务器更安全的20个配置[转] 

当然,这只针对于apache httpd server。不过其中的一些方面,同样适用于nginx、lighttpd、cherokee、hiawatha等非主流服务器系统.

1.首先确保已经打好了全部已知安全补丁....

2.隐藏掉服务器的版本等敏感信息.
ServerSignature Off
ServerTokens Prod

3.确保httpd是以它自己的用户和组在运行.
User apache
Group apache

4.确保只有网站根目录下的文件才可以通过web被访问.
<Directory />
Order Deny,Allow
Deny from all
Options None #这个可以被局部参数覆盖
AllowOverride None #这个可以被局部参数覆盖
</Directory>

5.关闭目录结构列表
Options -Indexes

6.关闭服务器端的配置文件包括
Options -Includes

7.关闭CGI执行本地脚本(真的很危险)
Options -ExecCGI

8.关闭软链
Options -FollowSymLinks

9.如果可以的话,建议关闭Options 的所有功能.
Options None

或者综上四点所述
Options -ExecCGI -FollowSymLinks -Indexes

10.关闭.htaccess 支持
AllowOverride None

如果必须启用的话可以考虑改名,并限制访问
AccessFileName .httpdoverride
<Files ~ "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</Files>

11.确保httpd已载入mod_security模块,并运行.
LoadModule mod_security mod_security.so
下载地址:http://www.modsecurity.org/

12.去除掉不需要的模块.
可以使用 grep LoadModule httpd.conf 查看所有模块.

下面是一些通常不需要的而普遍被启用的模块:
mod_imap, mod_include, mod_info, mod_userdir, mod_status, mod_cgi, mod_autoindex.

13.确保只有root拥有对httpd配置文件和程序文件的读写权限.
chown -R root:root /path/to/apache
chmod -R o-rwx /path/to/apache

14.减少请求超时时间间隔
Timeout 45 #默认是300s

15.限制请求体大小,以防超大文件
LimitRequestBody 1048576

同样作用的配置还有:
LimitRequestFields, LimitRequestFieldSize 和 LimitRequestLine

16.限制XML请求体的大小
LimitXMLRequestBody 10485760
当然,这只适用于apache httpd 集成了SVN的服务器.

17.限制并发请求
MaxClients ??? #根据各自服务器内存适量设置

相关的配置项:
MaxSpareServers, MaxRequestsPerChild
ThreadsPerChild, ServerLimit,MaxSpareThreads 适用于apache2.x

18.限制IP访问
Order Deny,Allow
Deny from all
Allow from 127.0.0.1

19.调节保持存活时间
MaxKeepAliveRequests ??? #根据各自服务器内存适量设置
KeepAliveTimeout ??? #根据各自服务器内存适量设置

20.确保httpd运行在chroot 环境
SecChrootDir /chroot/apache

这样,apache httpd 就运行在虚拟的系统里,就算被hack了,也不会影响到真实系统.

___END___

这篇文章是我最近一不小心看到的,虽然是发表于2005年,有点过时了.囧rz
不过觉得很有帮助.特别是网络管理员来讲.

原文地址:20 ways to Secure your Apache Configuration
[ ] ( 1947 次浏览 ) 永久链接 ( 3 / 2906 )

<< <上一页 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 下一页> >>