Selles juhendis arutatakse, kuidas konfigureerida ja kasutada iptablesi reegleid Ubuntu süsteemis võrgu turvalisuse tagamiseks. Olenemata sellest, kas olete algaja Linuxi kasutaja või kogenud süsteemiadministraator, saate sellest juhendist ühel või teisel viisil midagi iptable'i kohta kasulikku.
Iptables on eelinstallitud Ubuntu ja enamikus Debiani põhistes jaotustes. Ubuntu pakendab ka GUFW tulemüüri - graafilist alternatiivi, mida saate kasutada iptablesiga töötamiseks.
MÄRGE: Iptablesi kasutamiseks ja konfigureerimiseks vajate oma süsteemis sudoõigusi. Sudo kohta saate lisateavet järgmisest juhendajast.
Nüüd, kui teate, mis on Iptables, sukeldume otse sisse!
Kuidas kasutada IPTV-sid IPv4-liikluse haldamiseks?
IPpt4-i kasutamiseks IPv4-võrgu ja liikluse haldamiseks peate mõistma järgmist:
Käsk Iptables
Iptables pakub valikut valikuid, mis võimaldavad teil iptablesi reegleid kohandada ja häälestada. Arutagem mõnda neist parameetritest ja vaadake, mida nad teevad.
MÄRGE: Saate konfigureerida reeglite komplekti, mis haldab kindlat alamhulka, mida nimetatakse iptables-ketideks.
Iptablesi parameetrid
Enne kui alustate iptables-reeglite loomist ja konfigureerimist, mõistkem kõigepealt iptable'i põhitõdesid, nagu üldine süntaks ja vaikeargumendid.
Mõelge allolevale käsule:
sudo iptables -SISENDIN -s 192.168.0.24 -j DROPÜlaltoodud käsk käsib iptablesil luua ahelas reegel. Reegel langetab kõik paketid IP-aadressilt 192.168.0.24.
Uurime käsku rea kaupa, et sellest paremini aru saada.
- Esimene käsk iptables kutsub iptables käsurea utiliiti.
- Järgmine on -I argument, mida kasutatakse sisestamiseks. Sisestusargument lisab iptablesi keti alguses reegli ja seeläbi omistatakse sellele kõrgem prioriteet. Reegli lisamiseks ahela kindlale numbrile kasutage argumenti -I, millele järgneb number, kuhu reegel peaks olema määratud.
- S-argument aitab täpsustada allikat. Seega kasutame argumenti -s, millele järgneb IP-aadress.
- Parameeter -j koos iptables määrab hüppe konkreetsele sihtmärgile. See valik määrab toimingu, mida Iptables teostab, kui on olemas sobiv pakett. Iptables pakub vaikimisi nelja peamist sihtmärki, sealhulgas: ACCEPT, DROP, LOG ja REJECT.
Iptables pakub valikut parameetreid, mida saate kasutada erinevate reeglite konfigureerimiseks. Erinevad parameetrid, mida saate iptablesi reeglite konfigureerimiseks kasutada, on järgmised:
Reeglite parameeter Iptables | Kirjeldus |
---|---|
-s -allikas | Määrake allikas, milleks võib olla aadress, hosti nimi või võrgu nimi. |
-p -protokoll | Määrab ühenduse protokolli; näiteks TCP, UDP jne. |
-d -sihtmärk | Määrab sihtkoha, mis võib olla aadress, võrgu nimi või hostinimi. |
-j -hüpe | Määrab toimingu, mida iptables teostatakse pärast paketi leidmist. |
-o-out-liides | Määrab liidese, mille kaudu iptable paketti saadab. |
-i -liideses | Määrab võrgupakettide loomiseks kasutatava liidese. |
-c -häälloendurid | Võimaldab administraatoril määrata määratud reegli baitide ja pakettide loendurid. |
-g -goto kett | Parameeter täpsustab, et töötlemine peaks tagastamisel jätkuma kasutaja määratud ahelas. |
-f -fragment | Käsib iptablesil reeglit rakendada ainult killustatud pakettide teise ja järgneva fragmendi suhtes. |
Iptablesi valikud
Käsk iptables toetab paljusid valikuid. Mõned levinumad on järgmised:
Variant | Kirjeldus |
---|---|
-A -liide | Lisab reegli määratud ahela lõppu |
-D-kustuta | Eemaldab määratud ahelast reegli |
-F - loputa | Eemaldab kõik reeglid, ükshaaval |
-L-nimekiri | Näitab kõiki määratud ahela reegleid |
-Ma-sisestan | Lisab reegli määratud ahelasse (edastatakse arvuna, kui numbrit pole määratud; reegel lisatakse ülaossa) |
-C -kontroll | Reeglite sobitamise päringud; konkreetse reegli nõue |
-v -verbose | Kuvab üksikasju, kui seda kasutatakse parameetriga -L |
-N - uus ahel | Lisab uue kasutaja määratud ahela |
-X - kustuta kett | Eemaldab konkreetse kasutaja määratud ahela |
Iptables tabelid
Linuxi tuumil on vaiketabelid, kuhu on paigutatud seotud reeglite kogum. Nendel vaiketabelitel on vaikekettide komplekt, kuid kasutajad saavad reegleid kohandada, lisades kasutaja määratud reeglid.
MÄRGE: Vaiketabelid sõltuvad suuresti teie kerneli konfiguratsioonist ja installitud moodulitest.
Siin on iptablesi vaiketabelid:
1: filtritabelid
Filtritabel on vaiketabel, mis sisaldab võrgupakettide filtreerimiseks kasutatavaid ahelaid. Mõni selle tabeli vaikekett sisaldab:
Kett | Kirjeldus |
---|---|
Sisend | Iptables kasutab seda ketti kõigi süsteemi saabuvate pakettide jaoks, s.t.e., paketid lähevad kohaliku võrgu pistikupesadesse. |
Väljund | Iptables kasutab väljundahelat kohapeal loodud pakettide jaoks, s.t.e., süsteemist väljuvad paketid. |
Edasi | Seda ahelat kasutavad Iptables süsteemi kaudu suunatavate või edastatud pakettide jaoks. |
2: NAT-tabelid
NAT ehk võrgu aadressitabel on marsruutimisseade, mida kasutatakse võrgu paketi allika ja sihtmärgi IP-aadresside muutmiseks. NAT-tabeli peamine kasutusala on kahe privaatse aadressivahemiku võrgu ühendamine avaliku võrguga.
NAT töötati välja, et toetada tegelike IP-aadresside maskeerimist, võimaldades privaatsetel IP-aadressidel ulatuda välisvõrku jõudmiseni. See aitab kaitsta sisevõrkude üksikasju avalikes võrkudes avaldamise eest.
NAT-tabel rakendub siis, kui pakett algatab uue ühenduse.
Iptablesil on NAT-i adresseerimiseks vaiketabel. Sellel tabelil on kolm peamist ketti:
Kett | Kirjeldus |
---|---|
PREROUTING | Võimaldab muuta pakettandmeid enne saabumist sisenevate pakettide jaoks kasutatavasse ketti INPUT |
VÄLJUND | Reserveeritud kohapeal loodud pakettide jaoks, st.e., enne võrgu marsruutimise toimumist |
JÄRELMEETMED | Võimaldab modifitseerida väljuvaid pakette - väljundketist väljuvad paketid |
Allpool olev diagramm näitab selle protsessi kõrgetasemelist ülevaadet.
NAT-marsruudi tabelite kuvamiseks kasutage allolevat käsku.
iptables -t nat -n -v -L3: Mangle tabelid
Manglitabelit kasutatakse peamiselt pakettide spetsiaalseks muutmiseks. Lihtsamalt öeldes kasutatakse seda võrgupaketi IP-päiste muutmiseks. Pakettide muutmine võib hõlmata paketi TTL-väärtuse muutmist, paketi jaoks kehtivate võrguhüppe muutmist jne.
Tabel sisaldab järgmisi vaikekette:
Kett | Kirjeldus |
---|---|
PREROUTING | Reserveeritud sissetulevate pakettide jaoks |
JÄRELMEETMED | Kasutatakse väljaminevate pakettide jaoks |
SISEND | Kasutatakse otse serverisse tulevate pakettide jaoks |
VÄLJUND | Kasutatakse kohalike pakettide jaoks |
Edasi | Reserveeritud süsteemi kaudu suunatavate pakettide jaoks |
4: Toored tabelid
Toortabeli peamine eesmärk on konfigureerida paketid, mida jälgimissüsteem ei kavatse käsitleda. Toores tabel paneb pakettidele märgi NOTRACK, mis sunnib conntracki funktsiooni paketti ignoreerima.
Conntrack on Linuxi tuuma võrguühenduse funktsioon, mis võimaldab Linuxi tuumal jälgida kõiki võrguühendusi, võimaldades tuumal tuvastada võrguvoogu moodustavaid pakette.
Toores tabelis on kaks peamist ketti:
Kett | Kirjeldus |
---|---|
PREROUTING | Reserveeritud võrguliideste poolt vastuvõetud pakettide jaoks |
VÄLJUND | Reserveeritud kohalike protsesside algatatud pakettide jaoks |
5: turvatabel
Selle tabeli esmane kasutusala on Linuxi sisemise turbetugevuse (SELinux) turvamehhanismi seadistamine, mis märgib pakettidele. Turvamärki saab rakendada ühenduse või paketi kohta.
Seda kasutatakse kohustusliku juurdepääsukontrolli reeglite jaoks ja see on teine tabel, millele juurdepääsetakse pärast filtritabelit. See pakub järgmisi vaikekette:
Kett | Kirjeldus |
---|---|
SISEND | Reserveeritud süsteemi saabuvate pakettide jaoks |
VÄLJUND | Kasutatakse kohapeal loodud pakettide jaoks |
EDASI | Kasutatakse süsteemi kaudu suunatavate pakettide jaoks |
Olles vaadanud vaikimisi rakendusi Iptables, lähme samm edasi ja arutame, kuidas iptablesi reeglitega töötada.
Kuidas töötada iptablesi reeglitega?
Iptablesi reegleid rakendatakse kasvavas järjekorras. See tähendab, et kõigepealt rakendatakse konkreetse komplekti esimest reeglit, seejärel teist, seejärel kolmandat ja nii edasi kuni viimase.
Selle funktsiooni tõttu ei luba iptables teil komplekti reegleid lisada, kasutades parameetrit -A; loendi ülaossa lisamiseks peate kasutama -I, millele järgneb number või tühjendamine.
Iptable'i kuvamine
Oma iptablesi vaatamiseks kasutage IPv4 jaoks käsku iptables -L -v ja IPv6 jaoks -L -v.
Reeglite lisamine
Reeglite komplekti sisestamiseks peate need paigutama täpselt järgitult, järgides sama ahela reegleid. Oma iptables-reeglite loendit saate vaadata käsuga, nagu eespool arutletud:
sudo iptables -L -vNäiteks reegli sisestamiseks, mis lubab sissetulevaid ühendusi porti 9001 TCP kaudu, peame INPUT-ahelale määrama reegli numbri, järgides veebi liikluseeskirju.
sudo iptables -I SISEND 1 -p TCP --port 9001 -m olek --riik UUS -j ACCEPTKui olete praeguseid iptablesi vaadanud, peaksite komplektis nägema uut reeglit.
sudo iptables -L -v
Reeglite asendamine
Asendusfunktsioon töötab sarnaselt sisestamisega, kuid see kasutab iptables -R käsku. Näiteks ülaltoodud reegli muutmiseks ja pordi 9001 keelamiseks määramiseks:
sudo iptables -R INPUT 1 -p TCP --dport 9001 -m olek --state NEW -j REJECTReegli kustutamine
Reegli kustutamiseks edastame reegli numbri. Näiteks ülaltoodud reegli kustutamiseks võime täpsustada järgmiselt:
sudo iptables -D SISEND 1Enamikus Linuxi distros on iptables kas IPv4 ja IPv6 jaoks tühjad. Seega, kui te pole ühtegi uut reeglit lisanud, saate väljundi, mis sarnaneb allpool näidatuga. See on riskantne, sest see tähendab, et süsteem lubab kogu sissetulevat, väljaminevat ja suunatavat liiklust.
Vaatame iptable'i seadistamist:
Kuidas IPTV-sid konfigureerida?
Iptables-reeglite konfigureerimiseks on palju võimalusi. Selles jaotises kasutatakse näiteid IP-aadresside ja pordide abil reeglite seadistamiseks.
Liikluse blokeerimine ja lubamine sadamate kaupa
Kindla pordi abil saate blokeerida või lubada kogu liikluse võrguliidesel. Mõtle järgmistele näidetele:
sudo iptables -A SISEND -j ACCEPT -p TCP - sihtpunkti port 1001 -i wlan0Ülaltoodud käsud võimaldavad liiklust sadamas 1001 TCP liidesel wlan0.
sudo iptables -A SISEND -j DROP -p TCP - sihtpunkti port 1001 -i wlan0See käsk teeb vastupidist ülaltoodud käsule, kuna see blokeerib kogu liikluse sadamas 1001 wlan0-l.
Siin on käsu põhjalik kontroll:
- Esimene argument (-A) lisab tabeliketi lõppu uue reegli.
- INPUT-i argument lisab tabelisse määratud reegli.
- Argument DROP määrab toimingu vastavalt ACCEPT ja DROP. See tähendab, et kui pakett sobitatakse, kukutatakse see ära.
- -p määrab protokolli nagu TCP ja võimaldab teiste protokollide liiklust läbida.
- -sihtkoha-port määrab reegli kogu sadamale 1001 mõeldud liikluse aktsepteerimiseks või tühistamiseks.
- -i
käsib iptablesil rakendada reeglit liidesele wlan0 tulevale liiklusele.
MÄRGE: Iptables ei mõista võrguliidese varjunimesid. Seega peate rohkem kui ühe virtuaalse liidesega süsteemis määrama sihtkoha aadressi käsitsi ja selgesõnaliselt.
Näiteks:
sudo iptables -A SISEND -j DROP -p TCP - sihtpunkti port 1001 -i wlan0 -d 192.168.0.24IP-aadresside lisamine lubatud nimekirja ja musta nimekirja
Tulemüürireegleid saate luua iptablesi abil. Üks näide on kogu liikluse peatamine ja võrguliikluse lubamine ainult selgetelt IP-aadressidelt.
Näide:
iptables -A INPUT -m olek - riik LOETUD, SEOTUD -j VÕTTAiptables -A INPUT -i lo -m kommentaar - kommentaar "Luba loopback-ühendused" -j ACCEPT
iptables -A INPUT -p icmp -m kommentaar - kommentaar "Luba Pingil oodatult töötada" -j
VASTU
iptables -A SISEND -s 192.168.0.1/24 -j VASTUiptables -A SISEND -s 192.168.0.0 -j VASTU
iptables -P INPUT DROP
iptables -P EDASI DROP
Esimene rida määrab reegli, mis lubab kõikidel 192 allika IP-aadressidel.168.0.1/24 alamvõrk. Võite kasutada ka CIDR-i või individuaalseid IP-aadresse. Järgmises käsus seadsime reegli, mis lubab kogu olemasolevate ühendustega ühendatud liiklust. Lõplikes käskudes määrasime sisendi INPUT ja FORWARD kõigi loobumise poliitika.
Iptable'i kasutamine IPv6-l
Käsk Iptables töötab ainult IPv4-l. IPpt6-s IPTV-de kasutamiseks peate kasutama käsku ip6tables. Ip6tables kasutab tooreid, filtreerivaid, turva- ja mangle-tabeleid. IP6tabeli üldine süntaks sarnaneb iptables'iga ja see toetab ka sobituvaid iptables-i valikuid, näiteks lisa, kustuta jne.
Lisateabe saamiseks kaaluge ip6tablesi käsiraamatute kasutamist.
Näide võrguturbe iptablesi reeglistikest
Sobivate tulemüürireeglite loomine sõltub peamiselt süsteemis töötavast teenusest ja kasutatavatest sadamatest. Siin on aga mõned võrgu konfigureerimise põhireeglid, mida saate oma süsteemi turvamiseks kasutada:
1: lubage Loopback liidese liiklus ja lükake tagasi kõik muudelt liidestelt pärinevad loopbackid
iptables -A INPUT -i lo -j ACCEPT (Võite kasutada ka ip6table-e)iptables -SISEND ! -i lo -s 127.0.0.0 -j REJECT (rakendub ka ip6tabeleid)
2: Keela kõik pingitaotlused
iptables -A INPUT -p icmp -m state --state NEW --icmp-type 8 -j REJECT3: Luba SSH-ühendused
iptables -A INPUT -p tcp --port 22 -m olek --state NEW -j ACCEPTNeed on näited käskudest, mida saate oma süsteemi turvamiseks kasutada. Konfiguratsioon sõltub aga suuresti sellest, mida või keda soovite erinevatele teenustele juurde pääseda.
ETTEVAATUST: Kui eelistate IPv6 täielikult keelata, eemaldage rida kommenteerimisest, kuna see aeglustab värskendusprotsessi:
prioriteet :: ffff: 0: 0/96 100 leitud kataloogist / etc / gai.konf .
Seda seetõttu, et APT paketihaldur lahendab peeglidomeeni IPv6-s apt-get värskenduse tõttu.
Kuidas juurutada iptablesi reegleid?
Oma iptable'i juurutamiseks Ubuntu või muudesse Debiani-põhistesse süsteemidesse alustage kahe vastava IP-aadressi loomiseks: ip4 ja ip6.
Mõlemas failis lisage reeglid, mida soovite nende vastavatesse failidesse jõustada - IPv4 reeglid ip4-faili ja IPv6-reeglid ip6-faili.
Järgmisena peame reeglid importima käsu abil:
sudo iptables-restore < /tmp/ip4 (replace filename for IPv6)Seejärel saate käsu abil kontrollida, kas reeglid on rakendatud:
sudo iptables -L -vKiire iptables-püsiv juhend
Ubuntu ja levinud Debiani-põhised jaotused on varustatud paketiga iptables, mis võimaldab taaskäivitamisel hõlpsasti oma tulemüüri reegleid rakendada. Pakett sisaldab faile, mida saate kasutada IPv4 või IPv6 reeglite seadistamiseks ja mida saab käivitamisel automaatselt rakendada.
Tulemüürireegleid saate kasutada ka UFW või GUFW abil. UFW kasutamise õppimiseks kaaluge järgmist õpetust.
Kuidas installida iptables-persistent?
Veenduge, et teie süsteemi oleks installitud iptables-persistent. Kasutage dpkg, et kontrollida, kas pakett on installitud.
Kui ei, siis kasutage järgmist käsku:
sudo apt-get install iptables-persistent
Teil palutakse kaks korda salvestada nii praegused IPv4 kui ka IPv6 reeglid. Mõlema reegli salvestamiseks klõpsake nuppu Jah.
IPv6 salvestamiseks klõpsake jah.
Kui installimine on lõpule jõudnud, kontrollige, kas teil on alamkataloog iptables, nagu on näidatud alloleval pildil.
Nüüd saate reegleid kasutada.v4 ja reeglid.v6 iptables-reeglite lisamiseks ja iptables-persistent rakendab neid automaatselt. Failid on lihtsad tekstifailid, mida saate hõlpsalt muuta mis tahes valitud tekstiredaktori abil.
Järeldus
Selles õpetuses oleme käsitlenud iptable'i põhitõdesid. Alustades töötamisest iptablesi, põhikäskude, vaiketabelite iptables ja parameetritega.
Õpitu põhjal peaksite suutma iptablesi abil luua tulemüüri reegleid, mis aitavad teie süsteemi kaitsta.