Pokud provozujete webové stránky, někdo se do nich právě teď pravděpodobně pokouší proniknout. Boti procházejí vaše formuláře a automatizované nástroje zahlcují přihlašovací stránky pomocí payloadů využívajících SQL injection a XSS. Webový aplikační firewall (WAF) většinu těchto útoků zastaví a můžete jej mít spuštěný během přibližně deseti minut.
Tento článek představuje SafeLine, bezplatný WAF provozovaný na vlastní infrastruktuře. Funguje před vašimi stávajícími službami, filtruje škodlivý provoz a umožňuje vám sledovat, co na vaše aplikace přichází. Bez cloudového účtu, bez účtování za jednotlivé požadavky a bez vendor lock-inu.
Co je SafeLine?
SafeLine je WAF, který provozujete na vlastním serveru nebo virtuálním stroji. Personal Edition je zdarma a podporuje až 10 aplikací a přibližně 800 požadavků za sekundu. Funguje jako reverzní proxy: svou doménu nasměrujete na SafeLine a ten následně předává čistý provoz na váš skutečný backend bez ohledu na to, jaké řešení již používáte.
Protože je SafeLine provozován na vlastní infrastruktuře, váš provoz neopouští vaše prostředí. Máte tak kontrolu nad tím, kde jsou uloženy logy a kdo k nim má přístup. To je důležité zejména v rámci požadavků na compliance.
Proč instalace zabere jen deset minut?
SafeLine je distribuován jako Docker Compose stack, takže není nutné nic kompilovat ze zdrojových kódů. Instalace se provádí jediným příkazem:
Po dokončení instalace otevřete konzoli na adrese https://your-server-ip:9443, nastavíte heslo a můžete začít. Přidání webu je také jednoduché: zadáte svou doménu, nakonfigurujete backend a SafeLine ji začne chránit v režimu detekce a zaznamenávání.
To je celá konfigurace. Nejsou potřeba žádné kernelové moduly, nastavování hluboké inspekce paketů ani složité řešení certifikátů. Pokud chcete používat HTTPS, SafeLine si poradí i s tím.
Co SafeLine skutečně blokuje?
SafeLine ve výchozím nastavení pokrývá hlavní webová rizika z OWASP Top 10, včetně:
- SQL injection a NoSQL injection
- Cross-site scripting, známého také jako XSS
- vzdáleného spuštění kódu a command injection
- path traversal a file inclusion
- běžných botů, skenerů a pokusů o credential stuffing
- CC floodů a neobvykle vysokého počtu požadavků
- request smugglingu a zneužití na úrovni protokolu
K dispozici je také omezení rychlosti požadavků (rate limiting), řízení přístupu podle IP adres a cest a autentizace uživatelů.
Sémantická analýza, nejen signatury
Právě v tom se SafeLine odlišuje od běžného ModSecurity. Tradiční WAFy porovnávají požadavky s rozsáhlými seznamy regulárních výrazů. To funguje, dokud útočník nezmění podobu payloadu nebo dokud legitimní požadavek náhodou neobsahuje řetězec, který vypadá jako útok a způsobí falešný poplach.
Engine SafeLine každý požadavek sémanticky analyzuje a vyhodnocuje, zda je jeho záměr škodlivý. V benchmarku BlazeHTTP SafeLine detekoval přibližně 71,6 % útočných payloadů při míře falešně pozitivních výsledků 0,07 %. Naproti tomu vyladěný ModSecurity s OWASP CRS dosáhl detekce 69,7 %, ale s výrazně vyšší mírou falešně pozitivních výsledků. Základní bezplatná konfigurace Cloudflare zachytila přibližně 10,7 %.
Praktickým výsledkem je méně zbytečných blokací legitimních uživatelů a zároveň vyšší úspěšnost při zachytávání skutečných útoků.
Pro koho je SafeLine vhodný?
SafeLine dobře zapadá do několika typických scénářů:
- jednotliví vývojáři a uživatelé provozující vlastní služby
- malé týmy provozující interní dashboardy, API nebo portály
- agentury, které spravují více webů svých klientů z jednoho místa
- organizace s přísnými požadavky na compliance nebo datovou lokalizaci, které potřebují uchovávat svá data ve vlastní infrastruktuře místo cloudu
- Pokud vám bezplatná Personal Edition přestane stačit, placené tarify nabízejí podporu většího počtu aplikací, pokročilé funkce a technickou podporu. Upgradujte pouze tehdy, když ji skutečně potřebujete.
Jak začít
Stručně řečeno:
- Připravte si menší Linux server (1 CPU, 1 GB RAM, 5 GB diskového prostoru).
- Spusťte instalační příkaz a poté otevřete konzoli na portu 9443.
- Přidejte svůj první web a nasměrujte DNS na server se SafeLine.
Dokumentace obsahuje podrobný postup všech kroků.
K nasazení skutečného WAF před vaše aplikace nemusíte být bezpečnostní expert. SafeLine vám poskytne vlastní bezpečnostní vrstvu, která blokuje útoky, jež už nyní plní vaše logy, a její nasazení zabere jen několik minut. Pokud jste nasazení WAF dosud odkládali, může jít o jednoduchý první krok ke zvýšení bezpečnosti vašich webových aplikací.