Mwongozo wa Msingi juu ya IPTables (Linux Firewall) Vidokezo/Amri


Iwapo unatumia Kompyuta kwa muda, ni lazima ulifahamu neno Firewall.Tunajua kwamba mambo yanaonekana kuwa magumu kutoka juu lakini kupitia somo hili, tutaelezea msingi wa IPTable na matumizi ya amri za kimsingi. ili hata kama wewe ni mwanafunzi wa mitandao au unataka kuzama kwenye mitandao, unaweza kufaidika na mwongozo huu.

Jinsi Firewall inavyofanya kazi ni rahisi sana. Huweka kizuizi kati ya mitandao inayoaminika na isiyoaminika ili mfumo wako uweze kuwa salama dhidi ya pakiti hasidi.

Lakini ni jinsi gani tutaamua ni nini kilicho salama na kisicho salama? Kwa chaguo-msingi, unapata fursa ya kusanidi sheria za Firewall yako lakini kwa uchunguzi wa kina zaidi wa vifurushi vinavyoingia na kutoka, IPTables ndizo unazohitaji zaidi.

IPTables zinaweza kutumika kwa kompyuta binafsi au pia zinaweza kutumika kwa mtandao mzima. Kwa kutumia IPTables, tutakuwa tukifafanua seti ya sheria ambazo kwazo tunaweza kufuatilia, kuruhusu au kuzuia pakiti za mtandao zinazoingia au zinazotoka.

Badala ya kuzingatia tu sehemu nzima ya nadharia, tutajadili tu mambo muhimu katika ulimwengu wa vitendo. Kwa hivyo, wacha tuanze na kuelewa dhana za msingi za IPTables.

Kuelewa Dhana ya IPTables

Tunapojadili IPTables, lazima tuelewe maneno 3: Majedwali, Minyororo, na Kanuni. Kwa kuwa hizi ni sehemu muhimu, tutaenda kujadili kila moja yao.

Kwa hivyo, wacha tuanze na Jedwali.

Kuna aina 5 za jedwali katika IPTables na kila moja ina sheria tofauti zinazotumika. Kwa hivyo, tuanze na jedwali la kawaida zaidi \Faili.

  1. Jedwali la Kichujio - Hili ndilo jedwali chaguomsingi na kuu unapotumia IPTables. Inamaanisha wakati wowote hutataja jedwali lolote maalum wakati wa kutumia sheria, zitatumika kwenye jedwali la kichujio. Kama jina lake linavyopendekeza, jukumu la jedwali la Kichujio ni kuamua kama vifurushi viruhusiwe kufika vinakoenda au kukataa ombi lao.
  2. NAT (Tafsiri ya Anwani ya Mtandao) - Kama jina lake linavyopendekeza, jedwali hili huruhusu watumiaji kubainisha tafsiri ya anwani za mtandao. Jukumu la jedwali hili ni kuamua kama kurekebisha na jinsi ya kurekebisha chanzo na lengwa la anwani ya pakiti.
  3. Jedwali la Mangle - Jedwali hili huturuhusu kurekebisha vichwa vya IP vya pakiti. Kwa mfano, unaweza kurekebisha TTL kwa kurefusha au kufupisha miduara ya mtandao ambayo pakiti inaweza kudumu. Vile vile, vichwa vingine vya IP pia vinaweza kurekebishwa kulingana na upendeleo wako.
  4. Jedwali RAW - Matumizi makuu ya jedwali hili ni kufuatilia miunganisho kwani hutoa utaratibu wa kuashiria pakiti ili kuona pakiti kama sehemu ya kipindi kinachoendelea.
  5. Jedwali la Usalama - Kwa kutumia jedwali la Usalama, watumiaji wanaweza kutumia alama za muktadha wa usalama wa SELinux kwenye pakiti za mtandao.

Kwa hali nyingi za utumiaji, aina 2 za mwisho (RAW na Usalama) za jedwali hazina mengi ya kufanya na chaguo 3 za kwanza pekee ndizo zinazohesabiwa kuwa jedwali kuu.

Sasa, hebu tuzungumze kuhusu Minyororo.

Wanatenda katika maeneo katika njia ya mtandao ambapo tunaweza kutumia sheria. Katika IPTables, sisi aina 5 za minyororo na tutajadili kila mmoja wao. Kumbuka kwamba si kila aina ya mlolongo inapatikana kwa kila aina ya meza.

  1. Uelekezaji wa awali – Msururu huu unatumika kwa pakiti yoyote inayoingia pindi tu inapoingizwa kwenye mrundikano wa mtandao na msururu huu unachakatwa hata kabla ya uamuzi wowote wa uelekezaji kufanywa kuhusu lengwa la mwisho la pakiti.
  2. Msururu wa Kuingiza Data - Ni mahali ambapo pakiti huingia kwenye mrundikano wa mtandao.
  3. Msururu wa Mbele - Ni mahali ambapo pakiti imesambazwa kupitia mfumo wako.
  4. Msururu wa Pato - Msururu wa pato hutumika kwa pakiti ilipotoka kupitia mfumo wako na kuzimika.
  5. Uelekezaji - Hiki ni kinyume kabisa cha msururu wa uelekezaji awali na hutumika kwa pakiti zinazotumwa au zinazotoka mara tu uamuzi wa uelekezaji unapofanywa.

Sasa, jambo pekee lililosalia kujadili ni sheria, na ni moja rahisi zaidi kati ya 3 ambazo tumejadili hapa. Basi hebu tumalize kile kilichobaki kwenye sehemu ya kinadharia.

Sheria si chochote ila ni seti au amri za mtu binafsi ambazo watumiaji hudhibiti trafiki ya mtandao. Mara tu kila mlolongo utakapoanza kutumika, pakiti itaangaliwa dhidi ya sheria zilizoainishwa.

Ikiwa sheria moja haikidhi hali hiyo, itarukwa hadi inayofuata na ikiwa inakidhi hali hiyo, sheria inayofuata itatajwa na thamani ya lengo.

Kila sheria ina vipengele viwili: sehemu inayolingana na sehemu inayolengwa.

  1. Kipengele cha Kulingana - Ni masharti tofauti ya kufafanua sheria zinazoweza kulinganishwa na itifaki, anwani ya IP, anwani ya mlango, violesura na vichwa.
  2. Kipengele Lengwa - Hiki ni kitendo ambacho kitaanzishwa mara tu masharti yatakapotimizwa.

Hii ilikuwa sehemu ya maelezo na sasa tutakuwa tunashughulikia amri za kimsingi zinazohusiana na IPTables katika Linux.

Kufunga IPTables Firewall katika Linux

Katika usambazaji wa kisasa wa Linux kama vile Pop!_OS, IPTables huja ikiwa imesakinishwa awali lakini ikiwa mfumo wako hauna kifurushi cha IPTables, unaweza kukisakinisha kwa urahisi kwa maagizo uliyopewa:

Ili kusakinisha IPTables kwenye dnf amri.

$ sudo dnf install iptables-services

Muhimu: Ikiwa unatumia Firewalld, itabidi uizime kabla ya kuendelea na usakinishaji. Ili kuzima firewall kabisa, itabidi utumie amri zifuatazo:

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

Ili kusakinisha IPTables kwa amri ya apt.

$ sudo apt install iptables

Mara tu unaposanikisha IPTables, unaweza kuwezesha firewall kwa amri uliyopewa:

$ sudo systemctl enable iptables
$ sudo systemctl start iptables

Kufuatilia hali ya huduma ya IPTable, unaweza kutumia amri uliyopewa:

$ sudo systemctl status iptables

Jifunze Misingi ya Amri ya IPTables katika Linux

Mara tu tunapomaliza usakinishaji, tunaweza kuendelea na syntax ya IPTables ambayo itakuruhusu kurekebisha chaguo-msingi na kukuruhusu kusanidi kulingana na mahitaji yako.

Syntax ya msingi ya IPTables ni kama ifuatavyo:

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

Wacha tuelewe maelezo ya amri hapo juu:

Sehemu ya kwanza ni -t ambapo tunaweza kuchagua kutoka kwa chaguo zozote 5 za jedwali zinazopatikana na ukiondoa sehemu ya -t kutoka kwa amri, itatumia jedwali la kichujio jinsi lilivyo. aina ya meza chaguo-msingi.

Sehemu ya pili ni ya mnyororo. Hapa unaweza kuchagua kutoka kwa chaguzi tofauti za nukta na chaguzi hizo zimepewa hapa chini:

  • -A - Huongeza sheria mpya kwenye mnyororo mwishoni mwa mnyororo.
  • -C - Hukagua sheria kama inakidhi mahitaji ya msururu.
  • -D - Huruhusu watumiaji kufuta sheria iliyopo kutoka kwa mnyororo.
  • -F - Hii itaondoa kila sheria iliyofafanuliwa na mtumiaji.
  • -I - Huruhusu watumiaji kuongeza sheria mpya katika nafasi iliyobainishwa.
  • -N - Huunda msururu mpya kabisa.
  • -v - Inapotumiwa na chaguo la orodha, huleta maelezo ya kina.
  • -X - Inafuta msururu.

Chaguzi zinazolingana ni hali ya kuangalia mahitaji ya mnyororo. Unaweza kuchagua kutoka kwa chaguzi anuwai na zingine zimepewa hapa chini:

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

Kwa TCP, ni kama ifuatavyo.

-sport
-dport
--tcp-flags

Sasa, ikiwa tutazingatia sehemu ya kitendo, chaguzi zinazopatikana zinategemea aina ya jedwali kama vile NAT, na jedwali la mangle lina chaguzi zaidi ikilinganishwa na zingine. Kwa kutumia hatua, unaweza pia kulenga meza au mnyororo maalum.

Kitendo kinachotumika zaidi ni Rukia (-j) ambacho kitatupa chaguzi kadhaa kama vile:

  • KUBALI - Inatumika kukubali pakiti na kukomesha kuvuka.
  • DROP - Hutumika kudondosha pakiti na kukomesha kuvuka.
  • KATAA - Hii ni sawa kabisa na DROP lakini hutuma pakiti iliyokataliwa kwa chanzo.
  • REJEA - Hii itaacha kuvuka pakiti katika msururu mdogo na itatuma pakiti mahususi kwa msururu wa hali ya juu bila athari.

Tukimaliza na sintaksia, tutakuonyesha jinsi unavyoweza kutumia IPTables ikijumuisha usanidi msingi.

Ikiwa ungependa kuangalia ni nini kinachopitia Firewall yako kwa chaguo-msingi, kuorodhesha seti ya sasa ya sheria ni njia bora. Ili kuorodhesha sheria zinazotumika, tumia amri uliyopewa:

$ sudo iptables -L

Katika sehemu hii, tutakuonyesha jinsi unavyoweza kuruhusu au kukataa trafiki ya mtandao kwa bandari maalum. Tutakuonyesha baadhi ya bandari zinazojulikana kadri tunavyotaka kukusaidia kadri tuwezavyo.
Iwapo unataka kuruhusu trafiki ya mtandao wa HTTPS, tutalazimika kuruhusu mlango nambari 443 kwa kutumia amri uliyopewa:

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

Vile vile, unaweza pia kuzima trafiki ya wavuti ya HTTP kwa amri uliyopewa:

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

Ufafanuzi wa chaguzi za amri zilizotumiwa:

  • -p inatumika kwa kuangalia itifaki maalum na kwa upande wetu TCP yake.
  • --dport inatumika kubainisha lango lengwa.
  • -j hutumika kuchukua hatua (kubali au kuacha).

Ndiyo, unaweza pia kudhibiti trafiki ya mtandao kutoka kwa anwani ya IP. Sio moja au mbili tu bali pia udhibiti anuwai ya anwani za IP na tutakuonyesha jinsi gani.

Ili kuruhusu anwani maalum ya IP, tumia muundo wa amri uliyopewa:

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

Vivyo hivyo, ili kuacha pakiti kutoka kwa IP maalum, unahitajika kutumia muundo wa amri uliyopewa:

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

Ikiwa unataka, unaweza pia kudhibiti anuwai ya anwani za IP kwa kutumia muundo wa amri uliyopewa:

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

Wakati mwingine tunaweza kuishia kufanya makosa wakati wa kuunda sheria na njia bora ya kushinda makosa hayo ni kufuta. Kufuta sheria zilizoainishwa ni mchakato rahisi zaidi katika mwongozo huu na kuzifuta, kwanza, tutalazimika kuziorodhesha.

Ili kuorodhesha sheria zilizoainishwa na nambari, tumia amri uliyopewa:

$ sudo iptables -L --line-numbers

Ili kufuta sheria, tutalazimika kufuata muundo wa amri uliyopewa:

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

Wacha tuseme ninataka kufuta sheria ya 10 kutoka kwa INPUT kwa hivyo nitakuwa nikitumia amri niliyopewa:

$ sudo iptables -D INPUT 10

Ili kuangalia ikiwa tumeondoa sheria kwa mafanikio, lazima tuorodheshe sheria kwa amri iliyotolewa:

$ sudo iptables -L –line-numbers

Kama unavyoona, tumefanikiwa kuondoa sheria ya 10.

Unaweza kuwa unashangaa kwa nini tunapaswa kuhifadhi sheria ambapo zinafanya kazi vizuri baada ya kuzitumia? Suala ni kwamba mfumo wako ukiwashwa tena, sheria zote zilizobainishwa ambazo hazijahifadhiwa zitafutwa kwa hivyo ni muhimu kwetu kwao.

Ili kuhifadhi sheria katika distros ya msingi wa RHEL:

$ sudo /sbin/service iptables save

Ili kuhifadhi sheria katika derivatives ya Debian:

$ sudo /sbin/iptables–save

Katika mwongozo huu wote, tumejaribu kurahisisha mambo ili kila mtu aweze kufaidika nayo. Huu ulikuwa mwongozo wa msingi wa maelezo kwenye IPTables na ikiwa una maswali yoyote, jisikie huru kuuliza kwenye maoni.