Konfiguriranje požarnega zidu v CentOS 7

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.

Konfiguriranje požarnega zidu v CentOS 7

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

Požarni zid

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 .

Omogoči požarni zid FirewallD

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:

  1. Klasično "Terminal" zaženite s poljubno metodo, na primer prek menija "Aplikacije" .
  2. Zagon terminala za dodatno konfiguriranje požarnega zidu na CentOS 7

  3. Vnesite sudo systemctl start firewalld.service in pritisnite tipko Enter .
  4. Zagon storitev požarnega zidu v operacijskem sistemu CentOS 7

  5. Upravljanje pripomočkov se izvaja v imenu superuporabnika, zato morate preveriti pristnost z določitvijo gesla.
  6. Vnos gesla za zagon storitev požarnega zidu v terminalu CentOS 7

  7. Če želite zagotoviti, da bo storitev delovala, podajte firewall-cmd --state .
  8. Oglejte si trenutno stanje požarnega zidu skozi terminal v CentOS 7

  9. V odprtem grafičnem oknu potrdite pristnost.
  10. Vnos gesla za preverjanje pristnosti pri pregledovanju stanja požarnega zidu CentOS 7

  11. Prikaže se nova vrstica. Vrednost »teče« pomeni, da požarni zid deluje.
  12. Prikaže trenutno stanje požarnega zidu v operacijskem sistemu CentOS 7.  t

Č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

Ogled privzetih pravil in razpoložljivih območij

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:

  1. Ukaz firewall-cmd --get-default-zone bo pomagal firewall-cmd --get-default-zone .
  2. Oglejte si privzeto območje požarnega zidu v CentOS 7

  3. Po aktiviranju boste videli novo vrstico, kjer bo prikazan zahtevani parameter. Na primer, na spodnji sliki se "javno" območje šteje za aktivno.
  4. Prikazovanje privzetega območja požarnega zidu v CentOS 7

  5. Vendar je lahko več območij aktivnih naenkrat, poleg tega pa so vezani na ločen vmesnik. firewall-cmd --get-active-zones te informacije s firewall-cmd --get-active-zones .
  6. Oglejte si vsa aktivna območja požarnega zidu v CentOS 7

  7. Ukaz 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.
  8. Oglejte si pravila jedra požarnega zidu prek terminala CentOS 7

  9. Če morate poznati vsa razpoložljiva območja požarnega zidu, vnesite firewall-cmd --get-zones .
  10. Pridobitev seznama vseh razpoložljivih območij požarnega zidu skozi terminal na CentOS 7

  11. Parametri določenega območja so definirani s firewall-cmd --zone=name --list-all , kjer je ime ime območja.
  12. Prikaz pravil določenega območja požarnega zidu skozi terminal na CentOS 7

Po določitvi potrebnih parametrov lahko nadaljujete z njihovim spreminjanjem in dodajanjem. Oglejmo si podrobnejši pregled nekaterih najbolj priljubljenih konfiguracij.

Konfiguriranje območij vmesnika

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.

Določanje posebnega vmesnika v območju požarnega zidu v CentOS 7

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 .

Oglejte si jedro požarnega zidu in njegov vmesnik na CentOS 7

Če želite ponastaviti svoje prejšnje nastavitve, preprosto znova zaženite požarni zid: sudo systemctl restart firewalld.service .

Ponovni zagon požarnega zidu po spremembi v CentOS 7

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:

  1. Odprite konfiguracijsko datoteko skozi urejevalnik tako, da vnesete sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0 , kjer je eth0 ime zahtevanega vmesnika.
  2. Odpiranje konfiguracijske datoteke vmesnika požarnega zidu v CentOS 7

  3. Preverite pristnost računa za nadaljnje ukrepanje.
  4. Vnos gesla za odpiranje konfiguracijske datoteke vmesnika v CentOS 7

  5. Poiščite parameter "ZONE" in spremenite njegovo vrednost na želeno, na primer public ali home .
  6. Spreminjanje območja vmesnika prek konfiguracijske datoteke v CentOS 7

  7. Če želite shraniti spremembe, držite Ctrl + O.
  8. Zapis sprememb v urejevalniku besedil CentOS 7

  9. Ne spreminjajte imena datoteke, samo pritisnite Enter .
  10. Dodelitev datotek za snemanje sprememb v urejevalniku besedil CentOS 7

  11. S Ctrl + X zapustite urejevalnik besedila.
  12. Po končani spremembi CentOS 7 zapustite urejevalnik besedila

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 .

Nastavitev privzete cone

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.

Določanje privzetega območja požarnega zidu v CentOS 7

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.

Uspešna dodelitev privzete cone v CentOS 7

Ustvarjanje pravil za programe in pripomočke

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 .

Ukaz za ogled storitev CentOS 7, ki so na voljo v sistemu.

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.

Seznam razpoložljivih storitev v CentOS 7

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.

Dodajanje storitve v določeno območje požarnega zidu CentOS 7

Stalno dodajanje se izvaja preko sudo firewall-cmd --zone=public --permanent --add-service=http , rezultat "uspeha" pa pomeni uspešno dokončanje operacije.

Stalno dodajanje storitve v območje požarnega zidu CentOS 7

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 .

Oglejte si seznam stalnih požarnih zidov CentOS 7

Rešitev problema pomanjkanja dostopa do storitve

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.

Odpiranje vrat v določenem območju požarnega zidu CentOS 7

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

Odpiranje vrste vrat v določenem območju požarnega zidu CentOS 7.  t

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 .

Opredelitev storitve

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:

  1. Konfiguracijsko datoteko prekopirajte s pisanjem 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.
  2. Kopiranje nastavitvene datoteke požarnega zidu v CentOS 7

  3. Odprite kopijo za urejanje s katerim koli urejevalnikom besedila, na primer sudo nano /etc/firewalld/services/example.xml .
  4. Zaženete kopirano servisno datoteko CentOS 7.  t

  5. Ustvarili smo na primer kopijo storitve HTTP. V dokumentu v bistvu vidite različne metapodatke, na primer kratko ime in opis. Na strežnik vpliva le številka vrat in protokol. Nad črto " » Treba je dodati za odpiranje vrat. tcp je uporabljeni protokol in 0000 je številka vrat.
  6. Spremeni servisno datoteko za odpiranje vrat na CentOS 7

  7. Shranite vse spremembe ( Ctrl + O ), zaprite datoteko ( Ctrl + X ) in znova zaženite požarni zid, da nastavitve uporabite prek 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 .
  8. Ponovni zagon storitve požarnega zidu v CentOS 7

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.

Ustvarjanje območij po meri

Ž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:

  1. Ustvarite dve novi trajni coni s sudo firewall-cmd --permanent --new-zone=publicweb in sudo firewall-cmd --permanent --new-zone=privateDNS .
  2. Dodajanje novih uporabniških območij požarnega zidu CentOS 7

  3. Na voljo bodo po ponovnem nalaganju sudo firewall-cmd --reload . Za prikaz trajnih con vnesite sudo firewall-cmd --permanent --get-zones .
  4. Oglejte si razpoložljiva območja požarnega zidu v CentOS 7

  5. Dodelite jim potrebne storitve, na primer »SSH« , »HTTP« in »HTTPS« . To naredite s pomočjo ukazov 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 .
  6. Dodajanje storitev uporabniku CentOS 7

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 .