“CentOS” we “Ubuntu” -da “Firewalld” -y nädip gurmaly, sazlamaly we ulanmaly


Firewalld (firewall daemon), ulgam (ýa-da firewall) zolaklaryny goldaýan ulgamyň gorag diwaryny dinamiki dolandyrmak we konfigurasiýalary dolandyrmak üçin D-Bus interfeýsini üpjün etmek üçin iptables hyzmatyna alternatiwadyr. Ulanmak we düzmek aňsat, indi RHEL/CentOS, Fedora we başga-da birnäçe Linux paýlanyşynda gorag diwar gorag dolandyryş guraly.

Bu makalada ulgam gorag diwaryny firewalld bilen nädip sazlamalydygyny we CentOS/RHEL 7 we Ubuntu-da esasy paket süzgüçini durmuşa geçirmegiň usullaryny ara alyp maslahatlaşarys.

Firewalld hakda esaslar

“Firewalld” üç gatlakdan ybarat, olar:

  • ýadro gatlagy: konfigurasiýa we arka taraplary dolandyrmak üçin jogapkär (aşakda görkezilen).
  • D-Bus interfeýsi: gorag diwary konfigurasiýasyny üýtgetmegiň we döretmegiň esasy serişdesi.
  • arkasy: netfilter bilen täsirleşmek üçin (gorag diwary üçin ulanylýan ýerli ýadro moduly). Olara iptables, ip6tables, ebtables, ipset, nft, linnftables girýär; tor dolandyryjysy; we modullar.

Ulgam birikmeleriniň ýa-da interfeýsleriň ynam derejesini kesgitleýän tor/firewall zolaklaryny ýerine ýetirip, diwar gorag düzgünlerini dolandyrýar. Beýleki goldanýan gorag diwary aýratynlyklary hyzmatlary, göni konfigurasiýany (çig iptables sintaksisini gönüden-göni geçirmek üçin ulanylýar), IPSets we ICMP görnüşlerini öz içine alýar.

Iki görnüşli konfigurasiýa gurşawy firewalld tarapyndan goldanýar:

  • iş wagtynyň konfigurasiýasy, diňe enjam täzeden açylýança ýa-da gorag diwary hyzmaty täzeden açylýança täsirli
  • saklanýan we yzygiderli işleýän hemişelik konfigurasiýa.

Firewall-cmd buýruk setiri guraly iş wagtyny we hemişelik konfigurasiýasyny dolandyrmak üçin ulanylýar. Ativea-da bolmasa, daemon bilen täsirleşmek üçin firewall-config grafiki ulanyjy interfeýsini (GUI) konfigurasiýa guralyny ulanyp bilersiňiz.

Mundan başga-da, “firewalld” beýleki ýerli hyzmatlar ýa-da programmalar üçin kök aýratynlyklary bilen işleýän bolsa, göni diwar gorag düzgünlerine üýtgetmeler girizmegi haýyş etmek üçin gowy kesgitlenen interfeýs hödürleýär.

Firewalld üçin global konfigurasiýa faýly /etc/firewalld/firewalld.conf ýerleşýär we firewall aýratynlyklary XML görnüşinde düzülendir.

Möhüm firewalld aýratynlyklaryna düşünmek

Firewalld-iň esasy aýratynlygy tor/firewall zolaklarydyr. Beýleki aýratynlyklaryň hemmesi bir zona baglydyr. Gorag diwary zolagy, baglanyşyk, interfeýs ýa-da çeşme salgysy üçin ynam derejesini beýan edýär.

Dymmaklyk konfigurasiýa, zonalaryň ynamsyz derejeden ygtybarly derejä görä tertiplenen birnäçe öňünden kesgitlenen zonalary bilen gelýär: düşmek, blokirlemek, köpçülik, daşarky, dmz, iş, öý, içerki we ynamdar. Olar/usr/lib/firewalld/zones katalogynda saklanýan faýllarda kesgitlenilýär.

CLI müşderisini ulanyp, ýörite zolaklaryňyzy düzüp ýa-da goşup bilersiňiz ýa-da bar bolan faýllardan/etc/firewalld/zonalarda zona faýly döredip ýa-da göçürip bilersiňiz.

“Firewalld” astyndaky başga bir möhüm düşünje hyzmatlardyr. Hyzmat portlar we protokollar bilen kesgitlenýär; bu kesgitlemeler web serweri ýa-da uzakdan giriş hyzmaty ýaly berlen ulgam hyzmatyny aňladýar. Hyzmatlar/usr/lib/firewalld/services/ýa-da/etc/firewalld/services/katalogynda saklanýan faýllarda kesgitlenýär.

Esasy iptables/ip6tables/ebtables düşünjelerini bilýän bolsaňyz, gorag diwaryna göni girmek üçin göni interfeýsi (ýa-da konfigurasiýa) ulanyp bilersiňiz. Emma, iptable bilimi bolmadyklar üçin IPv4 we IPv6 üçin has çylşyrymly gorag diwar düzgünlerini döretmek üçin baý dili ulanyp bilersiňiz.

Linux-da Firewalld paketini nädip gurmaly

CentOS 7-de firewalld paketi öňünden gurlan we aşakdaky buýrugy ulanyp barlap bilersiňiz.

$ rpm -qa firewalld

Ubuntu 16.04 we 18.04-de, görkezilişi ýaly deslapky paket dolandyryjysyny ulanyp gurup bilersiňiz.

$ sudo apt install firewalld

Linux-da Firewalld hyzmatyny nädip dolandyrmaly

Firewalld, systemctl buýrugy arkaly dolandyrylyp bilinýän yzygiderli systemd hyzmatydyr.

 
$ sudo systemctl start firewalld	#start the service for the mean time
$ sudo systemctl enable firewalld	#enable the service to auto-start at boot time
$ sudo systemctl status firewalld	#view service status

Firewalld hyzmatyny başlanyňyzdan soň, firewall-cmd guralyny ulanyp, daemonyň işleýändigini ýa-da işlemeýändigini barlap bilersiňiz (işjeň däl bolsa, bu buýruk\işlemeýär).

$ sudo firewall-cmd --state

Islendik üýtgeşmäni hemişelik ýatda saklasaňyz, firewalld-y täzeden açyp bilersiňiz. Bu diwar gorag düzgünlerini täzeden açar we döwlet maglumatyny saklar. Häzirki hemişelik konfigurasiýa täze iş wagtynyň konfigurasiýasyna öwrüler.

$ sudo firewall-cmd --reload

Firewalld-da Firewall zolaklary bilen nädip işlemeli

Bar bolan gorag diwar zolaklarynyň we hyzmatlarynyň sanawyny almak üçin bu buýruklary işlediň.

$ sudo firewall-cmd --get-zones
$ sudo firewall-cmd --get-services

Bellenen zona, başga bir zona aç-açan çäklendirilmedik her bir diwar gorag aýratynlygy üçin ulanylýan zona. Işläp, tor birikmeleri we interfeýsler üçin deslapky zona toplumyny alyp bilersiňiz.

$ sudo firewall-cmd --get-default-zone

Adaty zonany, mysal üçin daşarky görnüşde bellemek üçin aşakdaky buýrugy ulanyň. --permanent opsiýasyny goşmak konfigurasiýany hemişelik kesgitleýär (ýa-da hemişelik konfigurasiýa gurşawyndan maglumat soramaga mümkinçilik berýär).

$ sudo firewall-cmd --set-default-zone=external
OR
$ sudo firewall-cmd --set-default-zone=external --permanent
$ sudo firewall-cmd --reload 

Indiki bir zona interfeýs goşmagyň usullaryna seredeliň. Bu mysal, simsiz tor adapteriňizi (wlp1s0) öý meýdançalarynda ulanylýan öý zonasyna nädip goşmalydygyny görkezýär.

$ sudo firewall-cmd --zone=home --add-interface=wlp1s0

Interfeýsi diňe bir zona goşup bolýar. Başga zona geçirmek üçin, görkezilişi ýaly --change-interface wyklýuçatelini ulanyň ýa-da oremremove-interfeýs wyklýuçatelini ulanyp öňki zonadan aýyryň, soňra täze zona goşuň.

Jemgyýetçilik WI-FI toruna birikmek isleýändigiňizi göz öňünde tutsaňyz, simsiz interfeýsiňizi köpçülik zonasyna gaýdyp geçirmeli:

$ sudo firewall-cmd --zone=public --add-interface=wlp1s0
$ sudo firewall-cmd --zone=public --change-interface=wlp1s0

Bir wagtyň özünde köp zonany ulanyp bilersiňiz. Interfeýsler, hyzmatlar, portlar, protokollar ýaly işjeň aýratynlyklar bilen ähli işjeň zolaklaryň sanawyny almak üçin işlediň:

$ sudo firewall-cmd --get-active-zones

Öňki nokada degişlilikde, Belli bir zona hakda has giňişleýin maglumat tapmak isleseňiz, ýagny oňa goşulan ýa-da işledilen zatlaryň hemmesi şu buýruklardan birini ulanyň:

$ sudo firewall-cmd --zone=home --list-all
OR
$ sudo firewall-cmd --info-zone public

Anotherene bir peýdaly wariant, hemişelik zonanyň nyşanyny görkezýän --get-target . Maksat şulardan biridir: deslapky, ACCEPT, DROP, REJECT. Dürli zonalaryň nyşanyny barlap bilersiňiz:

$ sudo firewall-cmd --permanent --zone=public --get-target  
$ sudo firewall-cmd --permanent --zone=block --get-target  
$ sudo firewall-cmd --permanent --zone=dmz --get-target  
$ sudo firewall-cmd --permanent --zone=external --get-target
$ sudo firewall-cmd --permanent --zone=drop --get-target

Firewalld-da portlary nädip açmaly we bloklamaly

Gorag diwarynda port (ýa-da port/protokol kombinasiýasy) açmak üçin ony diňe --add-port opsiýasy bolan zona goşuň. Zonany aç-açan görkezmeseňiz, adaty zonada işlediler.

Aşakdaky mysal, degişlilikde HTTP we HTTPS protokollary arkaly içerki web traffigine rugsat bermek üçin 80 we 443 porty nädip goşmalydygyny görkezýär:

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

Ondan soň, gorag diwaryny täzeden açyň we köpçülik zolagynda açyk aýratynlyklary barlaň, ýaňy goşulan portlary görüp bilersiňiz.

$ sudo firewall-cmd --reload
$ sudo firewall-cmd --info-zone public

Gorag diwaryndaky porty petiklemek ýa-da ýapmak hem aňsat, ony --remove-port opsiýasy bilen zonadan aýyryň. Mysal üçin, jemgyýetçilik zonasyndaky 80 we 443 portlary ýapmak.

$ sudo firewall-cmd --zone=public --permanent --remove-port=80/tcp --remove-port=443/tcp

Port ýa-da port/protokol kombinasiýasyny ulanmagyň ýerine, indiki bölümde düşündirilişi ýaly port bellenen hyzmat adyny ulanyp bilersiňiz.

Firewalld-da hyzmatlary nädip açmaly we bloklamaly

Gorag diwarynda hyzmat açmak üçin, --add-service opsiýasyny ulanyp işlediň. Zona aýrylsa, deslapky zona ulanylar.

Aşakdaky buýruk, jemgyýetçilik zonasyndaky http hyzmatyny hemişelik işleder.

$ sudo firewall-cmd --zone=public --permanent --add-service=http 
$ sudo firewall-cmd --reload 

Hyzmaty öçürmek üçin --remove-service opsiýasy ulanylyp bilner.

$ sudo firewall-cmd --zone=public --permanent --remove-service=http 
$ sudo firewall-cmd --reload 

“Firewalld” -y ulanyp, IP maskaradini nädip açmaly we öçürmeli

IP Masquerading (IPMASQ ýa-da MASQ diýlip hem atlandyrylýar) Linux torundaky NAT (Tor salgysynyň terjimesi) mehanizmidir, bu ulgamdaky öý eýeleriňize, şahsy IP adresleri bilen Linux serweriňiziň (IPMASQ şlýuzasy) berlen IP ulanyp, internet bilen aragatnaşyk saklamaga mümkinçilik berýär. salgysy.

-Eke-täk kartalaşdyrmak. Görünmeýän ýer eýeleriňizdäki traffik, internetdäki beýleki kompýuterlere Linux serweriňizden gelýän ýaly görüner.

Islenýän zonada, mysal üçin jemgyýetçilik zolagynda IP maskaradini açyp bilersiňiz. Thatöne muny etmezden ozal maskaradyň işjeňdigini ýa-da ýokdugyny barlaň (a\ýok onuň maýypdygyny,\hawa başgaça many berýär).

$ sudo firewall-cmd --zone=public --query-masquerade
$ sudo firewall-cmd --zone=public --add-masquerade

Maskarad etmek üçin adaty bir ýagdaý, porty ugratmakdyr. Uzakdaky enjamdan SSH-e 5000-nji portda sshd daemon diňleýän IP 10.20.1.3 bilen içerki ulgamyňyzdaky öý eýesine SSH bermek isleýärsiňiz.

Linux serweriňizdäki 22-nji porta ähli baglanyşyklary maksatly hostdaky niýetlenen porta iberip bilersiňiz:

$ sudo firewall-cmd --zone=public --add-forward-port=port=22=proto=tcp:toport=5000:toaddr=10.20.1.3

Zonada maskarady öçürmek üçin --remove-maskarad wyklýuçatelini ulanyň.

$ sudo firewall-cmd --zone=public --remove-masquerade

Firewalld-da IMCP habaryny nädip açmaly we öçürmeli

ICMP (Internet Dolandyryş Habar Protokoly) habarlary ýa-da maglumat islegleri ýa-da maglumat haýyşlaryna jogap ýa-da säwlik şertlerinde.

Gorag diwaryndaky ICMP habarlaryny işledip ýa-da öçürip bilersiňiz, ýöne ondan ozal ähli goldanýan icmp görnüşlerini sanaň.

$ sudo firewall-cmd --get-icmptypes

Isleýän blok görnüşiňizi goşmak ýa-da aýyrmak üçin.

$ sudo firewall-cmd --zone=home --add-icmp-block=echo-reply
OR
$ sudo firewall-cmd --zone=home --remove-icmp-block=echo-reply

Zonda goşulan ähli icmp görnüşlerini --list-icmp-block wyklýuçatelini görüp bilersiňiz.

$ sudo firewall-cmd --zone=home --list-icmp-blocks

Çig iptables buýruklaryny geçirmek üçin göni interfeýsi nädip ulanmaly

Gorag diwary-cmd, diwar diwaryna has göni girmek üçin göni opsiýalary ( --direct ) üpjün edýär. Bu iptables-i esasy bilýänler üçin peýdalydyr.

Üns beriň: aboveokarda düşündirilen adaty firewall-cmd opsiýalaryny ulanmak mümkin bolmadyk halatynda göni opsiýalary soňky ýol hökmünde ulanmaly.

Ine, --add-rules wyklýuçatelini ulanyp, çig iptables düzgünini nädip geçirmelidiginiň mysaly. Bu kodlary aňsatlyk bilen --add-rule --remove-rule bilen çalşyp bilersiňiz:

$ sudo firewall-cmd --direct --add-rule ipv4 filter IN_public_allow 0 -m tcp -p tcp --dport 80 -j ACCEPT

Iptables hakda has giňişleýin maglumat üçin şu gollanma serediň: Linux-da hyzmatlara uzakdan girmegi üpjün etmek üçin Iptables firewall-y nädip sazlamaly.

“Iptables” sintaksisi bilen tanyş däl bolsaňyz, indiki düşündirilişi ýaly has aňsat diwar gorag düzgünlerini döretmek üçin firewalld-yň “baý dilini” saýlap bilersiňiz.

Firewalld-da baý dili nädip ulanmaly

Baý dil (baý düzgünler diýlip hem atlandyrylýar) iptables sintaksisini bilmezden IPv4 we IPv6 üçin has çylşyrymly diwar gorag düzgünlerini goşmak üçin ulanylýar.

Biziň gurşap alan zona aýratynlyklarymyzy (hyzmat, port, icmp-blok, maskarad we öňe port) giňeldýär. Çeşme we barjak salgylary, hasaba alyş, hereketler we gündelikler we hereketler üçin çäkleri goldaýar.

Baý düzgünleri goşmak üçin --add-rich-rule ulanylýar. Bu mysal, http hyzmaty üçin täze IPv4 we IPv6 birikmelerine nädip rugsat bermelidigini we audit arkaly minutda 1 hasaba girmegi görkezýär:

$ sudo firewall-cmd --add-rich-rule='rule service name="http" audit limit value="1/m" accept'

Goşulan düzgüni aýyrmak üçin --add-rich-rule opsiýasyny --remove-rich-rule çalyşyň.

$ sudo firewall-cmd --remove-rich-rule='rule service name="http" audit limit value="1/m" accept'

Bu aýratynlyk, belli bir IP adresinden traffigi blokirlemäge ýa-da rugsat bermäge mümkinçilik berýär. Aşakdaky mysal IP 10.20.1.20-den birikmeleri nädip ret etmelidigini görkezýär.

$ sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.254" reject'

Firewalld-da howsala reodeimini nädip açmaly we öçürmeli

Aljyraňňy re modeim, gorag diwarynyň aşagyndaky aýratyn re modeim, bu ýerde ähli içerki we daşarky paketler taşlanýar we işjeň birikmeler işjeňleşenden soň gutarýar.
Tor gurşawyňyza howp abanýan adatdan daşary ýagdaýlarda bu re modeimi işledip bilersiňiz.

Aljyraňňy re modeimi soramak üçin --query-panic opsiýasyny ulanyň.

$ sudo firewall-cmd --query-panic

Aljyraňňy re modeimi açmak üçin --panic-on opsiýasyny ulanyň. Görkezilişi ýaly ping buýrugyny ulanyp işleýändigini barlap bilersiňiz. Paket taşlanandygy sebäpli www.google.com adyny çözüp bolmaýar, şonuň üçin säwlik görkezilýär.

$ sudo firewall-cmd --panic-on
$ ping -c 2 www.google.com

Aljyraňňy re modeimi öçürmek üçin --panic-off opsiýasyny ulanyň.

$ sudo firewall-cmd --panic-off

Firewalld-y nädip gulplamaly

Fireadyňyzdan çykarmaň, firewalld hakda esaslarda ýerli programmalaryň ýa-da hyzmatlaryň kök aýratynlyklary bilen işleýän bolsa, diwar gorag konfigurasiýasyny üýtgedip biljekdigini belledik. Haýsy programmalaryň gorag diwary üýtgemelerini talap edip biljekdigini, soňra gulplama ak sanawynda görkezip bilersiňiz.

Bu aýratynlyk deslapky görnüşde öçürilýär, ony - lockdown-on ýa-da --lockdown wyklýuçateli bilen açyp ýa-da öçürip bilersiňiz.

$ sudo firewall-cmd --lockdown-on
OR
$ sudo firewall-cmd --lockdown-off

Esasy konfigurasiýa faýlyny redaktirläp, bu aýratynlygy işletmek ýa-da öçürmek maslahat berilýär, sebäbi gulplamany açanyňyzda firewall-cmd gulplama ak sanawynda ýok bolup biler.

$ sudo vim /etc/firewalld/firewalld.conf

Lockdown parametrini tapyň we bahasyny ýok (öçürilýär) -den hawa (manysyny aňladýar) diýip üýtgediň.

Lockdown=yes

Bu sazlamany hemişelik täzeden açyň.

$ sudo firewall-cmd --reload

“Firewalld”, iptables-i arkasy hökmünde ulanýan iptables hyzmaty üçin çalyşmagy ulanmak aňsat. Bu makalada, firewalld paketini nädip gurmalydygyny görkezdik, firewalld-iň möhüm aýratynlyklaryny düşündirdik we iş wagty we hemişelik konfigurasiýa şertlerinde nädip sazlamalydygyny ara alyp maslahatlaşdyk.

Soraglaryňyz ýa-da teswirleriňiz bar bolsa, aşakdaky teswir formasy arkaly bize ýüz tutup bilersiňiz. Has giňişleýin maglumat üçin firewalld gollanma sahypasyna (adam firewalld) ýa-da firewalld resminamalaryna ýüz tutup bilersiňiz.