网站服务器安全是个大话题;说到什么是加固某一台网站服务器的最佳工具和技术,不同的人自有不同的偏好和观点。就Apache网站服务器而言,即便不是所有专家,至少也是绝大多数专家一致认为,mod_security和mod_evasive是两个非常重要的模块,可以保护Apache网站服务器远离常见的威胁。
我们在本文中将探讨如何安装及配置mod_security和mod_evasive,假设Apache HTTP网站服务器已经搭建并运行起来。我们将执行演示性质的压力测试,看看该网站服务器在遇到拒绝服务(DOS)攻击时会有怎样的反应,并且演示它如何借助这些模块来反击。我们在本教程中将使用CentOS平台。
安装mod_security和mod_evasive
要是你还没有启用CentOS/RHEL服务器中的EPEL软件库,就需要先启用该软件库,之后再安装这些软件包。
# yum install mod_security
# yum install mod_evasive
安装完成后,你会在/etc/httpd/conf.d里面找到主配置文件:
现在,你需要确保Apache启动时装入这两个模块。在mod_security.conf和mod_evasive.conf中分别寻找下列行(如果没有这些行,就添加上去):
LoadModule security2_module modules/mod_security2.so
LoadModule evasive20_module modules/mod_evasive20.so
•LoadModule指令告诉Apache链接对象文件(*.so),将它添加到活动模块列表。
•security2_module和evasive20_module是模块的名称。
•modules/mod_security2.so和modules/mod_evasive20.so是从/etc/httpd目录到模块源文件的相对路径。只要检查/etc/httpd/modules目录的内容,就能核实路径(必要的话,还可以更改路径)。
现在重启Apache网站服务器:
# service httpd restart
配置mod_security
为了使用mod_security,必须先安装核心规则集(CRS)。基本上而言,CRS为网站服务器提供了一套规则,这套规则明确了在某些情形下服务器有怎样的行为。Trustwave的SpiderLabs(开发mod_security的公司)提供了开放式Web应用安全项目(OWASP)ModSecurity
CRS,详见https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project。
如果想下载并安装最新的OWASP
CRS,可以使用下面这些命令。
# mkdir /etc/httpd/crs
# cd /etc/httpd/crs
# wget https://github.com/SpiderLabs/owasp-modsecurity-crs/tarball/master
# tar xzf master
# mv SpiderLabs-owasp-modsecurity-crs-ebe8790 owasp-modsecurity-crs
现在,浏览到已安装的OWASP
CRS目录。