IPTables (Linux Firewall) buýruklary üçin başlangyç gollanma


Kompýuterleri wagtlaýyn ulanýan bolsaňyz,\Firewall sözi bilen tanyş bolmalysyňyz. Thingser ýüzünden çylşyrymly ýaly görünýändigini bilýäris, ýöne bu gollanma arkaly IPTable-iň esaslaryny we esasy buýruklaryň ulanylyşyny düşündireris. Torlaýyn okuwçy bolsaňyz ýa-da torlara çuňňur çümmek isleseňizem, bu gollanmadan peýdalanyp bilersiňiz.

“Firewall” -yň işleýşi gaty ýönekeý. Ulgamyňyz zyýanly paketlerden howpsuz bolup biler ýaly, ygtybarly we ygtybarly ulgamlaryň arasynda päsgelçilik döredýär.

Whatöne nämäniň howpsuzdygyny we nämäniň ýokdugyny nädip çözmeli? Düzgüne görä, “Firewall” -yňyz üçin düzgünleri düzmek üçin birneme artykmaçlyk alýarsyňyz, emma gelýän we çykýan paketlere has jikme-jik gözegçilik etmek üçin IPTables iň köp talap edýän zadyňyzdyr.

IPTables şahsy hasaplamak üçin ulanylyp bilner ýa-da tutuş tora ulanylyp bilner. IPTables ulanyp, gelýän ýa-da çykýan tor paketlerine gözegçilik edip, rugsat berip ýa-da blokirläp bilýän düzgünler toplumyny kesgitläris.

Diňe teoriýa bölegine ünsi çekmegiň ýerine, diňe amaly dünýäde möhüm zatlary ara alyp maslahatlaşmakçy. Geliň, IPTables-iň esasy düşünjelerine düşünmekden başlalyň.

IPTables düşünjesine düşünmek

IPTables barada pikir alyşanymyzda, 3 adalga düşünmelidiris: Tablisalar, zynjyrlar we düzgünler. Bu möhüm bölekler bolansoň, olaryň hersini ara alyp maslahatlaşmakçy.

Geliň, tablisalardan başlalyň.

IPTables-de 5 görnüşli tablisa bar we hersinde dürli düzgünler ulanylýar. Geliň, iň köp ýaýran tablisadan başlalyň\Faýl.

  1. Filtr tablisasy - IPTables ulanylanda bu esasy we esasy tablisadyr. Diýmek, düzgünleri ulananyňyzda haýsydyr bir anyk tablisany agzamajak bolsaňyz, süzgüç tablisasyna ulanylar. Adyndan görnüşi ýaly, Süzgüç tablisasynyň ähmiýeti, paketleriň barmaly ýerine ýetmegine rugsat berilmelimi ýa-da islegini ret etmekdir.
  2. NAT (Tor salgysynyň terjimesi) - Adyndan görnüşi ýaly, bu tablisa ulanyjylara tor salgylarynyň terjimesini kesgitlemäge mümkinçilik berýär. Bu tablisanyň roly, paket salgysynyň çeşmesini we barjak ýerini üýtgetmelidigini ýa-da nädip üýtgetmelidigini kesgitlemekdir.
  3. Mangle Table - Bu tablisa paketleriň IP sözbaşylaryny üýtgetmäge mümkinçilik berýär. Mysal üçin, TTL-i paketiň dowam etdirip biljek tor haltalaryny uzaltmak ýa-da gysgaltmak üçin sazlap bilersiňiz. Edil şonuň ýaly, beýleki IP sözbaşylary hem islegiňize görä üýtgedip bolýar.
  4. RAW Tablisa - Bu tablisanyň esasy ulanylyşy, baglanyşyklary yzarlamakdyr, sebäbi paketleri dowam edýän sessiýanyň bir bölegi hökmünde görmek üçin paketleri bellemek mehanizmini üpjün edýär.
  5. Howpsuzlyk tablisasy - Howpsuzlyk tablisasyny ulanyp, ulanyjylar tor paketlerinde içerki SELinux howpsuzlyk kontekst belliklerini ulanyp bilerler.

Iň köp ulanylýan ýagdaýlar üçin tablisanyň soňky 2 görnüşi (RAW we Howpsuzlyk) kän bir etmeli däl we diňe ilkinji 3 wariant esasy tablisa hasaplanýar.

Indi zynjyrlar hakda gürleşeliň.

Düzgünleri ulanyp boljak toruň ugrundaky nokatlarynda özlerini alyp barýarlar. IPTables-de 5 görnüşli zynjyr bar we olaryň hersini ara alyp maslahatlaşarys. Stoluň her görnüşi üçin zynjyryň her görnüşiniň ýokdugyny ýadyňyzdan çykarmaň.

  1. Öňünden marşrutlaşdyrma - Bu zynjyr, islendik set paketine gireninden soň ulanylýar we bu zynjyr paketiň soňky barjak ýeri barada hiç hili marşrut karary kabul edilmezden ozal işlenýär.
  2. Giriş zynjyry - Bu paketiň toruň içine girýän nokady.
  3. Öňe zynjyr - Bu paketiň ulgamyňyzyň üsti bilen ugradylan nokady.
  4. Çykyş zynjyry - Çykyş zynjyry paketiňize ulgamyňyzdan döräp, çykanda ulanylýar.
  5. marşrutdan soňky - Bu marşrutdan öňki zynjyryň düýbünden tersidir we marşrut karary kabul edilenden soň ugradylýan ýa-da çykýan paketlere ulanylýar.

Indi ara alyp maslahatlaşmak üçin galan zat düzgünler we bu ýerde ara alyp maslahatlaşan 3-den iň aňsatsy. Geliň, teoretiki bölümde galan zatlary tamamlalyň.

Düzgünler ulanyjylaryň tor trafigini dolandyrýan toplumlaýyn ýa-da aýratyn buýruklardan başga zat däl. Her zynjyr herekete geçensoň, paket kesgitlenen düzgünlere garşy barlanar.

Bir düzgün şerti kanagatlandyrmasa, beýlekisine geçer we şerti kanagatlandyrsa, indiki düzgün nyşanyň bahasy bilen kesgitlener.

Her düzgüniň iki bölegi bar: gabat gelýän komponent we maksatly komponent.

  1. Gabat gelýän komponent - Protokol, IP adresi, port salgysy, interfeýsler we sözbaşylar bilen gabat gelýän düzgünleri kesgitlemek üçin dürli şertler.
  2. Maksatly komponent - Bu şertler kanagatlandyrylandan soň başlanjak hereket.

Bu düşündiriş bölümi boldy, indi Linux-daky IPTables bilen baglanyşykly esasy buýruklary ýazarys.

Linux-da IPTables Firewall gurmak

Pop! _OS ýaly häzirki zaman Linux paýlamalarynda IPTables öňünden gurulýar, emma ulgamyňyzda IPTables bukjasy ýok bolsa, berlen görkezmeler bilen aňsatlyk bilen gurup bilersiňiz:

Dnf buýrugynda IPTables gurmak.

$ sudo dnf install iptables-services

Üns beriň: “Firewalld” -y ulanýan bolsaňyz, gurnama başlamazdan öň ony öçürmeli bolarsyňyz. Gorag diwaryny doly togtatmak üçin aşakdaky buýruklary ulanmaly bolarsyňyz:

$ sudo systemctl stop firewalld
$ sudo systemctl disable firewalld
$ sudo systemctl mask firewalld

Apt buýrugynda IPTables gurmak.

$ sudo apt install iptables

IPTables guranyňyzdan soň, berlen buýruklar bilen gorag diwaryny açyp bilersiňiz:

$ sudo systemctl enable iptables
$ sudo systemctl start iptables

IPTable hyzmatynyň ýagdaýyna gözegçilik etmek üçin berlen buýrugy ulanyp bilersiňiz:

$ sudo systemctl status iptables

Linux-da IPTables buýrugynyň esaslaryny öwreniň

Gurmak bilen tamamlananymyzdan soň, defoltlary düzetmäge we islegleriňize görä sazlamaga mümkinçilik berýän IPTables sintaksisini dowam etdirip bileris.

IPTables-iň esasy sintaksisi aşakdakylar:

# iptables -t {type of table} -options {chain points} {condition or matching component} {action}

Aboveokardaky buýrugyň düşündirişine düşüneliň:

Birinji bölüm -t bolup, ol ýerde bar bolan 5 sany tablisanyň görnüşini saýlap bileris we buýrukdan -t bölegini aýyrsaňyz, süzgüç tablisasyny bolşy ýaly ulanar. deslapky tablisanyň görnüşi.

Ikinji bölüm zynjyr üçin. Bu ýerde dürli zynjyr nokatlaryndan saýlap bilersiňiz we şol wariantlar aşakda berilýär:

  • -A - Zynjyryň ujundaky zynjyra täze düzgün goşýar.
  • -C - Zynjyryň talaplaryna laýyk gelýändigini ýa-da ýokdugyny barlaýar.
  • -D - Ulanyjylara zynjyrdan bar bolan düzgüni pozmaga mümkinçilik berýär.
  • -F - Bu ulanyjy tarapyndan kesgitlenen her düzgüni aýyrar.
  • -I - Ulanyjylara görkezilen ýagdaýda täze düzgün goşmaga mümkinçilik berýär.
  • -N - düýbünden täze zynjyr döredýär.
  • -v - Sanaw opsiýasy ulanylanda jikme-jik maglumat getirýär.
  • -X - zynjyry pozýar.

Gabat gelýän opsiýalar zynjyryň talaplaryny barlamagyň şertidir. Dürli wariantlardan saýlap bilersiňiz we olaryň käbiri aşakda berilýär:

Protocols -p
Source IP -s
Destination IP -d
IN interface -i
OUT interface -o

TCP üçin olar aşakdakylar:

-sport
-dport
--tcp-flags

Indi, hereket bölegini göz öňünde tutsak, elýeterli opsiýalar NAT ýaly tablisanyň görnüşine baglydyr we mangle tablisasynda beýlekiler bilen deňeşdirilende has köp mümkinçilik bar. Hereket ulanyp, belli bir tablisany ýa-da zynjyry hem nyşana alyp bilersiňiz.

Iň köp ulanylýan hereket, Jump (-j) bolup, bize birnäçe wariant berer:

  • KESEL - Paketleri kabul etmek we gezelençleri gutarmak üçin ulanylýar.
  • DROP - Paketleri taşlamak we gezelençleri gutarmak üçin ulanylýar.
  • REJECT - Bu DROP bilen gaty meňzeýär, ýöne ret edilen paketleri çeşmä iberýär.
  • Gaýtarmak - bu paketiň aşaky zynjyrdan geçmegini bes eder we belli bir paketini hiç hili täsir etmezden ýokary zynjyra iberer.

Sintaksis bilen gutaranymyzdan soň, esasy konfigurasiýany goşmak bilen IPTables-i nädip ulanyp boljakdygyny görkezeris.

Firewall-dan nämäniň geçýändigini barlamak isleseňiz, häzirki düzgünler toplumyny sanamak iň oňat usuldyr. Ulanylýan düzgünleri sanamak üçin berlen buýrugy ulanyň:

$ sudo iptables -L

Bu bölümde, belli portlar üçin tor trafigine nädip rugsat berip ýa-da inkär edip boljakdygyny görkezeris. Mümkin boldugyça kömek etmek isleýänimiz üçin size belli portlary görkezeris.
HTTPS tor trafigine rugsat bermek isleseňiz, berlen buýrugy ulanyp, 443-nji porta rugsat bermeli bolarys:

$ sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

Şonuň ýaly-da, berlen buýruk bilen HTTP web trafigini hem öçürip bilersiňiz:

$ sudo iptables -A INPUT -p tcp --dport 80 -j REJECT

Ulanylan buýruk opsiýalarynyň düşündirişi:

  • -p görkezilen protokoly barlamak üçin ulanylýar we biziň ýagdaýymyzda TCP.
  • --dport niýetlenen porty kesgitlemek üçin ulanylýar.
  • -j hereket etmek (kabul etmek ýa-da düşürmek) üçin ulanylýar.

Hawa, IP adresinden tor trafigini hem dolandyryp bilersiňiz. Diňe bir ýa-da iki däl, IP adresleriň diapazonyna hem gözegçilik ediň we nädip boljakdygyny size görkezeris.

Belli bir IP adrese rugsat bermek üçin berlen buýruk gurluşyny ulanyň:

$ sudo iptables -A INPUT -s 69.63.176.13 -j ACCEPT

Şonuň ýaly-da, belli bir IP-den paketleri taşlamak üçin berlen buýruk gurluşyny ulanmaly bolarsyňyz:

$ sudo iptables -A INPUT -s 192.168.0.27 -j DROP

Isleseňiz, berlen buýruk gurluşyny ulanyp, IP adresleriniň diapazonyna hem gözegçilik edip bilersiňiz:

$ sudo iptables -A INPUT -m range --src-range 192.168.0.1-192.168.0.255 -j REJECT

Käwagt düzgünler döredilende ýalňyşlyk goýberip bileris we şol ýalňyşlary ýeňip geçmegiň iň gowy usuly olary ýok etmekdir. Kesgitlenen düzgünleri pozmak bu gollanmanyň iň aňsat prosesi we olary ýok etmek üçin ilki bilen olary sanamaly bolarys.

Kesgitlenen düzgünleri sanlar bilen sanamak üçin berlen buýrugy ulanyň:

$ sudo iptables -L --line-numbers

Düzgünleri pozmak üçin berlen buýruk gurluşyna eýermeli bolarys:

$ sudo iptables -D <INPUT/FORWARD/OUTPUT> <Number>

Geliň, 10-njy düzgüni INPUT-dan pozasym gelýär öýdýän, şonuň üçin berlen buýrugy ulanaryn:

$ sudo iptables -D INPUT 10

Düzgüni üstünlikli aýyrandygymyzy barlamak üçin berlen buýruk bilen düzgünleri sanamaly:

$ sudo iptables -L –line-numbers

Görşüňiz ýaly 10-njy düzgüni üstünlikli aýyrdyk.

Näme üçin düzgünleri ulanandan soň gowy işleýän ýerlerinde saklamaly bolýarys? Mesele ulgamyňyz täzeden açylansoň, ýatda saklanmadyk kesgitlenen düzgünleriň hemmesi pozular, şonuň üçin olar üçin biziň üçin gaty möhümdir.

RHEL esasly distroslarda düzgünleri ýatda saklamak üçin:

$ sudo /sbin/service iptables save

Debian önümlerinde düzgünleri ýatda saklamak üçin:

$ sudo /sbin/iptables–save

IPtable Firewall düzgünleri barada has giňişleýin maglumat üçin jikme-jik gollanmamyza göz aýlaň:

  • 25 Peýdaly IPtable Firewall düzgünleri Her Linux dolandyryjysy bilmeli

Bu gollanmanyň dowamynda her kim ondan peýdalanyp biler ýaly zatlary ýönekeýleşdirmäge synanyşdyk. Bu IPTables-de esasy düşündiriş gollanmasydy we soraglaryňyz bar bolsa teswirlerde sorap bilersiňiz.