iptables

Ubuntu Iptables A hálózati forgalom ellenőrzése az iptables használatával?

Ubuntu Iptables A hálózati forgalom ellenőrzése az iptables használatával?
„… A felhasználói tér Unix segédprogram, amely lehetővé teszi a rendszergazdák számára, hogy konfigurálják az IP csomagszűrési szabályokat, amelyeket a Kernel net szűrő modulja hajt végre.” Az Iptables tűzfalként működik csomagszűrési szabályok használatával, különféle kritériumok alapján, például IP-cím, port és protokollok alapján.

Ez az útmutató bemutatja, hogyan konfigurálhatja és hogyan használhatja az iptables szabályokat egy Ubuntu rendszeren a hálózat biztonsága érdekében. Függetlenül attól, hogy kezdő Linux-felhasználó vagy tapasztalt rendszergazda, ebből az útmutatóból egy vagy olyan módon megtudhat valami hasznosat az iptables-ről.

Az Iptables előre telepítve van az Ubuntu és a legtöbb Debian alapú disztribúción. Az Ubuntu csomagolja a GUFW tűzfalat is, amely grafikus alternatíva az iptables használatához használható.

JEGYZET: Az iptables használatához és konfigurálásához sudo jogosultságokra lesz szükség a rendszeren. A következő oktatóanyagban többet megtudhat a sudo-ról.

Most, hogy tudod, mi az Iptables, merüljünk bele!

Az iptables használata az IPv4 forgalom kezeléséhez?

Az Iptables használatához az IPv4 hálózat- és forgalomkezeléshez meg kell ismernie a következőket:

Az Iptables parancs

Az Iptables számos lehetőséget kínál, amelyek lehetővé teszik az iptables-szabályok testreszabását és hangolását. Beszéljük meg ezeket a paramétereket, és nézzük meg, mit csinálnak.

JEGYZET: Konfigurálhat olyan szabályokat, amelyek egy adott részhalmazot kezelnek, az úgynevezett iptables láncokat.

Iptables paraméterek

Mielőtt elkezdenénk létrehozni és konfigurálni az iptables szabályokat, először ismerjük meg az iptables alapjait, például az általános szintaxist és az alapértelmezett argumentumokat.

Vegye figyelembe az alábbi parancsot:

sudo iptables -I BEMENET -s 192.168.0.24 -j DROP

A fenti parancs megadja az iptables számára, hogy hozzon létre szabályt a láncban. A szabály eldobja az összes csomagot a 192-es IP-címről.168.0.24.

Vizsgáljuk meg a parancsot soronként, hogy jobban megértsük.

Az Iptables olyan paraméterek széles választékát kínálja, amelyekkel különböző szabályokat konfigurálhat. Az iptables szabályok konfigurálásához használható különféle paraméterek a következők:

Iptables szabály paraméter Leírás
-s -forrás Adja meg a forrást, amely lehet cím, hosztnév vagy hálózati név.
-p -protokoll Megadja a csatlakozási protokollt; például TCP, UDP stb.
-d -célzás Megadja a rendeltetési helyet, amely lehet cím, hálózatnév vagy hosztnév.
-j -ugrás Beállítja az iptables által végrehajtandó műveletet, miután megtalálta a csomagot.
-o -out-interfész Beállítja azt az interfészt, amelyen keresztül az iptable elküldi a csomagot.
-i -interfészen Beállítja a hálózati csomagok létrehozásához használt interfészt.
-c -set-számlálók Lehetővé teszi az adminisztrátor számára, hogy a megadott bájt- és csomagszámlálókat beállítsa.
-g -goto lánc A paraméter megadja, hogy a feldolgozást a felhasználó által beállított láncban kell folytatni a visszatérés után.
-f -töredék Megadja az iptables-nek, hogy a szabályt csak a töredezett csomagok második és következő töredékeire alkalmazza.

Iptables opciók

Az iptables parancs sokféle lehetőséget támogat. Néhány gyakori:

választási lehetőség Leírás
-A -append Hozzáad egy szabályt egy megadott lánc végéhez
-D -delete Eltávolít egy szabályt a megadott láncból
-F -öblítés Minden szabályt eltávolít, egyenként
-L-lista Megmutatja a megadott lánc összes szabályát
-Én -illesztem be Beilleszt egy szabályt a megadott láncba (számként továbbítva, ha nincs megadva szám; a szabály a tetején kerül hozzáadásra)
-C -ellenőrzés Szabályegyeztetés lekérdezése; követelmény egy meghatározott szabályban
-v -verbose További részleteket jelenít meg, ha az -L paraméterrel együtt használjuk
-N -új lánc Új, felhasználó által definiált láncot ad hozzá
-X -delete-chain Eltávolít egy adott felhasználó által definiált láncot

Iptables táblázatok

A Linux kernel alapértelmezett táblákkal rendelkezik, amelyek egy sor kapcsolódó szabályt tartalmaznak. Ezek az alapértelmezett táblák tartalmazzák az alapértelmezett láncok készletét, de a felhasználók testre szabhatják a szabályokat a felhasználó által definiált szabályok hozzáadásával.

JEGYZET: Az alapértelmezett táblák nagymértékben függenek a kernel konfigurációjától és a telepített moduloktól.

Itt vannak az alapértelmezett iptables táblák:

1: A szűrőtáblák

A szűrőtábla egy alapértelmezett tábla, amely a hálózati csomagszűréshez használt láncokat tartalmazza. A táblázat alapértelmezett láncai közül néhány a következőket tartalmazza:

Lánc Leírás
Bemenet Az Iptables ezt a láncot használja a rendszerbe érkező bármilyen csomaghoz, azaz.e., a helyi hálózati aljzatokba kerülő csomagok.
Kimenet Az Iptables a kimeneti láncot használja a helyileg generált csomagokhoz, azaz.e., csomagok mennek ki a rendszerből.
Előre Ezt a láncot használják az Iptables a rendszeren keresztül továbbított vagy továbbított csomagokhoz.

2: A NAT táblázatok

A NAT vagy a hálózati címtábla egy olyan útválasztó eszköz, amelyet a hálózati csomag forrás- és cél-címeinek módosítására használnak. A NAT tábla fő célja két privát címtartományú hálózat összekapcsolása a nyilvános hálózattal.

A NAT-t úgy fejlesztették ki, hogy támogassa a valódi IP-címek maszkolását, lehetővé téve a privát IP-címek terjedését a külső hálózat elérésétől. Ez segít megvédeni a belső hálózatok részleteit a nyilvános hálózatokban.

A NAT tábla akkor kerül alkalmazásra, amikor egy csomag új kapcsolatot indít.

Az Iptables rendelkezik egy alapértelmezett táblázattal a NAT címzéséhez. Ez a táblázat három fő láncot tartalmaz:

Lánc Leírás
PREROUTING Lehetővé teszi a csomaginformációk módosítását, mielőtt megérkeznének a bejövő csomagokhoz használt INPUT láncba
KIMENET Helyben létrehozott csomagok számára van fenntartva, i.e., mielőtt a hálózati útválasztás megtörténne
POSTROUTING Lehetővé teszi az OUTPUT láncból kilépő kimenő csomagok módosítását

Az alábbi ábra ennek a folyamatnak a magas szintű áttekintését mutatja.

Az alábbi paranccsal megtekintheti a NAT útválasztási tábláit.

iptables -t nat -n -v -L

3: A csengőasztalok

A mangle táblázatot elsősorban a csomagok speciális módosítására használják. Egyszerűbben fogalmazva, egy hálózati csomag IP-fejlécének módosítására szolgál. A csomagok módosítása magában foglalhatja a csomag TTL-értékének megváltoztatását, az érvényes hálózati komló megváltoztatását egy csomag számára stb.

A táblázat a következő alapértelmezett láncokat tartalmazza:

Lánc Leírás
PREROUTING A bejövő csomagok számára fenntartva
POSTROUTING Kimenő csomagokhoz használják
BEMENET Közvetlenül a szerverre érkező csomagok esetén használatos
KIMENET Helyi csomagokhoz használják
Előre A rendszeren keresztül továbbított csomagok számára van fenntartva

4: A nyers táblázatok

A nyers tábla fő célja a csomagok kivételeinek konfigurálása, amelyeket nem a nyomkövető rendszer kezel. A nyers tábla NOTRACK jelölést állít be a csomagokra, ami arra készteti a conntrack szolgáltatást, hogy figyelmen kívül hagyja a csomagot.

A Conntrack egy Linux kernel hálózati szolgáltatás, amely lehetővé teszi a Linux kernelnek az összes hálózati kapcsolat nyomon követését, lehetővé téve a kernel számára a hálózati folyamatot alkotó csomagok azonosítását.

A nyers asztalnak két fő lánca van:

Lánc Leírás
PREROUTING A hálózati interfészek által fogadott csomagok számára van fenntartva
KIMENET Helyi folyamatok által kezdeményezett csomagok számára van fenntartva

5: A biztonsági táblázat

Ennek a táblának az elsődleges célja a belső biztonsági javítás (Linux) (SELinux) biztonsági mechanizmusának beállítása, amely megjelöli a csomagokat. A biztonsági jel kapcsolatonként vagy csomagonként alkalmazható.

Kötelező hozzáférés-szabályokra használják, és ez a második táblázat, amelyet a szűrőtábla után érnek el. A következő alapértelmezett láncokat kínálja:

Lánc Leírás
BEMENET Foglalva a rendszerbe érkező csomagok számára
KIMENET Helyileg létrehozott csomagokhoz használják
ELŐRE A rendszeren keresztül továbbított csomagokhoz használják

Miután megnézte az alapértelmezett Iptables programot, menjünk tovább egy lépéssel, és beszéljük meg, hogyan kell működni az iptables szabályokkal.

Az iptables szabályok használata?

Az Iptables szabályait növekvő sorrendben alkalmazzák. Ez azt jelenti, hogy először egy adott halmaz első szabályát kell alkalmazni, majd a második, majd a harmadik és így tovább az utolsó szabályig.

E funkció miatt az iptables megakadályozza, hogy szabályokat adjon hozzá egy halmazba az -A paraméter használatával; az -I karaktert kell használnia, amelyet a szám követ, vagy ki kell ürítenie a lista tetejére való felvételhez.

Iptable-k megjelenítése

Az iptables megtekintéséhez használja az iptables -L -v IPv4 és ip6tables parancsot -L -v IPv6 parancsot.

Szabályok beszúrása

A szabályok halmazba történő beszúrásához a pontos sorrendben kell elhelyeznie őket, tiszteletben tartva az ugyanazon lánc által alkalmazott szabályokat. Az iptables-szabályok listáját a fent leírt paranccsal tekintheti meg:

sudo iptables -L -v

Például egy szabály beillesztéséhez, amely TCP-n keresztül engedélyezi a bejövő kapcsolatokat a 9001-es portra, meg kell adnunk a szabály számát az INPUT láncnak, amely betartja a web forgalmi szabályait.

sudo iptables -I BEMENET 1 -p TCP --port 9001 -m állapot --állapot ÚJ -j ELFOGADÁS

Miután megnézte az aktuális iptables-t, látnia kell az új szabályt a készletben.

sudo iptables -L -v

Szabályok cseréje

A cserefunkció a beszúráshoz hasonlóan működik, azonban az iptables -R parancsot használja. Például a fenti szabály módosításához és a 9001-es port megtagadásához állítva:

sudo iptables -R INPUT 1 -p TCP --port 9001 -m állapot --állapot ÚJ -j REJECT

Szabály törlése

Egy szabály törléséhez átadjuk a szabály számát. Például a fenti szabály törléséhez megadhatjuk a következőket:

sudo iptables -D INPUT 1

A legtöbb Linux disztribúcióban az iptables üres sem az IPv4, sem az IPv6 esetében. Ezért, ha még nem adott hozzá új szabályt, akkor az alábbihoz hasonló kimenetet kap. Ez kockázatos, mert azt jelenti, hogy a rendszer engedélyezi az összes bejövő, kimenő és irányított forgalmat.

Vizsgáljuk meg az iptables konfigurálását:

Az iptables konfigurálása?

Az iptables-szabályok számos módon konfigurálhatók. Ez a szakasz példákkal mutatja be, hogyan állíthat be szabályokat IP-címek és portok használatával.

A forgalom blokkolása és engedélyezése kikötők által

Egy adott port segítségével blokkolhatja vagy engedélyezheti az összes forgalmat a hálózati interfészen. Tekintsük a következő példákat:

sudo iptables -A BEMENET -j ACCEPT -p TCP - 1001-es célport -i wlan0

A fenti parancsok lehetővé teszik a forgalmat az 1001-es porton a TCP-n a wlan0 interfészen.

sudo iptables -A BEMENET -j DROP -p TCP - 1001-es célport -i wlan0

Ez a parancs a fenti paranccsal ellentétesen cselekszik, mivel blokkolja az összes forgalmat a wlan0 1001-es portján.

Itt van a parancs alapos vizsgálata:

JEGYZET: Az Iptable nem érti a hálózati interfész álneveit. Így egynél több virtuális felülettel rendelkező rendszerben manuálisan és kifejezetten meg kell határoznia a célcímet.

Például:

sudo iptables -A BEMENET -j DROP -p TCP - 1001-es célport -i wlan0 -d 192.168.0.24

IP-címek engedélyezőlistára tétele és feketelistázása

Az iptables segítségével tűzfalszabályokat hozhat létre. Az egyik példa az összes forgalom leállítása és a hálózati forgalom engedélyezése csak explicit IP-címekről.

Példa:

iptables -A BEMENET -m állapot - állapot LÉTREHOZOTT, KAPCSOLÓDÓ -j ACCEPT
iptables -A BEMENET -i lo -m megjegyzés - megjegyzés "Visszacsatolás engedélyezése" -j ACCEPT
iptables -A BEMENET -p icmp -m megjegyzés - megjegyzés “Engedje a Ping várt működését” -j

ELFOGAD

iptables -A BEMENET -s 192.168.0.1/24 -j ELFOGADÁS
iptables -A BEMENET -s 192.168.0.0 -j ELFOGADÁS
iptables -P INPUT DROP
iptables -P FORWARD DROP

Az első sor olyan szabályt állít be, amely engedélyezi az összes forrás IP-címet a 192-ben.168.0.1/24 alhálózat. Használhat CIDR-t vagy egyedi IP-címeket is. A következő parancsban azt a szabályt állítottuk be, hogy az összes forgalmat engedélyezze a meglévő kapcsolatokhoz. Az utolsó parancsokban beállítottuk az INPUT és a FORWARD házirendjét, hogy az összeset eldobjuk.

Az iptables használata az IPv6-on

Az Iptables parancs csak IPv4-en működik. Az iptables IPv6-on történő használatához az ip6tables parancsot kell használnia. Az Ip6tables a nyers, a filter, a security és a mangle táblákat használja. Az ip6tables általános szintaxisa hasonló az iptables-hez, és támogatja az egyező iptables-opciókat is, például a függeléket, a törlést stb.

Fontolja meg az ip6tables kézikönyv oldalainak használatát.

Példa az iptables hálózatkészlet-szabálykészleteire

A megfelelő tűzfalszabályok létrehozása elsősorban a rendszeren futó szolgáltatástól és a használt portoktól függ. Itt van azonban néhány alapvető hálózati konfigurációs szabály, amelyet a rendszer biztonsága érdekében használhat:

1: Engedélyezze a loopback interfész forgalmát, és utasítsa el az összes más interfészről érkező loopbacket

iptables -A INPUT -i lo -j ACCEPT (Használhatja az ip6table-eket is)
iptables -BEMENET ! -én lo -s 127.0.0.0 -j REJECT (ip6táblák is alkalmazhatók)

2: Elutasít minden ping kérést

iptables -A BEMENET -p icmp -m állapot --állapot ÚJ --icmp típusú 8 -j REJECT

3: Engedélyezze az SSH-kapcsolatokat

iptables -A BEMENET -p tcp --port 22 -m állapot --állapot ÚJ -j ACCEPT

Ezek példaparancsok, amelyekkel biztonságossá teheti a rendszerét. A konfiguráció azonban nagymértékben függ attól, hogy mit vagy kit szeretne elérni a különféle szolgáltatásokhoz.

VIGYÁZAT: Ha teljesen letiltja az IPv6-ot, győződjön meg arról, hogy törli a sort, mert ez lelassítja a frissítési folyamatot:

elsőbbség :: ffff: 0: 0/96 100 található az / etc / gai fájlban.konf .

Ennek oka, hogy az APT csomagkezelő az apt-get frissítés miatt feloldja a tükörtartományt az IPv6-ban.

Az iptables-szabályok telepítése?

Az iptables Ubuntu vagy más Debian-alapú rendszerek telepítéséhez először hozzon létre két fájlt (ip4 és ip6) a megfelelő IP-címükhöz.

Bármelyik fájlban adja hozzá azokat a szabályokat, amelyeket érvényesíteni kíván a megfelelő fájljaikban - IPv4-szabályokat az ip4-fájlba, az IPv6-szabályokat pedig az ip6-fájlba.

Ezután importálnunk kell a szabályokat a következő paranccsal:

sudo iptables-restore < /tmp/ip4 (replace filename for IPv6)

Ezután a következő paranccsal ellenőrizheti, hogy a szabályok érvényesek-e:

sudo iptables -L -v

Gyors iptables-perzisztens útmutató

Az Ubuntu és a gyakori Debian-alapú disztribúciók egy iptables-persistent csomagot tartalmaznak, amely lehetővé teszi a tűzfalszabályok egyszerű alkalmazását újraindításkor. A csomag olyan fájlokat tartalmaz, amelyekkel szabályokat állíthat be az IPv4 vagy az IPv6 számára, és indításkor automatikusan alkalmazhatók.

Tűzfalszabályokat használhat UFW vagy GUFW használatával is. Az UFW használatának megismeréséhez vegye figyelembe a következő oktatóanyagot.

Az iptables-persistent telepítése?

Győződjön meg arról, hogy az iptables-persistent telepítve van a rendszerére. A dpkg segítségével ellenőrizze, hogy telepítve van-e a csomag.

Ha nem, használja a következő parancsot:

sudo apt-get install iptables-persistent

Kétszer kéri, hogy mentse a jelenlegi IPv4 és IPv6 szabályokat. Kattintson az Igen gombra mindkét szabály mentéséhez.

Kattintson az igen gombra az IPv6 mentéséhez.

A telepítés befejezése után ellenőrizze, hogy rendelkezik-e az iptables alkönyvtárral, az alábbi képen látható módon.

Most már használhatja a szabályokat.v4 és szabályok.v6 az iptables szabályok hozzáadásához, és az iptables-persistent automatikusan alkalmazza őket. A fájlok egyszerű szöveges fájlok, amelyeket könnyen szerkeszthet bármilyen tetszőleges szövegszerkesztővel.

Következtetés

Ebben az oktatóanyagban az iptables alapjait ismertettük. Az iptables, az alapvető parancsok, az alapértelmezett iptables táblák és a paraméterek használatával kezdve.

A tanultak alapján képesnek kell lennie arra, hogy az iptables segítségével tűzfalszabályokat hozzon létre, amelyek elősegítik a rendszer biztonságát.

A legnépszerűbb Oculus App Lab játékok
Ha Oculus fülhallgató-tulajdonos, akkor tisztában kell lennie az oldalsó töltéssel. Az oldaltöltés a nem áruházi tartalom fejhallgatóra történő telepí...
A legjobb 10 játék az Ubuntuban
A Windows platform a játékok egyik domináns platformja volt, mivel a játékokat hatalmas százalékban fejlesztik ma a natív Windows támogatására. Kihívh...
5 legjobb arcade játék Linuxhoz
Manapság a számítógépek komoly gépek, amelyeket játékra használnak. Ha nem sikerül megszerezni az új magas pontszámot, akkor tudni fogja, mire gondolo...