Kif tinstalla, tikkonfigura u tuża Firewalld f'CentOS u Ubuntu


Firewalld (firewall daemon) huwa alternattiva għas-servizz iptables, għall-ġestjoni dinamika tal-firewall ta 'sistema b'appoġġ għal żoni tan-netwerk (jew firewall) u jipprovdi interface D-Bus għall-ġestjoni tal-konfigurazzjonijiet. Huwa faċli biex tużah u tikkonfigura, u issa hija l-għodda ta 'ġestjoni tal-firewall default fuq RHEL/CentOS, Fedora u diversi distribuzzjonijiet Linux oħra.

F'dan l-artikolu, ser niddiskutu kif tikkonfigura l-firewall tas-sistema b'firewalld u nimplimentaw filtrazzjoni bażika tal-pakketti f'CentOS/RHEL 7 u Ubuntu.

Il-BaŜi Dwar Firewalld

Firewalld jikkonsisti minn tliet saffi, li huma:

  • saff tal-qalba: responsabbli għall-immaniġġjar tal-konfigurazzjoni u t-truf ta' wara (elenkati hawn taħt).
  • Interface D-Bus: il-mezz primarju biex tinbidel u tinħoloq il-konfigurazzjoni tal-firewall.
  • backends: għall-interazzjoni ma' netfilter (il-modulu nattiv tal-kernel użat għall-firewalling). Dawn jinkludu iptables, ip6tables, ebtables, ipset, nft, linnftables; maniġer tan-netwerk; u moduli.

Jiġġestixxi r-regoli tal-firewall billi jimplimenta żoni tan-netwerk/firewall li jiddefinixxu l-livell ta 'fiduċja tal-konnessjonijiet jew l-interfaces tan-netwerk. Karatteristiċi oħra tal-firewall appoġġjati jinkludu servizzi, konfigurazzjoni diretta (użata biex tgħaddi direttament is-sintassi tal-iptables mhux maħduma), IPSets kif ukoll tipi ICMP.

Żewġ tipi ta’ ambjenti ta’ konfigurazzjoni huma appoġġjati minn firewalld:

  • konfigurazzjoni tar-runtime li hija effettiva biss sakemm il-magna tkun rebootjata jew is-servizz tal-firewalld jerġa' jinbeda
  • konfigurazzjoni permanenti li tiġi salvata u taħdem b'mod persistenti.

L-għodda tal-linja tal-kmand firewall-cmd tintuża biex timmaniġġja l-runtime u l-konfigurazzjoni permanenti. Alternattivament, tista' tuża l-għodda ta' konfigurazzjoni tal-firewall-config graphical user interface (GUI) biex jinteraġixxi mad-daemon.

Barra minn hekk, firewalld joffri interface definit tajjeb għal servizzi jew applikazzjonijiet lokali oħra biex jitolbu bidliet fir-regoli tal-firewall direttament, jekk ikunu qed jaħdmu bi privileġġi tal-għeruq.

Il-fajl tal-konfigurazzjoni globali għal firewalld jinsab f'/etc/firewalld/firewalld.conf u l-karatteristiċi tal-firewall huma kkonfigurati f'format XML.

Nifhmu Karatteristiċi Importanti tal-Firewalld

Il-karatteristika ċentrali ta 'firewalld hija żoni tan-netwerk/firewall. Kull karatteristika oħra hija marbuta ma 'żona. Żona tal-firewall tiddeskrivi l-livell ta 'fiduċja għal konnessjoni, interface jew indirizz tas-sors vinkolanti.

Il-konfigurazzjoni default tiġi b'numru ta 'żoni predefiniti magħżula skont il-livell ta' fiduċja default taż-żoni minn mhux fdati għal dawk ta 'fiduċja: drop, block, public, external, dmz, work, home, intern u trusted. Huma definiti f'fajls maħżuna taħt id-direttorju /usr/lib/firewalld/zones.

Tista' tikkonfigura jew iżżid iż-żoni tad-dwana tiegħek billi tuża l-klijent CLI jew sempliċement toħloq jew tikkopja fajl taż-żona f'/etc/firewalld/zones minn fajls eżistenti u teditjah.

Kunċett importanti ieħor taħt firewalld huwa s-servizzi. Servizz huwa definit bl-użu ta' portijiet u protokolli; dawn id-definizzjonijiet jirrappreżentaw servizz ta' netwerk partikolari bħal web server jew servizz ta' aċċess mill-bogħod. Is-servizzi huma definiti f'fajls maħżuna taħt id-direttorju /usr/lib/firewalld/services/ jew /etc/firewalld/services/.

Jekk taf kunċetti bażiċi ta 'iptables/ip6tables/ebtables, tista' wkoll tuża l-interface diretta (jew il-konfigurazzjoni) biex tikseb aċċess dirett għall-firewall. Iżda, għal dawk mingħajr ebda għarfien ta 'iptables, tista' timpjega l-lingwa għana biex toħloq regoli tal-firewall aktar kumplessi għall-IPv4 u l-IPv6.

Kif Tinstalla Pakkett Firewalld fil-Linux

Fuq CentOS 7, il-pakkett firewalld jiġi installat minn qabel u tista 'tivverifika billi tuża l-kmand li ġej.

$ rpm -qa firewalld

Fuq Ubuntu 16.04 u 18.04, tista 'tinstallah billi tuża l-maniġer tal-pakkett default kif muri.

$ sudo apt install firewalld

Kif Immaniġġja s-Servizz Firewalld fil-Linux

Firewalld huwa servizz systemd regolari li jista 'jiġi ġestit permezz tal-kmand systemctl.

 
$ 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

Wara li tibda s-servizz firewalld, tista 'wkoll tiċċekkja jekk id-daemon huwiex qed jaħdem jew le, billi tuża l-għodda firewall-cmd (f'każ li ma jkunx attiv, dan il-kmand joħroġ \mhux qed jaħdem).

$ sudo firewall-cmd --state

Jekk jiġri li tissejvja xi bidliet b'mod permanenti, tista 'terġa' tgħabbi l-firewalld. Dan jerġa' jtella' r-regoli tal-firewall u jżomm l-informazzjoni tal-istat. Il-konfigurazzjoni permanenti attwali se ssir konfigurazzjoni runtime ġdida.

$ sudo firewall-cmd --reload

Kif taħdem maż-Żoni tal-Firewall f'Firewalld

Biex tikseb lista taż-żoni u s-servizzi kollha tal-firewall disponibbli, mexxi dawn il-kmandi.

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

Iż-żona default hija ż-żona li tintuża għal kull karatteristika tal-firewall li mhix marbuta b'mod espliċitu ma' żona oħra. Tista 'tikseb iż-żona default stabbilita għal konnessjonijiet tan-netwerk u interfaces billi taħdem.

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

Biex tissettja ż-żona default, pereżempju għal esterna, uża l-kmand li ġej. Innota li ż-żieda tal-għażla --permanent tissettja l-konfigurazzjoni b'mod permanenti (jew tippermetti l-mistoqsija ta' informazzjoni mill-ambjent ta' konfigurazzjoni permanenti).

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

Sussegwentement, ejja nħarsu lejn kif iżżid interface ma 'żona. Dan l-eżempju juri kif iżżid l-adapter tan-netwerk mingħajr fili tiegħek (wlp1s0) mad-dar taż-żona, li tintuża fiż-żoni tad-dar.

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

Interfaċċja tista' tiġi miżjuda biss ma' żona waħda. Biex tmexxiha għal żona oħra, uża l-iswiċċ --change-interface kif muri, jew neħħiha miż-żona preċedenti billi tuża l-iswiċċ –remove-interface, imbagħad żidha maż-żona l-ġdida.

Jekk wieħed jassumi li trid tikkonnettja ma 'netwerk WI-FI pubbliku, għandek tmexxi l-interface mingħajr fili tiegħek lura fiż-żona pubblika, bħal din:

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

Tista 'tuża ħafna żoni fl-istess ħin. Biex tikseb lista taż-żoni attivi kollha bil-karatteristiċi attivati bħal interfaces, servizzi, portijiet, protokolli, agħmel:

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

Fir-rigward tal-punt preċedenti, Jekk trid issib aktar informazzjoni dwar żona partikolari, jiġifieri dak kollu miżjud jew attivat fiha, uża wieħed minn dawn il-kmandi:

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

Għażla utli oħra hija --get-target, li turi li inti l-mira ta 'żona permanenti. Mira hija waħda minn: default, AĊĊETTA, WAQQA', IĊĦADD. Tista 'tiċċekkja l-mira ta' diversi żoni:

$ 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

Kif tiftaħ u timblokka l-portijiet f'Firewalld

Biex tiftaħ port (jew kombinazzjoni port/protokoll) fil-firewall, sempliċement żidha f'żona bl-għażla --add-port. Jekk ma tispeċifikax espliċitament iż-żona, din tkun attivata fiż-żona default.

L-eżempju li ġej juri kif żżid il-port 80 u 443 biex tippermetti traffiku tal-web deħlin permezz tal-protokolli HTTP u HTTPS, rispettivament:

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

Sussegwentement, reload firewalld u iċċekkja l-karatteristiċi ppermettiet fiż-żona pubblika għal darb'oħra, inti għandek tkun tista 'tara l-portijiet biss miżjuda.

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

L-imblukkar jew l-għeluq ta 'port fil-firewall huwa daqstant faċli, sempliċement neħħih minn żona bl-għażla --remove-port. Pereżempju, biex tagħlaq il-portijiet 80 u 443 fiż-żona pubblika.

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

Minflok ma tuża port jew kombinazzjoni port/protokoll, tista' tuża l-isem tas-servizz li għalih huwa assenjat port kif spjegat fit-taqsima li jmiss.

Kif tiftaħ u timblokka s-servizzi f'Firewalld

Biex tiftaħ servizz fil-firewall, ppermettih billi tuża l-għażla --add-service. Jekk iż-żona titħalla barra, tintuża żona default.

Il-kmand li ġej se jippermetti b'mod permanenti s-servizz http fiż-żona pubblika.

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

L-għażla --remove-service tista’ tintuża biex is-servizz jiġi diżattivat.

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

Kif Tippermetti u Tiskonnettja l-IP Masquerading billi tuża Firewalld

IP Masquerading (magħruf ukoll bħala IPMASQ jew MASQ) huwa mekkaniżmu NAT (Network Address Translation) fin-netwerking Linux li jippermetti lill-hosts tiegħek f'netwerk, b'indirizzi IP privati biex jikkomunikaw mal-Internet bl-użu tal-IP pubbliku assenjat tas-server Linux tiegħek (portal IPMASQ) indirizz.

Huwa mapping wieħed għal ħafna. It-traffiku mill-hosts inviżibbli tiegħek se jidher lil kompjuters oħra fuq l-internet bħallikieku kien ġej mis-server Linux tiegħek.

Tista' tippermetti l-masquerading tal-IP f'żona mixtieqa, pereżempju ż-żona pubblika. Iżda qabel ma tagħmel dan, l-ewwel iċċekkja jekk il-masquerading huwiex attiv jew le (\le tfisser diżabbli u \iva tfisser mod ieħor).

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

Każ ta 'użu tipiku għall-masquerading huwa li twettaq port forwarding. Jekk wieħed jassumi li trid SSH minn magna remota għal host fin-netwerk intern tiegħek bl-IP 10.20.1.3, li fuqu d-daemon sshd qed jisma fuq il-port 5000.

Tista' tibgħat il-konnessjonijiet kollha għall-port 22 fuq is-server Linux tiegħek lill-port maħsub fuq l-host fil-mira tiegħek billi toħroġ:

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

Biex tiddiżattiva l-masquerading f'żona, uża l-iswiċċ --remove-masquerade.

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

Kif Ippermetti u Tneħħi l-Messaġġ IMCP f'Firewalld

Il-messaġġi ICMP (Internet Control Message Protocol) huma jew talbiet għal informazzjoni jew tweġibiet għal talbiet għal informazzjoni jew f'kundizzjonijiet ta' żball.

Tista 'tippermetti jew tiddiżattiva messaġġi ICMP fil-firewall, iżda qabel dik l-ewwel elenka t-tipi kollha ta' icmp appoġġjati.

$ sudo firewall-cmd --get-icmptypes

Biex iżżid jew tneħħi tip ta 'blokk li trid.

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

Tista' tara t-tipi kollha ta' icmp miżjuda f'żona billi tuża l-iswiċċ --list-icmp-blocks.

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

Kif tuża l-Interface Diretta biex tgħaddi Kmandi tal-iptables mhux ipproċessati

Il-firewall-cmd jipprovdi wkoll għażliet diretti (--direct) biex ikollok aktar aċċess dirett għall-firewall. Dan huwa utli għal dawk li għandhom għarfien bażiku ta 'iptables.

Importanti: Għandek tuża biss l-għażliet diretti bħala l-aħħar għażla meta ma jkunx possibbli li tuża l-għażliet regolari tal-firewall-cmd spjegati hawn fuq.

Hawn eżempju ta 'kif tgħaddi r-regola iptables mhux ipproċessat, bl-użu tas-swiċċ --add-rules. Tista' faċilment tneħħi dawn ir-regoli billi tissostitwixxi --add-rule ma' --remove-rule:

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

Għal aktar informazzjoni dwar iptables, ara din il-gwida: Kif Twaqqaf Iptables Firewall biex Jippermetti Aċċess Remot għas-Servizzi fil-Linux.

Jekk m'intix familjari mas-sintassi ta' iptables, tista' tagħżel il-\lingwa rikka ta' firewalld biex toħloq regoli tal-firewall aktar kumplessi b'mod faċli biex jinftiehem kif spjegat li jmiss.

Kif tuża Lingwa Rikka f'Firewalld

Il-lingwa għanja (magħrufa wkoll bħala regoli sinjuri) tintuża biex iżżid regoli tal-firewall aktar kumplessi għal IPv4 u IPv6 mingħajr l-għarfien tas-sintassi tal-iptables.

Jestendi l-karatteristiċi taż-żona (servizz, port, icmp-block, masquerade u forward-port) li koprejna. Jappoġġja indirizzi tas-sors u tad-destinazzjoni, illoggjar, azzjonijiet u limiti għal zkuk u azzjonijiet.

Il---add-rich-rule tintuża biex iżżid regoli sinjuri. Dan l-eżempju juri kif tippermetti konnessjonijiet IPv4 u IPv6 ġodda għas-servizz http u log 1 kull minuta bl-użu tal-verifika:

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

Biex tneħħi r-regola miżjuda, ibdel l-għażla --add-rich-rule b'--remove-rich-rule.

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

Din il-karatteristika tippermetti wkoll li timblokka jew tippermetti t-traffiku minn indirizz IP speċifiku. L-eżempju li ġej juri kif tirrifjuta konnessjonijiet mill-IP 10.20.1.20.

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

Kif Jippermetti u Tiskonnettja l-Modalità Paniku f'Firewalld

Il-mod ta' paniku huwa mod speċjali taħt firewalld fejn il-pakketti kollha deħlin u ħerġin jintefgħu, u l-konnessjonijiet attivi jiskadu ladarba jiġu attivati.
Tista' tattiva din il-mod f'sitwazzjonijiet ta' emerġenza fejn toħroġ theddida għall-ambjent tan-netwerk tiegħek.

Biex tagħmel mistoqsija fuq il-mod ta' paniku, uża l-għażla --query-panic.

$ sudo firewall-cmd --query-panic

Biex tippermetti l-mod ta' paniku, uża l-għażla --panic-on. Tista' tittestja jekk tkunx qed taħdem billi tuża l-kmand ping kif muri. Minħabba li l-pakkett jintrema, l-isem www.google.com ma jistax jiġi solvut, għalhekk l-iżball muri.

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

Biex tiddiżattiva l-mod ta' paniku, uża l-għażla --panic-off.

$ sudo firewall-cmd --panic-off

Kif Lockdown Firewalld

Ftakar, semmejna taħt l-affarijiet bażiċi dwar il-firewalld li l-applikazzjonijiet jew is-servizzi lokali jistgħu jibdlu l-konfigurazzjoni tal-firewall jekk ikunu qed jaħdmu bi privileġġi tal-għeruq. Tista 'tikkontrolla liema applikazzjonijiet jistgħu jitolbu bidliet tal-firewall, billi tispeċifika mbagħad f'lista bajda ta' lockdown.

Din il-karatteristika hija mitfija b'mod awtomatiku, tista 'tippermettiha jew tiddiżattivaha bis-swiċċ --lockdown-on jew --lockdown b'mod riċettiv.

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

Innota li huwa rrakkomandat li din il-karatteristika tiġi attivata jew tiddiżattivata billi teditja l-fajl tal-konfigurazzjoni prinċipali, minħabba li l-firewall-cmd jista 'ma jeżistix fil-lista tal-bajda tal-illokkjar meta tattiva l-illokkjar.

$ sudo vim /etc/firewalld/firewalld.conf

Sib il-parametru Lockdown u ibdel il-valur tiegħu minn le (jfisser mitfi) għal iva (jfisser mixgħul).

Lockdown=yes

Biex tagħmel dan l-issettjar permanenti reload firewalld.

$ sudo firewall-cmd --reload

Firewalld huwa sostitut faċli biex jintuża għas-servizz iptables, li juża iptables bħala backend. F'dan l-artikolu, urejna kif ninstallaw il-pakkett firewalld, spjegajna l-karatteristiċi importanti tal-firewalld u ddiskutejna kif tikkonfigurahom fl-ambjenti ta 'runtime u ta' konfigurazzjoni permanenti.

Jekk għandek xi mistoqsijiet jew kummenti, tħossok liberu li tilħaqna permezz tal-formola tal-kummenti hawn taħt. Tista' tirreferi għall-paġna tal-manwal tal-firewalld (man firewalld) jew id-dokumentazzjoni tal-firewalld fil-websajt tal-proġett, għal aktar informazzjoni.