A jogosulatlan hozzáférés és a szerverek feltörése komoly fenyegetést jelent, ezért érdemes tűzfalat beépíteni a hálózatbiztonsági technika részeként. Az Iptables-szabályokkal való munkavégzés ismerete az egyik elsődleges eszköz ezen kockázatok csökkentésére Linux rendszerein. Ez az oktatóanyag elvezeti Önt az alapvető tűzfalfogalmak megismeréséhez, például az iptables szabályok megjelenítéséhez és az iptables szabályok eltávolításához Ubuntusegítségével egyszerű parancsokat futtathat ennek eléréséhez. Mielőtt megvitatná az iptables szabályok felsorolását vagy törlését, beszéljünk arról, mik az iptables szabályok, és miért használjuk őket?
- Mi az Iptables?
- Az Ubuntu Iptables teljes útmutatója
- Hogyan lehet eltávolítani az iptables szabályokat?
- Hogyan lehet az összes szabályt kiüríteni, az összes láncot törölni és az összeset elfogadni?
- Hogyan állíthatok be iptable-t az Ubuntuban?
- Miben különbözik az iptables a tűzfaltól?
- Utolsó gondolatok: az iptables szabályokat mutat
- GYIK
Mi az Iptables?
Az iptables egy parancssori tűzfal-segédprogram, amely engedélyezi vagy blokkolja a forgalmat politikai láncok. Amikor a rendszeren próbálnak kapcsolatot létesíteni, az iptables egy megfelelő szabályt keres a listában, amely megfelelő asszisztenst biztosít a hálózatbiztonság terén. Ha nem talál egyet a kapcsolathoz, akkor az alapértelmezett művelethez folyamodik.
Az iptables szinte mindig bármelyikre előre telepítve érkezik Linux disztribúció. A következő paranccsal frissítheti vagy telepítheti:
sudo apt-get install iptables
Miért használjuk az Iptables-t?
Linux parancssori tűzfalként az iptables lehetővé teszi a rendszergazdák számára, hogy konfigurálható táblázatszabályokon keresztül kezeljék a bejövő és kimenő forgalmat. Az Iptables táblák halmazát használja láncokkal, amelyek beépített vagy felhasználó által meghatározott szabályokat tartalmaznak.
Ahogy az előző részben említettük, az iptables alapvető szerepet játszik a legtöbb Linux rendszer hálózati biztonságában. A cikk további része főként az iptables összes szabályának leírására összpontosít, beleértve az olyan fogalmakat is, mint az iptables megjelenítése és az iptables szabályok eltávolítása.
Pontosabban, ez a cikk néhány alapvető iptables-feladatot tárgyal, amelyek bemutatják, hogyan listázhat ki szabályokat, törölheti a csomag- és bájtszámlálókat, hogyan távolítsa el az Iptables-szabályt, törölje ki a láncokat, törölje az összes láncot és fogadja el az összes forgalmat.
Az Ubuntu Iptables teljes útmutatója
Mielőtt végignézné az iptables show szabályokat, vegye figyelembe, hogy Linux-kiszolgálót kell használnia, amelyen telepítve van az iptables parancs. Ezen követelmények mellett elengedhetetlen a sudo jogosultságokkal is rendelkezni. Amikor tűzfalakkal dolgozik, ügyeljen arra, hogy ne zárja ki magát a szerverből az SSH-forgalom blokkolásával (alapértelmezés szerint a 22-es port). Ha a tűzfalbeállítások miatt elveszíti a hozzáférést, előfordulhat, hogy sávon kívüli konzolon keresztül kell csatlakoznia a probléma megoldásához.
Olvassa el még: Az SSH-port megváltoztatása Linuxban | Gyors, lépésről lépésre útmutató az SSH-porthoz
Felsorolási szabályok specifikáció szerint
Megtekintheti az aktív iptables szabályait egy táblázatban vagy mint a szabályspecifikációk listája. Szinte mindkét módszer ugyanazt az információt szolgáltat különböző formátumokban. Az aktív iptables összes szabályának specifikáció szerinti felsorolásához futtassa az iptables parancsot a -S opció:
sudo iptables -S
Az iptables show szabályok parancs futtatása után a következő kimenet jelenik meg:

Egy adott lánc felsorolása
Ha korlátozni szeretné a show iptables kimenetét egy adott láncra, például INPUT, OUTPUT vagy TCP, a lánc nevét közvetlenül az -S opció után adhatja meg. Például a következő iptables show rules parancs segít meghatározni a TCP-láncban:
sudo iptables -S TCP

Ahogy korábban utaltunk rá, van egy másik módja annak, hogy az iptables szabályokat jelenítsen meg: az iptables szabályokat szabálytáblázatként tekintjük meg. Menjünk végig ezen a technikán.
Szabályok táblázatként történő felsorolása
Ha parancsot használ az iptables szabályok táblázatokban való megjelenítésére, az segíthet a különböző szabályok összehasonlításában. A következő show iptables parancsot kell futtatnia a -L opció az összes aktív szabály megjelenítéséhez egy táblázatban:
sudo iptables -L
Ez a parancs megjeleníti az összes aktuális szabályt láncok szerint rendezve. Lehetőség van arra, hogy a kimenetet egy adott láncra korlátozza, például INPUT, OUTPUT, TCP stb.; meg kell adnia a lánc nevét közvetlenül az -L opció után. Íme egy példa az iptables show-szabályok korlátozására az INPUT láncra:
sudo iptables -L INPUT

A fenti kimenet első sora a lánc nevét (ebben az esetben INPUT) és az alapértelmezett házirendet (DROP) mutatja. A következő sor a táblázat egyes oszlopainak fejléceit és a lánc szabályait tartalmazza. Végignézzük őket, hogy segítsünk megtanulni őket:
- Cél: Ha egy csomag megfelel a szabálynak, akkor a cél határozza meg, hogy mit kell tenni vele. Elfogadhat, eldobhat, naplózhat vagy elküldhet egy csomagot egy másik láncnak, hogy összehasonlítsa több szabállyal.
- prot: A protokoll (például TCP, udp, ICMP vagy minden)
- opt: IP opciókat jelöl (ritkán használt)
- forrás: a forgalom forrás IP-címét/alhálózatát mutatja
- rendeltetési hely: a forgalom cél IP-címét/alhálózatát mutatja be
A címke nélküli oszlop egy szabály opcióit javasolja, és ez a szabály bármely olyan része, amely nem szerepelt az előző oszlopokban. Ez az információ bármi lehet, a forrás- és célporttól a csomag kapcsolati állapotáig.
Olvassa el még: Telepítse az OpenVPN-t VPS-re – OpenVPN-kliens beállítása 🔑
Hogyan jeleníthető meg a csomagok száma és az összesített méret?
Az iptables-szabályok felsorolásakor meg tudjuk jeleníteni a csomagok számát és a csomagok összesített méretét bájtokban, amelyek megfelelnek az egyes iptables-szabályoknak; ez gyakran segít megérteni, hogy mely szabályok egyeznek a csomagokkal. Használnia kell a -L és -v opciók együtt valósítható meg ez.
Íme egy példa, amelyben ismét az INPUT láncot fogjuk használni a -v kapcsolóval:
sudo iptables -L INPUT -v

Figyeljük meg, hogy a listánk most még két oszlopot tartalmaz pkts és bájtok. Különféle módokat tanultunk meg annak érdekében, hogy az iptables megjelenítse az összes szabályparancsot, és itt az ideje, hogy tudjuk, hogyan állítsuk vissza a csomagok számát és az összesített méretét.
Hogyan lehet visszaállítani a csomagok számát és az összesített méretét?
A-Z opciót kell használnia, ha szereti a tiszta vagy nulla csomag- és bájtszámlálókat a szabályokhoz. Újraindítás esetén is alaphelyzetbe állnak, ami akkor hasznos, ha látni szeretné, hogy a szerver kap-e a meglévő szabályoknak megfelelő új forgalmat.
Az összes lánc és szabály számlálóit törölheti a -Z opció önmagában:
sudo iptables -Z
Egy adott lánc összes szabályának számlálóinak eltávolításához a -Z kapcsolót kell használnia, és meg kell adnia a láncot. Például a következő parancs az INPUT láncszámlálók törlésére szolgál:
sudo iptables -Z INPUT
Ha egy adott szabály számlálóit szeretné eltávolítani, pontosan meg kell adnia a lánc nevét és a szabály számát. Például végrehajthatja a következő parancsot az INPUT lánc első szabályának számlálóinak nullázásához:
sudo iptables -Z INPUT 1
Amellett, hogy ismeri az iptables összes szabályparancsát és az iptables csomag- és bájtszámlálók alaphelyzetbe állításának módjait, jó tudni, hogyan távolíthatja el az iptables szabályt.
Olvassa el még: A PPTP VPN-kiszolgáló telepítése a VPS-re
Hogyan lehet eltávolítani az iptables szabályokat?
Több paranccsal eltávolíthatja az Iptables-szabályokat, vagy akár törölheti is a lánc összes szabályát. Itt ezeket a módszereket tárgyaljuk,
Szabályok eltávolítása specifikáció szerint
Az iptables szabályok eltávolításának egyik módja a szabályspecifikáció segítségével. Lehetővé teszi az iptables parancs futtatását a -D opció és a szabály specifikációja. Ha ezzel a technikával szeretne szabályokat eltávolítani, segítségül használhatja a szabálylista kimenetét, az iptables -S parancsot.
Például az érvénytelen bejövő csomagokat eldobó szabály törléséhez (-A INPUT -m conntrack –ctstate INVALID -j DROP), a következő parancssort hajthatja végre:
sudo iptables -D INPUT -m conntrack --ctstate INVALID -j DROP
Ügyeljen arra, hogy az -A opció a szabály pozíciójának jelzésére szolgál a létrehozáskor, és itt ki kell zárni.
Távolítsa el a szabályokat lánc és szám alapján
A másik módszer, amellyel eltávolíthatja az iptables szabályokat, a lánc- és sorszáma. Írja be a következő parancsot egy szabály sorszámának kiválasztásához, listázza ki a szabályokat táblázat formátumban, és adja hozzá a –sorszámok opció:
sudo iptables -L --line-numbers

Ennek futtatása után minden iptables szabálynak megvan a sorszáma, amelyet a num fejléc mutat.
Ha tudja, melyik szabályt szeretné törölni, tartsa észben a lánc- és sorszámát. Az iptables -D parancsot kell használnia a lánc- és szabályszámmal. Ha például törölni szeretné az érvénytelen csomagokat eldobó beviteli szabályt, láthatja, hogy ez az INPUT lánc 3. szabálya. Tehát futtassa ezt a parancsot:
sudo iptables -D INPUT 3
Hogyan öblítsük le a láncokat?
Lehetőség van arra, hogy eltávolítsa az összes Iptables-szabályt egy láncból, amelyet mi hívunk lánc öblítése. Itt bemutatjuk ennek különféle módszereit. Mielőtt továbbmenne, ügyeljen arra, hogy ne zárja ki magát a kiszolgálóból SSH-n keresztül, amikor egy láncot az alapértelmezett drop vagy deny politikával kiürít. Mert ha igen, előfordulhat, hogy a hozzáférés javításához csatlakoznia kell hozzá a konzolon keresztül.
Öblítse le az egyláncot
Egy adott lánc öblítéséhez vagy más szóval a lánc összes szabályának törléséhez használhatja a -F vagy ennek megfelelője – öblítési lehetőség és a kiválasztott lánc nevét. Tegyük fel, hogy el akarja távolítani az INPUT lánc összes szabályát; mit csináljak? Nos, ez egyszerű, futtassa a következő parancsot:
sudo iptables -F INPUT
Öblítse ki az összes láncot
Az összes lánc eltávolításához vagy öblítéséhez használhatja az -F vagy az azzal egyenértékű -flush opciót önmagában:
sudo iptables -F
Hogyan lehet az összes szabályt kiüríteni, az összes láncot törölni és az összeset elfogadni?
Ezen a ponton leírjuk, hogyan kell kiüríteni az összes tűzfalszabályt, táblát és láncot, és engedélyezni az összes hálózati forgalmat. Kérjük, vegye figyelembe, hogy ez a folyamat hatékonyan letiltja a tűzfalat. Tehát csak akkor kövesse ezt a részt, ha elölről akarja kezdeni a tűzfal konfigurációját.
Először be kell állítania az alapértelmezett házirendeket minden egyes beépített lánchoz ELFOGADÁS értékre. Ennek elsődleges oka az, hogy megbizonyosodjunk arról, hogy Ön nem lesz kizárva a szerverről az SSH használatával:
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
Ezután le kell öblíteni a nat és mangle asztalokat, le kell öblíteni az összes láncot (-F), és törölje az összes nem alapértelmezett láncot (-X) így:
sudo iptables -t nat -F
sudo iptables -t mangle -F
sudo iptables -F
sudo iptables -X
Az előző parancsok futtatása után a tűzfal engedélyezi az összes hálózati forgalmat. Ha most szeretné felsorolni a szabályait, látni fogja, hogy nincsenek; csak a három alapértelmezett lánc, például az INPUT, FORWARD és OUTPUT láncok maradnak.
Hogyan állíthatok be iptable-t az Ubuntuban?
Mint minden alapvető tűzfal viselkedés, az iptables szabályok az egyes láncokon felsorolt sorrendben olvashatók, ami azt jelenti, hogy a szabályokat a megfelelő sorrendben kell beállítani. Ha új szabályokat fűz hozzá, a rendszer felveszi őket a szabálylista végére. Új szabályokat adhat hozzá egy adott listapozícióhoz, ha beszúrja őket a segítségével iptables -I <index> -parancs. A <index> a rendelési számra vonatkozik, amelyhez a szabályt be kívánja szúrni ebbe a parancsba. A következő paranccsal megtudhatja, melyik indexszámot kell megadni:
sudo iptables -L --line-numbers
Az egyes szabálysorok elején lévő számok a lánc pozícióját jelzik. Ha új szabályt szeretne hozzáadni egy adott meglévő szabály fölé, akkor a meglévő szabály indexszámát kell használnia. Például, ha új szabályt szeretne hozzáadni a lánc tetejéhez, akkor a következő, 1-es indexszámú parancsot kell használnia:
sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
Miben különbözik az iptables a tűzfaltól?
Mind az iptables, mind a firewalld praktikus eszköz a tűzfalak kezelésére különböző Linux rendszereken, amelyeket kifejezetten csomagszűrésre (statikus szűrésre) terveztek. A csomagszűrés egy tűzfalstratégia, amely lehetővé teszi a felhasználók számára, hogy a bejövő és kimenő információs csomagok kezelésével szabályozzák a hozzáférést egy adott hálózathoz. A forrás- és célprotokollokra, portokra és IP-címeikre vonatkozó előre beállított tűzfalszabályok alapján engedélyezik vagy letiltják őket. Ezek a szabályok nagyon hatékony biztonsági mechanizmusokat biztosítanak, így az információs csomagszűrés kiváló védelmet nyújt a rendszer LAN-ján (Local Area Network) kívülre irányított eszközökkel szemben.
Vegye figyelembe, hogy a tűzfalat eredetileg az iptables kezelésére szolgáló szoftverként vezették be, hogy megkönnyítsék a felhasználó számára a navigálást. A tűzfal és az iptables bemutatása után hasonlítsuk össze őket részletesebben.
iptables vs firewall: Rendszerkonfiguráció
A Firewall és az iptables különböző konfigurációkat és alapértelmezett tárolási beállításokat használ. Az iptables esetében minden változtatás azt jelenti, hogy ki kell törölni az összes régi szabályt, és be kell olvasni az újakat, így a rendszert újra kell indítani. A tűzfal használatával azonban a szabályok nem jönnek létre újra; ehelyett az eltéréseket és módosításokat a rendszer a meglévő szabályok módosítására alkalmazza, így láthatja, hogy azok a futásidőben hatályba lépnek.
iptables vs firewall: Felhasználói felület
A Firewalld grafikus felhasználói felületet (GUI) használ. Ennek ellenére az iptables parancssori felületet (CLI) használ, ami néhány ember számára kihívást jelenthet a Linux kernel tűzfalszabályainak elérése az iptables használatával, így a tűzfal egy egyszerűbb lehetőség. A legjobb, ha figyelembe vesszük, hogy az iptables válaszideje rövidebb, mivel csak rövid parancsokat használ. Mindezeket leszámítva mindkettőnek megvan a maga használati esete, ezért válassza azt, amelyikkel kényelmesebb dolgozni.
Utolsó gondolatok: az iptables szabályokat mutat
Az Iptables egy rendkívül rugalmas tűzfal-segédprogram, amelyet kifejezetten Linux operációs rendszerekhez készítettek. Nem számít, hogy újonc Linux geek vagy professzionális rendszergazda; az iptables szabályok bizonyos módon hasznosak lehetnek az Ön számára. Ez a cikk főként a tűzfal-segédprogram alapvető parancsait tartalmazza, beleértve az iptables szabályok megjelenítését és az iptables eltávolítási szabályokat, amelyek célja a Linux képességeinek rövid áttekintése. Ezenkívül használhatja a mi Linux VPS hosting megoldások hogy kihasználja e fantasztikus operációs rendszerben rejlő valódi lehetőségeket. A cloudzy-nál különféle KVM-alapú Linux VPS-terveket kínálunk, amelyek többféle felhasználási esetre is alkalmasak, mint például webtárhely, webalkalmazások telepítése, vagy akár kód fejlesztésére, tesztelésére és automatizálására szolgáló környezet beállítása.
GYIK
Hogyan lehet felsorolni az összes Linux iptables szabályt specifikáció szerint?
Ha az összes jelenleg aktív iptables szabályt specifikációjuk vagy funkcióik szerint szeretné felsorolni, ezt megteheti az iptables paranccsal, majd a -S zászló. Ügyeljen a felhasználásra sudo kulcsszó ebben az esetben:
sudo iptables -S
Hogyan lehet eltávolítani az iptables szabályokat?
Egy adott lánc eltávolításához, amely törli a lánc összes szabályát, el kell végeznie használja az -F vagy -flush opciót és a lánc nevét. Tegyük fel, hogy törölni akarjuk az OUTPUT lánc összes szabályát, mit tegyünk? Nos, ezt a parancsot kell végrehajtania:
sudo iptables -F OUTPUT
Hogyan működnek az iptables Ubuntuban?
Az iptables tűzfal összehasonlítja a hálózati forgalmat egy szabálykészlettel. Az iptables szabályok meghatározzák a csomag jellemzőit, hogy megfeleljenek a szabálynak, és hogy mit kell tenni, ha a csomagok egyeznek. Természetesen számos lehetőség van annak beállítására, hogy mely csomagok feleljenek meg egy adott szabálynak.
Az iptables szabályok azonnal hatályba lépnek? Miért?
Igen, az iptables szabályok azonnal életbe lépnek; mert a szkript hozzáfűződik az INPUT és OUTPUT láncokhoz, és a szabályok a láncok végére kerülnek.