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.
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
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.
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:
sudo systemctl start firewalld.service
i pritisnite tipku Enter . firewall-cmd --state
. 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
Č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:
firewall-cmd --get-default-zone
pomoći će u firewall-cmd --get-default-zone
. firewall-cmd --get-active-zones
ove informacije putem firewall-cmd --get-active-zones
. 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. firewall-cmd --get-zones
. firewall-cmd --zone=name --list-all
, gdje je ime ime zone. Nakon određivanja potrebnih parametara, možete nastaviti s njihovim izmjenama i dopunama. Pogledajmo pobliže neke od najpopularnijih konfiguracija.
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.
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
.
Ako želite resetirati svoje prethodne postavke, jednostavno ponovno pokrenite vatrozid: sudo systemctl restart firewalld.service
.
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:
sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
, gdje je eth0 naziv potrebnog sučelja. public
ili home
. 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
.
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.
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.
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
.
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.
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.
Trajno dodavanje se izvodi preko sudo firewall-cmd --zone=public --permanent --add-service=http
, a rezultat "uspjeha" označava uspješan završetak operacije.
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
.
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.
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.
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
.
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:
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. sudo nano /etc/firewalld/services/example.xml
. sudo firewall-cmd --reload
. Nakon toga, usluga će se pojaviti na popisu dostupnih, što se može vidjeti preko firewall-cmd --get-services
. 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.
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:
sudo firewall-cmd --permanent --new-zone=publicweb
i sudo firewall-cmd --permanent --new-zone=privateDNS
. sudo firewall-cmd --reload
. Za prikaz trajnih zona unesite sudo firewall-cmd --permanent --get-zones
. 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
. 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.