“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.