Apache mod_security je silný, open-source webový aplikační firewall (WAF), který poskytuje pokročilou ochranu pro webové aplikace. Přes svou složitost a náročnost na správnou konfiguraci, mod_security je nástroj neocenitelné hodnoty pro obranu proti široké škále útoků, včetně SQL injection, cross-site scripting (XSS), a mnoha dalších. Tento článek poskytuje návod, jak detailně konfigurovat mod_security pro maximální ochranu.
Základní instalace a konfigurace
Pro začátek je třeba mod_security nainstalovat. V mnoha distribucích Linuxu lze mod_security nainstalovat přímo z repozitářů. Například v Debianu nebo Ubuntu to lze provést příkazem sudo apt-get install libapache2-mod-security2
. Po instalaci je důležité aktivovat modul a restartovat Apache pomocí příkazů sudo a2enmod security2
následovaný sudo systemctl restart apache2
.
Konfigurace základních pravidel
Hlavní konfigurační soubor mod_security, obvykle nazvaný modsecurity.conf
, obsahuje základní nastavení. Je důležité zajistit, že režim detekce a prevence je aktivní, což se dělá nastavením SecRuleEngine
na On
. Dále je doporučeno nastavit SecRequestBodyLimit
a SecRequestBodyNoFilesLimit
na hodnoty, které odpovídají maximální povolené velikosti těla požadavku a požadavku bez souborů. To pomáhá předcházet denial-of-service (DoS) útokům.
Použití pokročilých pravidel OWASP
Pro výrazné zvýšení bezpečnosti je doporučeno implementovat sadu pravidel OWASP ModSecurity Core Rule Set (CRS). Tyto pravidla jsou navržena tak, aby detekovala a blokovala běžné útoky. Po instalaci CRS je třeba je aktivovat v Apache konfiguraci, často to znamená přidání Include
direktivy pro soubor CRS crs-setup.conf
a jednotlivé soubory pravidel do konfiguračního souboru Apache.
Vyladění pravidel a výjimky
Během používání mod_security může dojít k falešným pozitivům, kdy legální provoz je blokován. V těchto případech je třeba pravidla vyladit. To lze provést pomocí direktivy SecRuleRemoveById
pro deaktivaci konkrétních pravidel, která způsobují problémy. Je také možné definovat výjimky pro specifické IP adresy nebo cesty pomocí direktiv SecRule
a SecAction
.
Monitorování a audit
Pro efektivní využití mod_security je klíčové průběžné monitorování a analýza logů. Modul zapisuje události do audit logu, který se konfiguruje pomocí direktivy SecAuditLog
. Tento log je neocenitelným zdrojem informací pro analýzu pokusů o útok a identifikaci potřebných úprav pravidel.
Konfigurace Apache mod_security vyžaduje důkladný přístup a průběžné vyladění, ale výsledkem je výrazné zvýšení bezpečnosti webových aplikací. Používáním pravidel OWASP CRS, pečlivým nastavením limitů a vyladěním pravidel podle potřeb konkrétní aplikace lze dosáhnout robustní ochrany proti široké škále útoků. Je důležité nezapomínat na průběžné monitorování a revizi konfigurace a pravidel, protože jak se vyvíjejí hrozby, musí se vyvíjet i obrana proti nim. V neposlední řadě, účinná konfigurace mod_security vyžaduje hluboké porozumění jak fungování webových aplikací, tak i metod a technik používaných útočníky. Výzvou je nalézt rovnováhu mezi bezpečností a uživatelskou přívětivostí, aby ochrana nepředstavovala nepřiměřenou zátěž pro legitimní uživatele. Se správným nastavením však mod_security poskytuje silnou první linii obrany, která dokáže odhalit a zablokovat útoky dříve, než mohou způsobit škodu.