安装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
ubuntu上安装Apache2+ModSecurity及自定义WAF规则ModSecurity CRS 笔记、WAF防御checklist,及WAF架构的一些想法 ModSecurity SecRule cheatsheets