V dnešním digitálním světě se stává ochrana serverů před síťovými útoky kriticky důležitou. Mezi nejčastější a potenciálně devastující útoky patří tzv. SYN flood útoky, které cílí na protokol TCP/IP a mohou vyřadit server z provozu tím, že zaplaví jeho frontu polospojení. V tomto článku se zaměříme na konfiguraci nástroje iptables na Virtual private server (VPS), abychom zajistili pokročilou ochranu před těmito útoky.
Pochopení SYN flood útoků
Předtím, než přistoupíme k samotné konfiguraci, je důležité porozumět, jak SYN flood útoky fungují. Útočník odesílá velké množství SYN požadavků (počáteční krok v TCP three-way handshake) na cílový server, ale nikdy nedokončí handshake odesláním ACK. To vede k vyčerpání zdrojů serveru a může způsobit, že servery nebudou schopny obsluhovat legitimní uživatele.
Základní konfigurace iptables
Iptables je uživatelský prostředek pro konfiguraci firewallu v Linuxu, který umožňuje definovat pravidla pro kontrolu síťového provozu. Pro ochranu před SYN flood útoky je potřeba nastavit pravidla, která omezí nebo zcela zablokují neobvykle vysoký počet SYN požadavků.
1. Omezení počtu SYN požadavků
Prvním krokem je nastavení pravidel, která omezí rychlost nových SYN požadavků. To lze provést pomocí modulu limit
v iptables.
iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 3 -j ACCEPT
Toto pravidlo umožňuje maximálně jeden SYN požadavek za sekundu s povoleným nárazovým limitem tří požadavků. Požadavky, které překročí tento limit, budou zahozeny.
2. Použití SYNPROXY
Pro ještě pokročilejší ochranu lze použít SYNPROXY
, který je součástí netfilteru a slouží k mitigaci útoků na nižších vrstvách. SYNPROXY
pracuje tak, že zastupuje cílový server v TCP handshake, a tím ochrání samotný server před zaplavením.
iptables -t raw -A PREROUTING -p tcp -m tcp --syn -j CT --notrack
iptables -A INPUT -p tcp -m tcp --syn -j SYNPROXY --sack-perm --timestamp --wscale 7 --mss 1460
iptables -A INPUT -m state --state INVALID -j DROP
3. Zákaz provozu z neobvyklých sítí
Další pravidlo může blokovat pakety z neobvyklých IP adresních rozsahů, které jsou často využívány pro útoky.
iptables -A INPUT -s 192.0.2.0/24 -j DROP
4. Logování a monitorování
Pro účely diagnostiky a analýzy je důležité logovat pokusy o útoky a monitorovat síťový provoz.
iptables -A INPUT -p tcp --syn -j LOG --log-prefix "SYN flood attempt: "
Implementace pokročilé konfigurace iptables pro ochranu VPS před SYN flood útoky je klíčová pro zajištění stability a dostupnosti serverových služeb. Uvedené konfigurace představují základní soubor pravidel pro obranu proti těmto útokům. Je důležité pravidelně aktualizovat a přizpůsobovat pravidla aktuálním hrozbám a specifikům síťového prostředí.