Ubuntu Apache搭建modSecurity,創建自己的WAF

安裝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

  1. ubuntu上安裝Apache2+ModSecurity及自定義WAF規則
  2. ModSecurity CRS 筆記、WAF防禦checklist,及WAF架構的一些想法
  3. ModSecurity SecRule cheatsheets
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章