Knowledgebase Maagizo rahisi ya kufanya kazi na huduma ya Profitserver
Kuu ya Knowledgebase Inasanidi Firewall kwenye Linux

Inasanidi Firewall kwenye Linux


Firewall kwenye Linux ina jukumu muhimu katika kupata mfumo wa kompyuta. Inafanya kazi kama kizuizi, kudhibiti na kuchuja trafiki ya mtandao ili kulinda mfumo dhidi ya ufikiaji usioidhinishwa, mashambulizi na vitisho vingine. Bila Firewall iliyosanidiwa ipasavyo, seva inaweza kuathiriwa na aina mbalimbali za mashambulizi ya mtandaoni, na hivyo kusababisha madhara makubwa kwa usalama na usiri wa data.

Katika makala haya, tutaangalia zana mbili kuu za kusanidi Firewall ya Linux: firewalld na iptables. Tutafanya uchambuzi wa kulinganisha wa vipengele, utendaji, na faida zao. Zaidi ya hayo, tutatoa maelekezo ya kina ya kusanidi na kutumia kila moja ya zana hizi, na pia kujadili mbinu bora za kulinda mfumo wako kwa Firewall kwenye jukwaa la Linux. Vitendo vyote vitaonyeshwa kwenye seva pepe yenye ufikiaji wa mizizi.

Inasanidi firewall kwenye Linux

Firewalld (Firewall Daemon) ni programu ya kudhibiti ngome katika mifumo endeshi ya Linux. Inatoa kiolesura cha mtumiaji cha kusanidi sheria za ngome, kuruhusu au kuzuia miunganisho ya programu za mtandao. Imesakinishwa awali kwa chaguo-msingi katika usambazaji mwingi wa seva. Ikiwa Firewalld haijasakinishwa awali, inaweza kusakinishwa kwa kujitegemea kutoka kwenye hazina rasmi za usambazaji.

Kwa mifumo ya Red Hat (kama vile RHEL, CentOS, Fedora) usakinishaji unafanywa kwa amri:

yum install firewalld

Kwa Debian/Ubuntu:

apt-get install firewalld

Baada ya usakinishaji, inaweza kuanza na kuamilishwa mara moja na amri:

systemctl start firewalld

Ifuatayo, unahitaji kuongeza huduma ili kuanza:

systemctl enable firewalld
Inaongeza firewalld katika upakiaji otomatiki wa Linux

Katika hatua hii, tunapendekeza kuzima ufw, kwani matumizi ya wakati mmoja ya zana hii na firewalld au iptables haipendekezi. Angalia hali:

systemctl status ufw
Kuangalia ufw linux

Ili kuizuia, ingiza amri:

systemctl stop ufw

Kwa kuzima kabisa:

ufw disable

Baada ya vitendo hivi, unaweza kuendelea kusanidi firewalld.

Kwanza, ni muhimu kufafanua maeneo ya uaminifu. Firewalld hutumia dhana ya kanda ili kubainisha kiwango cha uaminifu kwa violesura vya mtandao. Kila interface imepewa eneo moja, na sheria za firewall zinatumika kulingana na eneo. Orodha ya kanda zote zinazopatikana hufunguliwa kwa amri:

firewall-cmd --get-zones

Kawaida, maeneo 4 kuu hutumiwa:

  1. Umma: Eneo hili ni la mitandao ambayo unaona si salama;
  2. Binafsi: Inatumika kwa mitandao ya nyumbani au miunganisho mingine ya mtandao inayoaminika;
  3. Ndani: Inatumika kwa mitandao ya ndani, kama vile iliyo ndani ya shirika au mtandao wa shirika;
  4. DMZ: Eneo hili ndipo seva huwekwa kwa kawaida ambazo zinapaswa kufikiwa kutoka kwa mtandao.

Hata hivyo, huu ni mfano mmoja tu. Unaweza kuongeza eneo lako mwenyewe kwa kutumia amri:

firewall-cmd --permanent --new-zone=nameyourzone

Baada ya kuongeza, upakiaji upya unahitajika:

firewall-cmd --reload

Ili kufuta eneo, njia sawa hutumiwa

firewall-cmd --permanent --delete-zone=nameyourzone

Baada ya kubainisha maeneo, ni muhimu kuruhusu trafiki kwa huduma na bandari zinazohitajika. Ili kuruhusu huduma fulani, tumia amri:

firewall-cmd --zone=public --add-service=name

Ambapo jina ni jina la huduma. Kwa mfano, ili kuruhusu trafiki kwa Apache:

firewall-cmd --zone=public --add-service=http

Ili kufafanua bandari zinazoruhusiwa, tumia amri:

firewall-cmd --zone=public --add-port=number/protocol

Kwa mfano, bandari ya kawaida ya 22 ya SSH ingeonekana kama hii:

firewall-cmd --zone=public --add-port=22/tcp

Katika hatua hii, sheria kuu tayari zimeundwa. Kisha, amua jinsi trafiki itakavyoshughulikiwa kulingana na chanzo, unakoenda, lango, na vigezo vingine. Ili kuongeza sheria (kwa kutumia eneo la umma kama mfano):

firewall-cmd --zone=public rule

Kwa mfano, kuruhusu trafiki inayoingia kutoka chanzo chochote hadi bandari 80 (HTTP):

firewall-cmd --zone=public --add-port=80/tcp --permanent

Ili kuondoa sheria:

firewall-cmd --permanent --remove-rule=rule_specification

Ambapo sheria ni aina ya sheria (km, lango, huduma, sheria tajiri, n.k.), na uainishaji_wa_sheria ni vipimo vya sheria yenyewe.

Baada ya kufanya mabadiliko kwenye usanidi wa Firewalld, ni muhimu kuyahifadhi na kuyatumia. Ili kuokoa mabadiliko, tumia amri:

firewall-cmd --runtime-to-permanent

Ili kutekeleza mabadiliko:

firewall-cmd --reload

Baada ya kukamilisha usanidi, unaweza kuthibitisha vigezo vilivyochaguliwa kwa kufungua orodha ya sheria zote:

firewall-cmd --list-all
sheria za firewall Linux

Ikiwa shida yoyote itatokea, angalia kumbukumbu za Firewalld kwa amri:

journalctl -u firewalld

Kumbuka: Tumeshughulikia tu algoriti ya jumla ya kuanzisha muunganisho. Zana hii ina utendaji mpana. Kwa taarifa kamili kuhusu chaguo zote zinazopatikana, unaweza kutumia hati rasmi au usaidizi wa kufungua:

firewall-cmd --help

Inasanidi iptables kwenye Linux

Tofauti na Firewalld, iptables ni zana ya zamani lakini bado inatumika sana katika Linux kudhibiti ngome. Inatoa mbinu ya moja kwa moja na rahisi zaidi kwa sheria za kuchuja pakiti katika kiwango cha Linux kernel. Hata hivyo, iptables zinahitaji ujuzi na uzoefu wa hali ya juu zaidi ikilinganishwa na Firewalld, na kuifanya isiweze kufikiwa na wanaoanza. Angalia toleo lililosanikishwa la chombo na amri:

iptables -V

Ikiwa chombo hakijasakinishwa, kitahitaji kusanikishwa. Amri ya usakinishaji kwenye Ubuntu, Debian:

apt install iptables

Kwa mifumo ya Kofia Nyekundu (kwa mfano, CentOS, Fedora):

yum install iptables

Amri ya kuwezesha baada ya ufungaji:

systemctl start iptables

Ili kuongeza kwenye kuanza, tekeleza:

systemctl enable iptables

Kabla ya kuanza usanidi wa iptables, ni muhimu kuelewa jinsi inavyofanya kazi. Hii inasaidiwa na syntax ya programu. Inaonekana kama ifuatavyo:

iptables -t table action chain additional_parameters

Wacha tuzame kwa undani zaidi kila kitu.

Iptables ina jedwali kuu nne: kichujio, nat, mangle, na mbichi . Kila moja imeundwa kwa ajili ya kusindika aina fulani za pakiti na ina minyororo yake ya sheria:

  1. kuchuja: Hili ndilo jedwali linalotumiwa mara nyingi zaidi, lililo na sheria za kuchuja pakiti. Inatumika kufanya maamuzi ya kuruhusu au kukataa pakiti.
  2. nat: Jedwali hili linatumika kwa kurekebisha anwani za mtandao na milango katika pakiti. Mara nyingi hutumika kusanidi uigaji (NAT).
  3. kula: Katika jedwali hili, unaweza kurekebisha vichwa vya pakiti. Inatumika kwa shughuli maalum za pakiti, kama vile kuweka alama.
  4. ghafi: Jedwali hili linatumika kusanidi sheria zinazotumika kabla ya kupitia mfumo wa kufuatilia muunganisho. Kwa kawaida hutumika kuweka sheria ambazo hazifai kurekebishwa na mfumo wa ufuatiliaji, kama vile kudondosha pakiti kutoka kwa anwani fulani.

Kila meza ina seti ya minyororo. Minyororo ni mlolongo wa sheria ambazo huangaliwa kwa mfululizo. Kuna minyororo mitatu iliyoainishwa mapema:

  1. INPUT (zinazoingia). Sheria katika mlolongo huu huamua nini cha kufanya na pakiti zinazoingia.
  2. OUTPUT (inayotoka). Msururu huu unatumika kwa pakiti zote ambazo kompyuta yako hutuma kwa vifaa vingine au kompyuta kwenye mtandao.
  3. MBELE (inasambaza). Sheria katika mlolongo huu zinabainisha nini cha kufanya na pakiti zilizotumwa.

Hatimaye, kila mlolongo una hatua fulani (lengo). Kwa mazoezi, vitendo 5 kuu hutumiwa:

  1. ACCEPT: Ruhusu pakiti kupita kwenye ngome.
  2. DHAMBI: Kataa pakiti na uitupe bila jibu lolote.
  3. KATAA: Kataa pakiti na umtumie mtumaji ujumbe wa hitilafu wa ICMP.
  4. Ingia: Ingiza pakiti kwenye logi ya mfumo na ufanye kitendo kingine (kwa mfano, KUBALI au DROP).
  5. Furahisha: Acha kuangalia sheria katika msururu wa sasa na urudi kwenye msururu wa kupiga simu (ikiwa inatumika).

Ili kuanza usanidi, fungua orodha ya sheria zilizopo na amri:

iptables -L
Inasanidi Firewall kwenye Linux

Kama mwongozo wa kusanidi Iptables, hebu tuangalie mifano ya vitendo ya amri zinazotumiwa sana. Kwa urahisi, tutagawanya mifano katika vikundi 3, kulingana na mlolongo maalum.

Mnyororo wa kuingiza :

  1. Ruhusu trafiki inayoingia kupitia itifaki ya TCP kwenye bandari 80:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

2. Ruhusu trafiki inayoingia kupitia itifaki ya UDP kwenye mlango wa 22:

iptables -A INPUT -p udp --dport 22 -j ACCEPT

3. Zuia trafiki inayoingia kutoka kwa anwani mahususi ya IP:

iptables -A INPUT -s 192.168.1.100 -j DROP

MATOKEO YA Mnyororo :

  1. Ruhusu trafiki inayotoka kupitia itifaki ya TCP kwenye bandari 443:
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT

2. Ruhusu trafiki inayotoka kupitia itifaki ya UDP kwenye bandari 80:

iptables -A OUTPUT -p udp --dport 80 -j ACCEPT

3. Zuia trafiki inayotoka kwa bandari maalum (kwa mfano, 21):

iptables -A OUTPUT -p tcp --dport 21 -j DROP

Mnyororo MBELE :

  1. Zuia trafiki iliyotumwa kutoka kwa anuwai maalum ya anwani za IP:
iptables -A FORWARD -s 172.16.0.0/24 -j DROP

2. Zuia usambazaji wa pakiti kutoka kwa kiolesura maalum cha mtandao:

iptables -A FORWARD -i eth1 -j DROP

3. Weka kikomo idadi ya miunganisho ya wakati mmoja kwa mlango maalum (katika mfano huu, miunganisho 10 kwa dakika kwenye mlango wa 80):

iptables -A INPUT -p tcp --dport 80 -m limit --limit 10/minute -j ACCEPT

Kama unaweza kuona, katika kila kesi tofauti, hoja ya ziada (amri) hutumiwa. Ili kupata orodha kamili ya hoja zinazowezekana na usaidizi wa jumla wa utendakazi wa zana, ingiza:

iptables -h
orodha ya amri ya usanidi wa iptables linux

Ili kuhakikisha kuwa mipangilio ni sahihi, ingiza tena amri ili kuona orodha ya sheria:

iptables -L
Kuangalia sheria za linux za iptables

Ili kufuta sheria maalum, tumia amri:

iptables -D chain rule_number

Kwa mfano, ikiwa unataka kufuta sheria nambari 1 kutoka kwa mnyororo wa INPUT, amri itaonekana kama hii:

iptables -D INPUT 1

Ili kufuta sheria zote kwa amri moja:

iptables -F

Dokezo muhimu : sheria za iptables hazihifadhiwi kiotomatiki baada ya kuwasha upya mfumo au huduma. Ili kuhifadhi sheria, zinahitaji kuongezwa kwenye faili ya usanidi na kurejeshwa baada ya kuwasha upya. Huduma za iptables-save na iptables-restore zinaweza kusaidia na hili. Ili kuhifadhi sheria, ingiza amri:

iptables-save > /etc/iptables/rules.v4

Hii huhifadhi sheria za sasa za iptables katika faili ya rules.v4. Ili kurejesha baada ya kuwasha upya, ingiza:

iptables-restore < /etc/iptables/rules.v4

Amri hii inarejesha sheria kutoka kwa sheria.v4 faili.

Hitimisho

Kusanidi Firewall kwenye Linux kwa kutumia firewalld au iptables ni kipengele muhimu cha kuhakikisha usalama wa seva. Zana zote mbili hutoa njia za kuaminika za kudhibiti trafiki ya mtandao na kulinda mfumo dhidi ya ufikiaji usioidhinishwa na mashambulizi ya mtandao. Chaguo kati ya firewalld na iptables inategemea mahitaji maalum na mapendekezo ya mtumiaji, kwa kuzingatia utendaji wao tofauti na nguvu.

❮ Makala iliyotangulia Uchunguzi wa Upakiaji wa Seva
Makala yanayofuata ❯ Watumiaji wa Linux: Usimamizi na Ruhusa

Tuulize kuhusu VPS

Daima tuko tayari kujibu maswali yako wakati wowote wa mchana au usiku.