iptables

Jak používat tabulky IP k blokování protokolu ICMP

Jak používat tabulky IP k blokování protokolu ICMP

Internet Control Message Protocol, také známý jako ICMP, je protokol používaný ke kontrole připojení hostitelů v síti. Tento protokol můžeme také použít k diagnostice problémů v síti. Z bezpečnostního hlediska jej však může někdo také použít k provedení útoku DDoS. Ping povodeň nebo útok DDoS (Distributed Denial of Service) je forma útoku, kdy někdo pošle hostiteli mnoho požadavků na ping a hostitel se pro rutinní provoz stane téměř nepřístupným. Aby se tomuto druhu situace zabránilo, správci sítě obvykle blokují ICMP v jejich síti. V tomto článku se dozvíme, jak lze tabulky IP použít k blokování protokolu ICMP na našem serveru.

Co jsou tabulky IP?

IP Tables je obslužný program brány firewall pro operační systémy Linux. Lze jej použít k přijetí, odmítnutí nebo vrácení síťového provozu ze zdroje nebo ze zdroje. Pozoruje nadcházející síťový provoz pomocí různých sad pravidel definovaných v tabulce. Tyto sady pravidel se nazývají řetězce. Tabulky IP sledují pakety dat a které shody paketů s pravidly jsou směrovány do jiného řetězce nebo jim je přiřazena jedna z následujících hodnot.

Instalace tabulek IP

U většiny distribucí Linuxu jsou tabulky IP předinstalovány. Můžete zkontrolovat, zda jsou tabulky IP nainstalovány nebo ne, zadáním následujícího příkazu do terminálu.

[chráněno e-mailem]: ~ $ iptables --verze

Pokud tabulky IP nejsou nainstalovány, můžete je nainstalovat spuštěním následujícího příkazu v terminálu.

[chráněno e-mailem]: ~ $ sudo apt-get aktualizace
[chráněno e-mailem]: ~ $ sudo apt-get install iptables

Můžeme zkontrolovat výchozí stav tabulek IP spuštěním následujícího příkazu v terminálu.

[chráněno e-mailem]: ~ $ sudo iptables -L -v

Příznak '-L' uvádí seznam všech pravidel a příznak '-v' zobrazuje podrobné informace.

Alternativně můžeme také zobrazit seznam všech pravidel přidaných do tabulek IP spuštěním následujícího příkazu v terminálu.

[chráněno e-mailem]: ~ $ sudo iptables -S

Ve výchozím nastavení všechny řetězce přijímají pakety a těmto řetězcům není přiřazeno žádné pravidlo.

Přiřazení pravidel řetězům

Zpočátku není žádnému řetězci přiřazeno žádné pravidlo a všechny přijímají síťový provoz. Nyní v této části uvidíme, jak můžeme definovat vlastní pravidla pro blokování nebo povolení síťového provozu. Abychom mohli definovat nové pravidlo, použijeme příznak „A“ (dodatek), který IP tabulkám říká, že bude definováno nové pravidlo. Následující možnosti se také používají spolu s příznakem „A“ k popisu pravidla.

-i (interface): Tato možnost určuje, přes které rozhraní chcete povolit nebo blokovat síťový provoz. Seznam všech rozhraní ve vašem systému můžete získat spuštěním následujícího příkazu v terminálu.

[chráněno e-mailem]: ~ $ ifconfig

-p (protokol): Tato možnost definuje, který protokol chcete filtrovat pomocí tabulek IP. Může to být TCP, UDP, ICMP, ICMPV6 atd. Pravidla můžete použít na všechny protokoly pomocí všech možností.

-s (zdroj): Tato možnost zobrazuje zdroj síťového provozu, jako je IP adresa nebo název domény.

-dport (cílový port): Tato možnost se používá k označení cílového portu pro síťový provoz.

-j (cíl): Tato možnost se používá k zobrazení cíle. Může to být PŘIJMOUT, DROP, ODMÍTNOUT nebo NÁVRAT. Tato možnost je povinná pro každé pravidlo.

Základní syntaxe pro přidání pravidla bude obecně následující:

[chráněno e-mailem]: ~ $ sudo iptables -A -i -j
-p -dport -s

Blokování protokolu ICMP pomocí tabulek IP

Zatím máme základní znalosti o tabulkách IP a jejich použití k povolení nebo blokování provozu na konkrétních portech prostřednictvím konkrétních rozhraní. Nyní použijeme k blokování protokolu ICMP na našem serveru tabulky IP.

Následující příkaz přidá pravidlo blokující ICMP na vašem počítači:

[chráněno e-mailem]: ~ $ sudo iptables -A INPUT -j REJECT -p icmp --icmp-type echo-request

Po spuštění výše uvedeného příkazu nyní zkontrolujte stav tabulek IP.

[chráněno e-mailem]: ~ $ sudo iptables -L -v

Vidíme, že do řetězce INPUT bylo přidáno pravidlo, které ukazuje, že veškerý provoz ICMP bude odmítnut. Nyní, pokud testujeme náš systém z jakéhokoli jiného systému ze stejné sítě, odmítne požadavek. Výsledek můžeme vidět provedením požadavku na ping od localhost

[chráněno e-mailem]: ~ $ ping 127.0.0.1

Vidíme, že ze systému dostáváme zprávy o odmítnutí, pokud se pokusíme provést požadavek ping.

Alternativně lze následující dva příkazy použít k přidání pravidel k blokování protokolu ICMP na našem serveru.

[chráněno e-mailem]: ~ $ sudo iptables -A VSTUP -p icmp -j DROP - echo požadavek typu -icmp
[chráněno e-mailem]: ~ $ sudo iptables -A VÝSTUP -p icmp -j DROP - echo-odpověď typu -icmp

Po přidání těchto dvou pravidel nyní zkontrolujte stav tabulek IP.

[chráněno e-mailem]: ~ $ sudo iptables -L -v

Vidíme, že výše uvedený příkaz přidal dvě pravidla, jedno do řetězce INPUT a druhé do řetězce OUTPUT.

Rozdíl mezi DROP a REJECT spočívá v tom, že když použijeme REJECT, zobrazí nám varování (Destination port Unreachable), když pingujeme, protože požadavek je odmítnut a nedosahuje portu. Na druhou stranu, když použijeme DROP, jednoduše poklesne výkon. Vstup není odmítnut, bude zpracován, ale výstup se nezobrazí, jak je znázorněno níže

Závěr

Hackeři používají různé metody k provádění útoků DDoS (Distributed Denial of Service) na servery. Ping flood je také formou DDoS útoku. Hackeři odesílají na server tolik požadavků na ping, že server využívá veškerý svůj výpočetní výkon ke zpracování požadavků na ping a neprovede skutečné zpracování. V tomto scénáři nebo v několika dalších scénářích bude možná nutné zablokovat ICMP na vašem serveru.

V tomto článku jsme se naučili různé způsoby blokování ICMP pomocí tabulek IP. Diskutovali jsme o tom, jak můžeme přidat různá pravidla pro blokování ICMP na našem serveru. Stejným způsobem můžeme pomocí tabulek IP blokovat jakýkoli druh provozu na jakémkoli portu pomocí tabulek IP.

Hry OpenTTD vs Simutrans
OpenTTD vs Simutrans
Vytvoření vlastní simulace dopravy může být zábavné, uvolňující a mimořádně lákavé. Proto se musíte ujistit, že vyzkoušíte co nejvíce her, abyste našl...
Hry Výukový program OpenTTD
Výukový program OpenTTD
OpenTTD je jednou z nejpopulárnějších her pro obchodní simulaci. V této hře musíte vytvořit skvělé dopravní podnikání. Začnete však na začátku kolem r...
Hry SuperTuxKart pro Linux
SuperTuxKart pro Linux
SuperTuxKart je skvělý titul navržený tak, aby vám ve vašem systému Linux přinesl zážitek Mario Kart zdarma. Je to docela náročné a zábavné hrát, je n...