安装apache2
安装命令:sudo apt-get install apache2
启动/停止/重启apache2: service apache2 start/stop/restart
安装modSecurity
第一步:安装libapache2-modsecurity模块及其依赖包
apt-get install libxml2 libxml2-dev libxml2-utils libaprutil1 libaprutil1-dev libapache2-modsecurity
第二步:配置modsecurity,启用拦截模式
下载modsecurity和modsecurity-crs
$service apache2 reload
$cd /etc/modsecurity/
$mv modsecurity.conf-recommended modsecurity.conf
$vim /etc/modsecurity/modsecurity.conf
修改
SecRuleEngine On
第三步:使用modsecurity核心规则集
将我们想起用的规则集放置在以下目录下
cd /usr/share/modsecurity-crs/activated_rules/
选择启用base规则集
for f in $(ls ../base_rules/); do sudo ln -s ../base_rules/$f; done
你可以采用同样的办法启用其他规则集,注意不同的规则集可能需要启用特定的模块
修改apache模块配置,启用规则集
注意:modsecurity 2.7版本与2.6版本的配置文件有些区别
(1)2.7版本
vim /etc/apache2/mods-available/security2.conf
修改
<IfModule security2_module>
# Default Debian dir for modsecurity's persistent data
SecDataDir /var/cache/modsecurity
# Include all the *.conf files in /etc/modsecurity.
# Keeping your local configuration in that directory
# will allow for an easy upgrade of THIS file and
# make your life easier
IncludeOptional /etc/modsecurity/*.conf
IncludeOptional /usr/share/modsecurity-crs/*.conf
IncludeOptional /usr/share/modsecurity-crs/activated_rules/*.conf
</IfModule>
(2)2.6版本
vim /etc/apache2/mods-available/mod-security.conf
修改
Include /etc/modsecurity/*.conf
Include /usr/share/modsecurity-crs/*.conf
Include /usr/share/modsecurity-crs/activated_rules/*.conf
第四步:启用modsecurity模块
$a2enmod headers
$a2enmod security2 (版本2.6: a2enmod mod-security)
$service apache2 restart
第五步:测试真实的攻击payload
看是否能拦截
第六步:自定义WAF规则
Reference