Požarni zid, nameščen v operacijskem sistemu, se uporablja za preprečevanje, da nepooblaščeni promet poteka prek računalniških omrežij. Ročno ali samodejno ustvarite posebna pravila za požarni zid, ki so odgovorni za nadzor dostopa. V OS, razvitem na jedru Linuxa, ima CentOS 7 vgrajen požarni zid in ga upravljate s požarnim zidom. FirewallD je privzeto omogočen in danes bi radi govorili o njegovi konfiguraciji.
Kot je bilo omenjeno zgoraj, je standardni požarni zid na CentOS 7 dodeljen pripomočku FirewallD. Zato bo nastavitev požarnega zidu obravnavana na primeru tega orodja. Pravila filtriranja lahko nastavite z istimi iptables, vendar je to storjeno na nekoliko drugačen način. Priporočamo vam, da se seznanite s konfiguracijo omenjenega pripomočka s klikom na naslednjo povezavo in začnemo razčlenjevati FirewallD.
Glejte tudi: Konfiguriranje iptables na CentOS 7
Obstaja več območij - niz pravil za upravljanje prometa na podlagi zaupanja v omrežja. Vsem je dana njihova lastna politika, katere celota tvori konfiguracijo požarnega zidu. Vsakemu območju je dodeljen en ali več omrežnih vmesnikov, kar omogoča tudi prilagajanje filtriranja. Veljavna pravila so neposredno odvisna od uporabljenega vmesnika. Na primer, ko je požarni zid povezan z javno dostopnim Wi-Fi, bo povečal raven nadzora, v domačem omrežju pa bo odprl dodatni dostop za udeležence verige. V tem požarnem zidu obstajajo takšna območja:
trusted
- najvišja raven zaupanja v vse naprave v omrežju; home
je skupina lokalnih omrežij. Obstaja zaupanje v okolje, toda pri tem so vhodne povezave na voljo le za določene stroje; work
- delovno območje. t Obstaja zaupanje v večino naprav, kot tudi dodatne storitve so aktivirane; dmz
- cona za izolirane računalnike. Takšne naprave so odklopljene od preostalega omrežja in dovoljujejo le določen vhodni promet; internal
- cona notranjih omrežij. Za vse stroje velja zaupanje, odprejo se dodatne storitve; external
- obratno v prejšnje območje. V zunanjih omrežjih je NAT maskiranje aktivno, zapiranje notranjega omrežja, vendar ne blokiranje zmožnosti dostopa; public
- območje javnih omrežij z nezaupanjem do vseh naprav in individualnim sprejemom dohodnega prometa; block
- vse dohodne zahteve se ponastavijo s prepovedano napako icmp- host- ali ali icmp6-adm ; drop
- minimalna raven zaupanja. Dohodne povezave se prekinejo brez kakršnega koli obvestila. Politiki so začasni in trajni. Ko se parametri prikažejo ali uredijo, se dejanje požarnega zidu nemudoma spremeni brez potrebe po ponovnem zagonu. Če so bila uporabljena začasna pravila, se bodo po ponovnem zagonu FirewallD ponastavili. Stalno pravilo se imenuje, da - se bo trajno uporabljalo pri uporabi argumenta - —permanent
.
Najprej morate zagnati FirewallD ali se prepričati, da je v aktivnem stanju. Pravila za požarni zid bodo uporabljali samo delujoči demoni (program, ki se izvaja v ozadju). Aktivacija je izvedena v samo nekaj klikih:
sudo systemctl start firewalld.service
in pritisnite tipko Enter . firewall-cmd --state
. Če morate nekoč začasno ali trajno onemogočiti požarni zid, priporočamo, da uporabite navodila v drugem članku na naslednji povezavi.
Več podrobnosti: Onemogoči požarni zid v CentOS 7
Tudi če delate v običajnem načinu, ima požarni zid svoje posebne pravilnike in območja, ki so na voljo. Preden začnete urejati pravilnike, vam priporočamo, da se seznanite s trenutno konfiguracijo. To naredite s preprostimi ukazi:
firewall-cmd --get-default-zone
bo pomagal firewall-cmd --get-default-zone
. firewall-cmd --get-active-zones
te informacije s firewall-cmd --get-active-zones
. firewall-cmd --list-all
prikaže pravila, definirana za privzeto območje. Glejte sliko spodaj. Vidite lahko, da je "privzeto" pravilo dodeljeno aktivni coni "javno" - privzeto operacijo, doda se vmesnik "enp0s3" in dve storitvi. firewall-cmd --get-zones
. firewall-cmd --zone=name --list-all
, kjer je ime ime območja. Po določitvi potrebnih parametrov lahko nadaljujete z njihovim spreminjanjem in dodajanjem. Oglejmo si podrobnejši pregled nekaterih najbolj priljubljenih konfiguracij.
Kot veste iz zgornjih informacij, ima vsak vmesnik svojo privzeto cono. V njej bo ostal, dokler uporabnik ali programsko ne spremeni nastavitev. Vmesnik je mogoče ročno prenesti na območje za eno sejo, in to z aktiviranjem ukaza sudo firewall-cmd --zone=home --change-interface=eth0
. Rezultat »uspeh« pomeni, da je bil prenos uspešen. Spomnimo se, da se te nastavitve ponastavijo takoj po ponovnem zagonu požarnega zidu.
S takšno spremembo parametrov je treba upoštevati, da je delo storitev mogoče ponastaviti. Nekateri od njih ne podpirajo delovanja na določenih območjih, na primer SSH, čeprav je na voljo v »domu« , vendar storitev ne bo delala v uporabniških ali posebnih storitvah. Preverite, firewall-cmd --get-active-zones
je bil vmesnik uspešno vezan na novo vejo, tako da vnesete firewall-cmd --get-active-zones
.
Če želite ponastaviti svoje prejšnje nastavitve, preprosto znova zaženite požarni zid: sudo systemctl restart firewalld.service
.
Včasih ni vedno priročno spremeniti območje vmesnika samo z eno sejo. V tem primeru boste morali urediti konfiguracijsko datoteko, tako da bodo vse nastavitve trajno vnesene. Za to vam priporočamo uporabo nano urejevalnika besedila, ki je nameščen iz uradnega skladišča sudo yum install nano
. Preostali so naslednji ukrepi:
sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
, kjer je eth0 ime zahtevanega vmesnika. public
ali home
. Zdaj bo območje vmesnika tisto, kar ste ga določili, do naslednjega urejanja konfiguracijske datoteke. Če želite, da bodo posodobljene nastavitve začele veljati, zaženite sudo systemctl restart network.service
in sudo systemctl restart firewalld.service
.
Zgoraj smo že pokazali ukaz, ki nam je omogočil, da ugotovimo privzeto območje. Lahko jo tudi spremenite tako, da izberete možnost po vaši izbiri. Za to je dovolj, da v konzoli registrirate sudo firewall-cmd --set-default-zone=name
, kjer je ime ime zahtevanega območja.
Uspeh ukaza bo označen z napisom “success” na ločeni vrstici. Po tem se vsi trenutni vmesniki vežejo na podano območje, razen če je v konfiguracijskih datotekah določeno drugače.
Na samem začetku članka smo govorili o delovanju vsake cone. Opredelitev storitev, pripomočkov in programov v takšnih panogah bo vsakemu od njih omogočila uporabo posameznih parametrov za posamezne zahteve uporabnikov. Za začetek vam svetujemo, da se seznanite s celotnim seznamom trenutno razpoložljivih storitev: firewall-cmd --get-services
.
Rezultat se prikaže neposredno v konzoli. Vsak strežnik je ločen s presledkom, na seznamu pa lahko enostavno najdete orodje, ki vas zanima. Če manjka zahtevana storitev, jo je treba dodatno namestiti. O pravilih za namestitev preberite uradno dokumentacijo programske opreme.
Zgornji ukaz prikazuje samo imena storitev. Podrobne informacije o vsakem od njih dobite preko posamezne datoteke, ki se nahaja ob poti /usr/lib/firewalld/services
. Takšni dokumenti so v formatu XML, pot, na primer SSH, izgleda takole: /usr/lib/firewalld/services/ssh.xml
, dokument pa ima naslednjo vsebino:
SSH
Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.
Aktivirana je ročna podpora za storitev v določenem območju. V "Terminalu" nastavite ukaz sudo firewall-cmd --zone=public --add-service=http
, kjer je --zone = public območje za aktiviranje in --add-service = http je ime storitve. Upoštevajte, da bo ta sprememba učinkovala samo v eni seji.
Stalno dodajanje se izvaja preko sudo firewall-cmd --zone=public --permanent --add-service=http
, rezultat "uspeha" pa pomeni uspešno dokončanje operacije.
Celoten seznam stalnih pravil za določeno cono si lahko ogledate tako, da seznam prikažete v ločeni vrstici sudo firewall-cmd --zone=public --permanent --list-services
mize: sudo firewall-cmd --zone=public --permanent --list-services
.
Običajno so najbolj priljubljene in varne storitve navedene v pravilih požarnega zidu, kot je dovoljeno, vendar blokira nekatere standardne aplikacije ali aplikacije tretjih oseb. V tem primeru bo uporabnik moral ročno spremeniti nastavitve, da bo rešil težavo z dostopom. To je mogoče storiti na dva različna načina.
Port forwarding
Kot veste, vse omrežne storitve uporabljajo določena vrata. To je zlahka zazna požarni zid, in lahko blokira ključavnice. Da bi se izognili takšnim dejanjem požarnega zidu, morate odpreti zahtevana vrata s sudo firewall-cmd --zone=public --add-port=0000/tcp
, kjer je --zone = public območje za vrata, --add-port = 0000 / tcp - številka vrat in protokol. Možnost firewall-cmd --list-ports
prikazala seznam odprtih vrat.
Če morate odpreti vrata, ki so v območju, uporabite vrstico sudo firewall-cmd --zone=public --add-port=0000-9999/udp
, kjer je --add-port = 0000-9999 / udp območje pristanišč in njihovega protokola.
Zgornji ukazi omogočajo samo testiranje uporabe teh parametrov. Če je bila uspešna, morate istim pristaniščem dodati trajne nastavitve, to pa storite tako, da vnesete sudo firewall-cmd --zone=public --permanent --add-port=0000/tcp
ali sudo firewall-cmd --zone=public --permanent --add-port=0000-9999/udp
. Seznam odprtih stalnih vrat je prikazan kot: sudo firewall-cmd --zone=public --permanent --list-ports
.
Kot lahko vidite, dodajanje priključkov ne povzroča težav, vendar je postopek zapleten, ko se uporablja veliko število aplikacij. Težko je slediti vsem uporabljenim pristaniščem, kar pomeni, da bo definicija storitve pravilnejša:
sudo cp /usr/lib/firewalld/services/service.xml /etc/firewalld/services/example.xml
, kjer je service.xml ime storitvene datoteke, in example.xml je ime njegove kopije. sudo nano /etc/firewalld/services/example.xml
. sudo firewall-cmd --reload
. Po tem se bo storitev prikazala na seznamu razpoložljivih storitev, ki si jih lahko ogledate prek firewall-cmd --get-services
. Izbrati morate najprimernejšo metodo za reševanje problema z dostopom do storitve in slediti danim navodilom. Kot lahko vidite, se vsa dejanja izvajajo precej enostavno in ne smejo nastati težave.
Že veste, da je bilo na začetku v FirewallD ustvarjeno veliko število različnih območij z določenimi pravili. Vendar pa obstajajo situacije, ko mora skrbnik sistema ustvariti uporabniško območje, kot je »publicweb« za nameščen spletni strežnik ali »privateDNS« za strežnik DNS. V teh dveh primerih analiziramo dodajanje vej:
sudo firewall-cmd --permanent --new-zone=publicweb
in sudo firewall-cmd --permanent --new-zone=privateDNS
. sudo firewall-cmd --reload
. Za prikaz trajnih con vnesite sudo firewall-cmd --permanent --get-zones
. sudo firewall-cmd --zone=publicweb --add-service=ssh
, sudo firewall-cmd --zone=publicweb --add-service=http
in sudo firewall-cmd --zone=publicweb --add-service=https
, kjer je --zone = publicweb ime območja, ki ga želite dodati. Dejavnost storitev si lahko ogledate z firewall-cmd --zone=publicweb --list-all
. V tem članku ste se naučili, kako ustvariti območja po meri in jim dodajati storitve. Zgoraj smo jih že opisali in jih dodelili privzeto in dodelili vmesnike, samo morate navesti pravilna imena. Ne pozabite ponovno zagnati požarnega zidu po kakršnih koli trajnih spremembah.
Kot lahko vidite, požarni zid FirewallD je precej veliko orodje, ki vam omogoča, da naredite najbolj prilagodljivo konfiguracijo požarnega zidu. Ostane le, da se prepričate, da se program zažene s sistemom in določena pravila takoj začnejo z delom. Naredite to z sudo systemctl enable firewalld
.