Konfiguriranje vatrozida na CentOS 7

Vatrozid instaliran u operativnom sustavu koristi se za sprečavanje prolaska neovlaštenog prometa kroz računalne mreže. Ručno ili automatski stvorite posebna pravila za vatrozid, koji su odgovorni za kontrolu pristupa. U OS-u razvijenom na Linux kernelu, CentOS 7 ima ugrađeni vatrozid, a njime se upravlja pomoću vatrozida. FirewallD je prema zadanim postavkama omogućen, a željeli bismo danas razgovarati o njegovoj konfiguraciji.

Konfiguriranje vatrozida na CentOS 7

Kao što je gore spomenuto, standardni vatrozid na CentOS 7 dodijeljen je FirewallD uslužnom programu. Zbog toga će se postavka vatrozida razmotriti na primjeru ovog alata. Pravila filtriranja možete postaviti pomoću istih iptables, ali to se radi na malo drugačiji način. Preporučujemo da se upoznate s konfiguracijom spomenutog alata klikom na sljedeći link, a mi ćemo početi raščlanjivati ​​FirewallD.

Pogledajte i: Konfiguriranje iptables na CentOS 7

Koncepti vatrozida

Postoji nekoliko zona - skup pravila za upravljanje prometom na temelju povjerenja u mreže. Svima je dana vlastita politika, čija ukupnost tvori konfiguraciju vatrozida. Svakoj je zoni dodijeljeno jedno ili više mrežnih sučelja, što vam također omogućuje podešavanje filtriranja. Primjenjiva pravila izravno ovise o korištenom sučelju. Na primjer, kada se poveže s javno dostupnom Wi-Fi mrežom, vatrozid će povećati razinu kontrole, au kućnoj mreži otvorit će dodatni pristup za učesnike u lancu. U ovom vatrozidu postoje takve zone:

  • trusted - maksimalna razina povjerenja u sve uređaje na mreži;
  • home je grupa lokalne mreže. Postoji povjerenje u okoliš, ali pri tome su ulazne veze dostupne samo za određene strojeve;
  • work - radno područje. Postoji povjerenje u većinu uređaja, kao i dodatne usluge se aktiviraju;
  • dmz - zona za izolirana računala. Takvi uređaji su odspojeni od ostatka mreže i dopuštaju samo određeni dolazni promet;
  • internal - zona unutarnjih mreža. Povjerenje se primjenjuje na sve strojeve, otvaraju se dodatne usluge;
  • external - obrnuti na prethodnu zonu. U vanjskim mrežama, NAT maskiranje je aktivno, zatvaranje interne mreže, ali ne i blokiranje mogućnosti za pristup;
  • public zona javnih mreža s nepovjerenjem prema svim uređajima i individualnim prijemom dolaznog prometa;
  • block - svi dolazni zahtjevi se resetiraju pomoću icmp-host- deleted ili icmp6-adm zabranjene pogreške;
  • drop - minimalna razina povjerenja. Dolazne veze odbacuju se bez obavijesti.

Političari su privremeni i trajni. Kada se parametri prikažu ili uređuju, radnja vatrozida odmah se mijenja bez potrebe za ponovnim pokretanjem. Ako su primijenjena privremena pravila, nakon ponovnog pokretanja FirewallD-a oni će se resetirati. Stalno pravilo se naziva - trajno će se čuvati pri primjeni argumenta - trajno.

Omogućite vatrozid FirewallD

Prvo morate pokrenuti FirewallD ili se uvjeriti da je u aktivnom stanju. Samo će funkcionalni demon (program koji se izvodi u pozadini) primijeniti pravila za vatrozid. Aktivacija je izvršena u samo nekoliko klikova:

  1. Pokrenite klasični "Terminal" bilo kojom prikladnom metodom, na primjer, kroz izbornik "Aplikacije" .
  2. Pokretanje terminala za daljnju konfiguraciju vatrozida na CentOS-u 7

  3. Upišite sudo systemctl start firewalld.service i pritisnite tipku Enter .
  4. Pokretanje Firewall usluga u CentOS 7 operativnom sustavu

  5. Upravljanje uslužnim programom provodi se u ime superkorisnika, tako da morate provjeravati autentičnost navođenjem lozinke.
  6. Unos lozinke za pokretanje vatrozida u CentOS 7 terminalu

  7. Da biste osigurali da servisne funkcije, navedite firewall-cmd --state .
  8. Pogledajte trenutno stanje vatrozida kroz terminal u CentOS-u 7

  9. Potvrdite autentičnost u otvorenom grafičkom prozoru.
  10. Unos lozinke za provjeru autentičnosti pri pregledavanju statusa vatrozida CentOS 7

  11. Prikazuje se novi redak. Vrijednost "trčanje" znači da vatrozid radi.
  12. Prikazuje trenutno stanje vatrozida u CentOS 7 operativnom sustavu

Ako jednom trebate privremeno ili trajno onemogućiti vatrozid, preporučujemo da koristite sljedeće upute u sljedećem članku.

Više detalja: Onemogućite vatrozid na CentOS 7

Pogledajte zadana pravila i dostupne zone

Čak i ako radite u uobičajenom načinu, vatrozid ima svoja specifična pravila i dostupne zone. Prije nego počnete uređivati ​​pravila, preporučujemo da se upoznate s trenutnom konfiguracijom. To se radi jednostavnim naredbama:

  1. Naredba firewall-cmd --get-default-zone pomoći će u firewall-cmd --get-default-zone .
  2. Pogledajte zadano područje vatrozida na CentOS 7

  3. Nakon aktivacije, vidjet ćete novi redak u kojem će se prikazati traženi parametar. Na primjer, na slici ispod, "javna" zona se smatra aktivnom.
  4. Prikaz zadane zone vatrozida na CentOS 7

  5. Međutim, nekoliko zona može biti aktivno odjednom, štoviše, one su povezane s odvojenim sučeljem. firewall-cmd --get-active-zones ove informacije putem firewall-cmd --get-active-zones .
  6. Pregledajte sve aktivne zone vatrozida u CentOS-u 7

  7. Naredba firewall-cmd --list-all prikazat će pravila definirana za zadanu zonu. Pogledajte sliku ispod. Možete vidjeti da je “default” pravilo dodijeljeno aktivnoj zoni “public” - zadana operacija, dodaju se sučelje “enp0s3” i dvije usluge.
  8. Pregledajte pravila jezgre vatrozida putem terminala na CentOS-u 7

  9. Ako trebate znati sve dostupne zone vatrozida, unesite firewall-cmd --get-zones .
  10. Dobivanje popisa svih dostupnih područja vatrozida kroz terminal na CentOS-u 7

  11. Parametri određene zone definirani su putem firewall-cmd --zone=name --list-all , gdje je ime ime zone.
  12. Prikazivanje pravila određene zone vatrozida putem terminala na CentOS-u 7

Nakon određivanja potrebnih parametara, možete nastaviti s njihovim izmjenama i dopunama. Pogledajmo pobliže neke od najpopularnijih konfiguracija.

Konfiguriranje sučelja

Kao što znate iz gore navedenih informacija, svako sučelje ima svoju zadanu zonu. Ostat će u njemu sve dok korisnik ili programski ne promijeni postavke. Moguće je ručno prenijeti sučelje u zonu za jednu sesiju, a to se radi aktiviranjem naredbe sudo firewall-cmd --zone=home --change-interface=eth0 . Rezultat "uspjeha" pokazuje da je prijenos bio uspješan. Sjetite se da se takve postavke resetiraju odmah nakon ponovnog pokretanja vatrozida.

Dodjeljivanje određenog sučelja zoni vatrozida u CentOS-u 7

S takvom promjenom parametara treba imati na umu da se rad usluga može resetirati. Neke od njih ne podržavaju rad u određenim zonama, na primjer, SSH, iako je dostupan u “domu” , ali će usluga odbiti raditi u korisničkim ili posebnim uslugama. Možete firewall-cmd --get-active-zones li sučelje uspješno vezano za novu granu upisivanjem firewall-cmd --get-active-zones .

Pogledajte jezgru vatrozida i njegovo sučelje na CentOS 7

Ako želite resetirati svoje prethodne postavke, jednostavno ponovno pokrenite vatrozid: sudo systemctl restart firewalld.service .

Ponovno pokretanje vatrozida nakon promjene u CentOS 7

Ponekad nije uvijek zgodno promijeniti zonu sučelja samo jednom sesijom. U tom slučaju trebat ćete urediti konfiguracijsku datoteku tako da se sve postavke unose trajno. Da biste to učinili, preporučujemo korištenje nano teksta, koji se instalira iz službenog sudo yum install nano repozitorija. Ostaje izvršavanje sljedećih radnji:

  1. Otvorite konfiguracijsku datoteku putem urednika unosom sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0 , gdje je eth0 naziv potrebnog sučelja.
  2. Otvaranje konfiguracijske datoteke sučelja vatrozida u CentOS 7

  3. Potvrdite autentičnost svog računa za daljnje radnje.
  4. Unos lozinke za otvaranje konfiguracijske datoteke sučelja u CentOS 7

  5. Pronađite parametar "ZONE" i promijenite njegovu vrijednost na željenu, primjerice, public ili home .
  6. Promjena zone sučelja preko konfiguracijske datoteke u CentOS 7

  7. Zadržite Ctrl + O da biste spremili promjene.
  8. Zapis promjena u uređivaču teksta CentOS 7

  9. Nemojte mijenjati naziv datoteke, samo pritisnite Enter .
  10. Dodjela datoteke za snimanje promjena u uređivaču teksta CentOS 7

  11. Izađite iz uređivača teksta pomoću Ctrl + X.
  12. Zatvorite uređivač teksta nakon promjene CentOS 7

Sada će zona sučelja biti ono što ste odredili, do sljedećeg uređivanja konfiguracijske datoteke. Da bi ažurirane postavke stupile na snagu, pokrenite sudo systemctl restart network.service i sudo systemctl restart firewalld.service .

Postavljanje zadane zone

Iznad smo već pokazali naredbu koja nam je omogućila da otkrijemo zadanu zonu. Može se promijeniti i postavljanjem opcije po vašem izboru. Da biste to učinili, dovoljno je registrirati sudo firewall-cmd --set-default-zone=name u konzoli, gdje je ime ime tražene zone.

Dodjeljivanje zadane zone vatrozida u CentOS-u 7

Uspjeh naredbe bit će označen natpisom "uspjeh" na zasebnoj liniji. Nakon toga će se sva trenutna sučelja vezati za navedenu zonu, osim ako nije drugačije navedeno u konfiguracijskim datotekama.

Uspješno dodjeljivanje zadane zone u CentOS-u 7

Izrada pravila za programe i uslužne programe

Na samom početku članka govorili smo o radu svake zone. Definiranje usluga, uslužnih programa i programa u takvim granama omogućit će svakom od njih da primjenjuje pojedinačne parametre za svaki zahtjev korisnika. Za početak, savjetujemo vam da se upoznate s potpunim popisom trenutno dostupnih usluga: firewall-cmd --get-services .

Naredba za pregled usluga CentOS 7 dostupnih na sustavu.

Rezultat se prikazuje izravno u konzoli. Svaki poslužitelj je odvojen razmakom, a na popisu možete lako pronaći alat koji vas zanima. Ako tražena usluga nedostaje, treba je dodatno instalirati. O pravilima instalacije pročitajte službenu dokumentaciju softvera.

Popis dostupnih usluga u CentOS-u 7

Gornja naredba prikazuje samo imena usluga. Detaljne informacije o svakom od njih dobivaju se putem pojedinačne datoteke smještene uz put /usr/lib/firewalld/services . Takvi su dokumenti u XML formatu, put, na primjer, za SSH izgleda ovako: /usr/lib/firewalld/services/ssh.xml , a dokument ima sljedeći sadržaj:

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 ručna podrška za uslugu u određenoj zoni. U "Terminalu" trebate postaviti naredbu sudo firewall-cmd --zone=public --add-service=http , gdje je --zone = public zona za aktivaciju, a --add-service = http je naziv usluge. Napominjemo da će ova promjena stupiti na snagu samo u jednoj sesiji.

Dodavanje usluge u određenu zonu vatrozida CentOS 7

Trajno dodavanje se izvodi preko sudo firewall-cmd --zone=public --permanent --add-service=http , a rezultat "uspjeha" označava uspješan završetak operacije.

Stalno dodavanje usluge vatrozidnoj zoni CentOS 7

Cijeli popis stalnih pravila za određenu zonu možete pogledati prikazivanjem popisa u zasebnom retku konzole: sudo firewall-cmd --zone=public --permanent --list-services .

Pogledajte popis stalnih vatrozida CentOS 7

Rješenje problema nedostatka pristupa usluzi

Standardno, najpopularnije i sigurnije usluge navedene su u pravilima vatrozida kao dopuštene, ali blokira neke standardne aplikacije ili aplikacije trećih strana. U tom slučaju, korisnik će morati ručno promijeniti postavke kako bi riješio problem pristupa. To se može učiniti na dva različita načina.

Prosljeđivanje luka

Kao što znate, sve mrežne usluge koriste određeni priključak. To je lako otkriti firewall, i to može blokirati brave. Da biste izbjegli takve radnje od strane vatrozida, morate otvoriti potreban port sa sudo firewall-cmd --zone=public --add-port=0000/tcp , gdje je --zone = public zona za port, --add-port = 0000 / tcp - broj porta i protokol. Opcija firewall-cmd --list-ports prikazat će popis otvorenih portova.

Otvaranje porta u određenoj zoni vatrozida CentOS 7

Ako trebate otvoriti portove koji su u rasponu, koristite liniju sudo firewall-cmd --zone=public --add-port=0000-9999/udp , gdje --add-port = 0000-9999 / udp je raspon luka i njihov protokol.

Otvaranje niza priključaka u određenoj zoni vatrozida CentOS 7

Gornje naredbe dopuštaju samo testiranje uporabe takvih parametara. Ako je bio uspješan, trebali biste dodati iste portove trajnim postavkama, a to se postiže unosom sudo firewall-cmd --zone=public --permanent --add-port=0000/tcp ili sudo firewall-cmd --zone=public --permanent --add-port=0000-9999/udp . Popis otvorenih perzistentnih portova se promatra kao: sudo firewall-cmd --zone=public --permanent --list-ports .

Definicija usluge

Kao što možete vidjeti, dodavanje portova ne uzrokuje nikakve poteškoće, ali postupak je kompliciran kada se koristi veliki broj aplikacija. Teško je pratiti sve korištene portove, što znači da će definicija usluge biti točnija:

  1. Kopirajte konfiguracijsku datoteku pisanjem sudo cp /usr/lib/firewalld/services/service.xml /etc/firewalld/services/example.xml , gdje je service.xml ime datoteke usluge, a example.xml je ime njegove kopije.
  2. Kopiranje datoteke postavki postavki vatrozida u CentOS 7

  3. Otvorite kopiju za uređivanje putem bilo kojeg uređivača teksta, na primjer, sudo nano /etc/firewalld/services/example.xml .
  4. Pokretanje kopirane CentOS 7 servisne datoteke

  5. Naprimjer, stvorili smo kopiju HTTP usluge. U dokumentu u osnovi vidite različite metapodatke, poput kratkog imena i opisa. Utječe na poslužitelj samo mijenjanje broja porta i protokola. Iznad crte " » Trebalo bi dodati da biste otvorili priključak. tcp je protokol koji se koristi, a 0000 broj porta.
  6. Promjene u servisnoj datoteci za otvaranje portova u CentOS-u 7

  7. Spremite sve promjene ( Ctrl + O ), zatvorite datoteku ( Ctrl + X ), a zatim ponovno pokrenite vatrozid kako biste primijenili postavke putem sudo firewall-cmd --reload . Nakon toga, usluga će se pojaviti na popisu dostupnih, što se može vidjeti preko firewall-cmd --get-services .
  8. Ponovno pokretanje vatrozida u CentOS-u 7

Vi samo trebate odabrati najprikladniju metodu za rješavanje problema s pristupom servisu i slijediti dane upute. Kao što možete vidjeti, sve se radnje izvode prilično lako i ne smiju se javljati poteškoće.

Stvaranje prilagođenih zona

Već znate da je u početku u FirewallD-u stvoren veliki broj različitih zona s određenim pravilima. Međutim, postoje situacije kada administrator sustava treba stvoriti korisničku zonu, kao što je “publicweb” za instalirani web poslužitelj ili “privateDNS” za DNS poslužitelj. U ova dva primjera analiziramo dodavanje grana:

  1. Stvorite dvije nove trajne zone s sudo firewall-cmd --permanent --new-zone=publicweb i sudo firewall-cmd --permanent --new-zone=privateDNS .
  2. Dodavanje novih korisničkih zona vatrozida CentOS 7

  3. Bit će dostupni nakon ponovnog učitavanja sudo firewall-cmd --reload . Za prikaz trajnih zona unesite sudo firewall-cmd --permanent --get-zones .
  4. Pogledajte dostupne zone vatrozida na CentOS 7

  5. Dodijelite im potrebne usluge, na primjer, "SSH" , "HTTP" i "HTTPS" . To se radi s naredbama sudo firewall-cmd --zone=publicweb --add-service=ssh , sudo firewall-cmd --zone=publicweb --add-service=http i sudo firewall-cmd --zone=publicweb --add-service=https , gdje je --zone = publicweb naziv zone za dodavanje. Aktivnost usluga možete pogledati firewall-cmd --zone=publicweb --list-all .
  6. Dodavanje usluga korisničkoj zoni CentOS 7

U ovom ste članku naučili kako stvoriti prilagođene zone i dodati im usluge. Već smo gore opisali postavljanje njih po zadanim postavkama i dodjeljivanje sučelja, samo trebate navesti ispravna imena. Ne zaboravite ponovo pokrenuti vatrozid nakon bilo kakvih trajnih promjena.

Kao što možete vidjeti, FirewallD vatrozid je prilično velik alat koji vam omogućuje da napravite najfleksibilniju konfiguraciju vatrozida. Ostaje samo kako bi bili sigurni da je uslužni program pokrenut sa sustavom i određena pravila odmah počinju s radom. Učinite to pomoću sudo systemctl enable firewalld naredbu.