Webový aplikační firewall ModSecurity pro Apache na CentOSu 7 – instalace

Pro zodolnění Apache http serveru je možno zvolit mnoho způsobů (např. fail2ban IPS pro dynamickou analýzu logů a banování útočících IP adres na firewalu OS). Dalším způsobem je webový aplikační firewall (Web Application Firewall – WAF), který lze k Apache http serveru doinstalovat jako modul mod_security. Tento nástroj umí chránit webový server proti škodlivému kódu jako například SQL injection, cross site scripting, Trojským koním, session hijackingu, atd.

Instalace je z repozitáře jednoduchá.

yum install mod_security.x86_64 mod_security_crs.noarch

V adresáři /etc/httpd/conf.d najdete nový konfigurační soubor mod_security.conf, kde velmi doporučuji nastavit parametr SecRuleEngine z hodnoty On na DetectionOnly.

SecRuleEngine DetectionOnly 

Touto úpravou zajistíte, že ModSecurity bude pouze detekovat hrozby, ale nijak do komunikace nebude zasahovat.

Dalšími důležitými parametry jsou cesty k definicím pravidel pro detekci hrozeb.

IncludeOptional modsecurity.d/*.conf 
IncludeOptional modsecurity.d/activated_rules/*.conf 
IncludeOptional modsecurity.d/local_rules/*.conf

Před přepnutím WAF z detekčního režimu do aktivního doporučuji ve všech definovaných virtuálních webech selektivně ModSecurity vypnout přidáním následující konfigurace.

<IfModule mod_security2.c>
SecRuleEngine Off 
</IfModule>

Odstraněním této části konfigurace postupně můžete odladit chování WAF a případně najít „false positive“ detekce.

Počítejte s tím, že zejména starší aplikace nebo aplikace „samodomo“ budou vykazovat velkou míru falešených pozitivit!

K základům instalace a konfigurace WAF ModSecurity existuje online ebook.