Sep 05 2011

Aapache的一些安全设置

Category: 技术ssmax @ 19:04:31

今天申请的verisign证书下来了,给一台服务器重新安装了apache,其中一些安全设置记录一下,已方便以后查询

1,禁用sslv2,由于sslv2有安全隐患,所以最好禁止使用,firefox是直接把sslv2去掉了的

以下为apache禁用sslv2的方法:

SSLProtocol -ALL +SSLv3 +TLSv1
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM

测试是否已经关闭的方法:

#openssl s_client -ssl2 -connect virtualhost:443
#openssl s_client -ssl3 -connect virtualhost:443
#openssl s_client -tls1 -connect virtualhost:443

其中第一行应该不能成功建立连接了,就代表sslv2已经被禁用。

具体的说明可以参考这里:http://www.linux4beginners.info/node/disable-sslv2

 

2,更改Server Header,http里面的Server头表示你访问的服务器的版本信息,一般我们最好隐藏起一些必要的信息,使用以下设置:

ServerTokens Prod
ServerSignature Off

这样设置以后,Server头只会显示 Apache,如果这样你还是不满意,就只能更改源代码了(因为使用mod_headers 也不能修改了)
修改 ./include/ap_release.h

#define AP_SERVER_BASEPRODUCT “Apache”

改成你想要的东东即可,然后重新编译发布。

当然,如果你想改点其他Header,用mod_headers 设置即可,比如

Header add X-Powered-By “ASP.NET”

详细配置文档地址:for 2.2  http://httpd.apache.org/docs/2.2/mod/mod_headers.html

3,Apache官方于2011年8月24日公布漏洞:Range header DoS vulnerability Apache HTTPD 1.3/2.x \(CVE-2011-3192\)
说明:该漏洞可轻易被攻击工具占用大量内存和CPU,导致无法处理正常请求。
影响版本:Apache 1.3 all versions, Apache 2 all versions

临时解决方案:

RequestHeader unset Range

去掉Range请求,呵呵,一般不是下载站点的话,不需要断点续传的了。
漏洞地址:http://people.apache.org/~dirkx/CVE-2011-3192.txt