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.