iptables

Az IP-táblák használata az ICMP blokkolásához

Az IP-táblák használata az ICMP blokkolásához

Az Internet Control Message Protocol, más néven ICMP, egy protokoll, amelyet a hosztok hálózati kapcsolatának ellenőrzésére használnak. Használhatjuk ezt a protokollt a hálózatok problémáinak diagnosztizálására is. De biztonsági szempontból valaki használhatja DDoS támadás végrehajtására is. A ping áradás vagy az elosztott szolgáltatásmegtagadás (DDoS) támadás egy olyan támadási forma, amikor valaki rengeteg ping kérést küld egy gazdagépnek, és a gazdagép szinte elérhetetlenné válik a rutin forgalom számára. Az ilyen helyzet elkerülése érdekében a rendszergazdák általában blokkolják az ICMP-t a hálózatukon. Ebben a cikkben megtudhatjuk, hogyan használhatók az IP-táblák az ICMP blokkolására a szerverünkön.

Mik az IP-táblák?

Az IP Tables egy tűzfal segédprogram Linux operációs rendszerekhez. Használható hálózati forgalom elfogadására, megtagadására vagy visszaadására egy forrásból vagy onnan. Megfigyeli az elkövetkező hálózati forgalmat egy táblázatban meghatározott különféle szabálykészletek felhasználásával. Ezeket a szabályrendszereket láncoknak nevezzük. Az IP-táblák megfigyelik az adatcsomagokat, és a szabályokkal egyező csomagok egy másik láncra irányulnak, vagy a következő értékek egyikéhez vannak rendelve.

IP-táblák telepítése

A legtöbb Linux disztribúció esetén az IP táblák előre vannak telepítve. A következő parancs beírásával ellenőrizheti, hogy az IP-táblák telepítve vannak-e vagy sem.

[e-mail védett]: ~ $ iptables --version

Ha az IP-táblák nincsenek telepítve, akkor a következő parancs futtatásával telepítheti őket a terminálon.

[e-mail védett]: ~ $ sudo apt-get update
[email protected]: ~ $ sudo apt-get install iptables

A következő parancs futtatásával ellenőrizhetjük az IP-táblák alapértelmezett állapotát.

[e-mail védett]: ~ $ sudo iptables -L -v

A '-L' jelöli az összes szabályt, a '-v' pedig részletes információkat jelenít meg.

Alternatív megoldásként felsorolhatjuk az IP-táblákhoz hozzáadott összes szabályt is a következő parancs futtatásával a terminálban.

[e-mail védett]: ~ $ sudo iptables -S

Alapértelmezés szerint az összes lánc elfogadja a csomagokat, és ezekhez a láncokhoz nincs hozzárendelve szabály.

Szabályok hozzárendelése láncokhoz

Kezdetben egyetlen lánchoz sem rendelnek szabályt, és mindannyian elfogadják a hálózati forgalmat. Ebben a szakaszban meglátjuk, hogyan definiálhatunk egyéni szabályokat a hálózati forgalom blokkolásához vagy engedélyezéséhez. Új szabály definiálásához használjuk az 'A' (függelék) jelzőt, amely megmondja az IP tábláknak, hogy új szabályt kell definiálni. A következő lehetőségeket használják az A jelzővel együtt a szabály leírására.

-én (interfész): Ez az opció jelzi, hogy melyik felületen szeretné engedélyezni vagy blokkolni a hálózati forgalmat. A következő parancs futtatásával kapja meg a rendszer összes interfészét.

[e-mail védett]: ~ $ ifconfig

-o (protokoll): Ez az opció meghatározza, hogy melyik protokollt kívánja szűrni az IP táblák segítségével. Ez lehet TCP, UDP, ICMP, ICMPV6 stb. Az összes lehetőség használatával szabályokat alkalmazhat az összes protokollra.

-s (forrás): Ez az opció megmutatja a hálózati forgalom forrását, például IP-címet vagy tartománynevet.

-dport (célport): Ez az opció a hálózati forgalom célportjának megjelölésére szolgál.

-j (target): Ez az opció a cél megjelenítésére szolgál. Ez lehet ELFOGADÁS, CSEPP, ELutasítás vagy VISSZATÉRÉS. Ez a lehetőség minden szabály esetében kötelező.

Általában a szabály hozzáadásának alapvető szintaxisa a következő lesz:

[e-mail védett]: ~ $ sudo iptables -A -én -j
-o -dport -s

Az ICMP blokkolása az IP táblák használatával

Eddig alapvető ismeretekkel rendelkezünk az IP-táblákról és azok használatáról, amelyek lehetővé teszik vagy blokkolják a forgalmat bizonyos portokon meghatározott interfészeken keresztül. Most IP-táblákkal fogjuk blokkolni az ICMP-t a szerverünkön.

A következő parancs hozzáad egy szabályt az ICMP blokkolásához a számítógépen:

[e-mail védett]: ~ $ sudo iptables -A INPUT -j REJECT -p icmp --icmp típusú echo-request

A fenti parancs futtatása után ellenőrizze az IP-táblák állapotát.

[e-mail védett]: ~ $ sudo iptables -L -v

Láthatjuk, hogy egy szabály bekerült az INPUT láncba, amely azt mutatja, hogy az összes ICMP forgalmat elutasítják. Ha most pingeljük a rendszerünket bármely más, ugyanabból a hálózatból származó rendszerből, az elutasítja a kérést. Az eredményt úgy láthatjuk, hogy pingkérést küldünk a localhost-tól

[e-mail védett]: ~ $ ping 127.0.0.1

Láthatjuk, hogy elutasító üzeneteket kapunk a rendszerből, ha ping kérést próbálunk megtenni rá.

Alternatív megoldásként a következő két paranccsal szabályokat lehet hozzáadni az ICMP blokkolásához a szerverünkön.

[e-mail védett]: ~ $ sudo iptables -A INPUT -p icmp -j DROP --icmp-típusú echo-request
[e-mail védett]: ~ $ sudo iptables -A KIMENET -p icmp -j DROP --icmp típusú echo-válasz

E két szabály hozzáadása után ellenőrizze az IP-táblák állapotát.

[e-mail védett]: ~ $ sudo iptables -L -v

Láthatjuk, hogy a fenti parancs két szabályt adott hozzá, az egyiket az INPUT lánchoz, a másikat az OUTPUT lánchoz.

A különbség a DROP és a REJECT között az, hogy a REJECT használatakor figyelmeztetést jelenít meg (célport elérhetetlen), amikor pingelünk, mert a kérést elutasítják, és nem éri el a portot. Másrészről, amikor egy DROP-t használunk, az egyszerűen eldobja a kimenetet. Az input nem kerül elutasításra, feldolgozásra kerül, de a kimenet nem az alábbiak szerint jelenik meg

Következtetés

A hackerek különböző módszereket alkalmaznak az elosztott szolgáltatásmegtagadás (DDoS) támadások végrehajtására a szerverek felé. Az áradás a DDoS-támadások egyik formája is. A hackerek annyi ping-kérést küldenek a szerverre, hogy a kiszolgáló minden számítási erejét felhasználja a ping-kérelmek feldolgozására, és nem a tényleges feldolgozását hajtja végre. Ebben a vagy több más esetben előfordulhat, hogy blokkolnia kell az ICMP-t a kiszolgálón.

Ebben a cikkben megtanultuk az ICMP blokkolásának különböző módjait az IP táblák segítségével. Megbeszéltük, hogyan adhatunk hozzá különféle szabályokat az ICMP blokkolásához a szerverünkön. Ugyanígy használhatunk IP-táblákat bármilyen forgalom blokkolására bármely porton IP-táblák segítségével.

OpenTTD vs Simutrans
Saját közlekedési szimuláció létrehozása szórakoztató, pihentető és rendkívül csábító lehet. Ezért meg kell győződnie arról, hogy a lehető legtöbb ját...
OpenTTD bemutató
Az OpenTTD az egyik legnépszerűbb üzleti szimulációs játék. Ebben a játékban létre kell hoznia egy csodálatos szállítási vállalkozást. Azonban kezdete...
SuperTuxKart Linuxhoz
A SuperTuxKart egy nagyszerű cím, amelynek célja, hogy ingyenesen hozza el a Mario Kart élményét Linux rendszerén. Elég kihívást jelentő és szórakozta...