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.