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.
- PŘIJATO: Paket bude mít povolení projít
- UPUSTIT: Paket nebude možné předat
- VRÁTIT SE: Řetězec vrátí paket do předchozího řetězce.
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 --verzePokud 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 -vPří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-p