Brána firewall nainštalovaná v operačnom systéme sa používa na zabránenie neoprávneného prenosu údajov cez počítačové siete. Manuálne alebo automaticky vytvorte špeciálne pravidlá pre bránu firewall, ktoré sú zodpovedné za kontrolu prístupu. V OS vyvinutom na jadre Linuxu má CentOS 7 zabudovaný firewall a je spravovaný pomocou firewallu. FirewallD je v predvolenom nastavení povolený a my by sme chceli hovoriť o jeho konfigurácii dnes.
obsah
Ako je uvedené vyššie, štandardný firewall na CentOS 7 je priradený k FirewallD utility. Preto sa na príklade tohto nástroja zváži nastavenie firewallu. Pravidlá filtrovania môžete nastaviť pomocou rovnakých iptables, ale to sa robí trochu iným spôsobom. Odporúčame, aby ste sa oboznámili s konfiguráciou spomínaného nástroja kliknutím na nasledujúci odkaz a začneme analyzovať FirewallD.
Pozri tiež: Konfigurácia iptables na CentOS 7
Existuje niekoľko zón - sady pravidiel pre riadenie prevádzky založenej na dôvere v siete. Všetky z nich majú svoje vlastné politiky, ktorých súhrn tvorí konfiguráciu firewallu. Každej zóne je priradené jedno alebo viac sieťových rozhraní, čo tiež umožňuje nastaviť filtrovanie. Platné pravidlá závisia priamo od použitého rozhrania. Napríklad, keď sa pripojí k verejne dostupnému Wi-Fi, firewall zvýši úroveň kontroly av domácej sieti otvorí ďalší prístup pre účastníkov reťazca. V tomto firewalle sú takéto zóny:
trusted
- maximálna úroveň dôvery vo všetky zariadenia v sieti; work
- pracovný priestor. Vo väčšine zariadení existuje dôvera, ako aj ďalšie služby; dmz
- zóna pre izolované počítače. Takéto zariadenia sú odpojené od zvyšku siete a umožňujú len určitú prichádzajúcu prevádzku; internal
zón interných sietí. Dôvera sa vzťahuje na všetky stroje, otvárajú sa ďalšie služby; external
- obrátené na predchádzajúcu zónu. V externých sieťach je aktívne maskovanie NAT, zatváranie internej siete, ale neblokuje schopnosť získať prístup; public
zóna verejných sietí s nedôverou voči všetkým zariadeniam a individuálny príjem prichádzajúcej prevádzky; block
- všetky prichádzajúce požiadavky sa resetujú chybou icmp- host- enabled alebo icmp6-adm-enabled ; drop
- minimálna úroveň dôvery. Prichádzajúce spojenia sa vynechajú bez akéhokoľvek oznámenia. Politici sú dočasní a stáli. Keď sa parametre objavia alebo upravia, akcia firewallu sa okamžite zmení bez potreby reštartu. Ak boli aplikované dočasné pravidlá, po reštarte Firewallu budú resetované. Trvalé pravidlo sa nazýva, že sa bude pri uplatňovaní argumentu „trvalý“ udržiavať na trvalom základe.
Najprv musíte spustiť FirewallD alebo sa uistiť, že je v aktívnom stave. Pravidlá pre bránu firewall použije iba fungujúci démon (program bežiaci na pozadí). Aktivácia sa vykoná len niekoľkými kliknutiami:
sudo systemctl start firewalld.service
a stlačte kláves Enter . firewall-cmd --state
. Ak raz potrebujete dočasne alebo trvalo vypnúť bránu firewall, odporúčame vám, aby ste použili pokyny uvedené v našom ďalšom článku na nasledujúcom odkaze.
Ďalšie podrobnosti: Vypnite bránu firewall na CentOS 7
Firewall má aj svoje vlastné špecifické pravidlá a zóny. Skôr ako začnete s úpravami politík, odporúčame vám oboznámiť sa s aktuálnou konfiguráciou. Toto sa vykonáva pomocou jednoduchých príkazov:
firewall-cmd --get-default-zone
pomôže firewall-cmd --get-default-zone
. firewall-cmd --get-active-zones
tieto informácie prostredníctvom firewall-cmd --get-active-zones
. firewall-cmd --list-all
zobrazí pravidlá definované pre predvolenú zónu. Pozrite si obrázok nižšie. Môžete vidieť, že „predvolené“ pravidlo je priradené aktívnej zóne „public“ - predvolená operácia, rozhranie „enp0s3“ a dve služby. firewall-cmd --get-zones
. firewall-cmd --zone=name --list-all
, kde name je názov zóny. Po určení potrebných parametrov môžete pristúpiť k ich modifikácii a doplneniu. Pozrime sa bližšie na niektoré z najpopulárnejších konfigurácií.
Ako viete z vyššie uvedených informácií, každé rozhranie má vlastnú predvolenú zónu. Zostane v ňom, až kým používateľ nezmení nastavenia alebo programovo. Je možné manuálne preniesť rozhranie do zóny pre jednu reláciu, a to vykonaním príkazu sudo firewall-cmd --zone=home --change-interface=eth0
. Výsledok „úspech“ znamená, že prenos bol úspešný. Pripomeňme, že tieto nastavenia sa resetujú okamžite po reštarte brány firewall.
Pri takejto zmene parametrov je potrebné mať na pamäti, že práca so službami môže byť obnovená. Niektoré z nich nepodporujú prevádzku v určitých zónach, napríklad SSH, hoci je k dispozícii v „domácom“ prostredí , ale služba odmietne pracovať v užívateľských alebo špeciálnych službách. Môžete firewall-cmd --get-active-zones
, že rozhranie bolo úspešne naviazané na novú vetvu zadaním firewall-cmd --get-active-zones
.
Ak chcete obnoviť predchádzajúce nastavenia, jednoducho reštartujte bránu firewall: sudo systemctl restart firewalld.service
.
Niekedy nie je vždy vhodné zmeniť zónu rozhrania len o jednu reláciu. V tomto prípade budete musieť upraviť konfiguračný súbor tak, aby boli všetky nastavenia trvalo zapísané. Na tento účel odporúčame použiť nano textový editor, ktorý je nainštalovaný z oficiálneho sudo yum install nano
úložiska sudo yum install nano
. Zostáva vykonať nasledujúce akcie:
sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
, kde eth0 je názov požadovaného rozhrania. public
alebo home
. Teraz bude zóna rozhrania to, čo ste zadali, až do ďalšej úpravy konfiguračného súboru. Aby sa aktualizované nastavenia prejavili, spustite sudo systemctl restart network.service
a sudo systemctl restart firewalld.service
.
Hore sme už ukázali príkaz, ktorý nám umožnil zistiť predvolenú zónu. Môžete ju tiež zmeniť nastavením voľby podľa vlastného výberu. Na to stačí zaregistrovať sudo firewall-cmd --set-default-zone=name
v konzole, kde názov je názov požadovanej zóny.
Úspech príkazu bude na samostatnom riadku označený nápisom „úspech“ . Potom budú všetky aktuálne rozhrania viazané na zadanú zónu, pokiaľ nie je v konfiguračných súboroch uvedené inak.
Na samom začiatku článku sme hovorili o prevádzke každej zóny. Definovanie služieb, utilít a programov v takýchto pobočkách umožní každému z nich aplikovať individuálne parametre pre každú požiadavku užívateľa. Na úvod Vám odporúčame zoznámiť sa s úplným zoznamom dostupných služieb: firewall-cmd --get-services
.
Výsledok sa zobrazí priamo v konzole. Každý server je oddelený medzerou av zozname môžete ľahko nájsť nástroj, ktorý vás zaujíma. Ak chýba potrebná služba, mala by sa dodatočne nainštalovať. O pravidlách inštalácie si prečítajte oficiálnu dokumentáciu k softvéru.
Vyššie uvedený príkaz zobrazuje iba názvy služieb. Podrobné informácie o každom z nich sa získajú prostredníctvom individuálneho súboru umiestneného pozdĺž cesty /usr/lib/firewalld/services
. Takéto dokumenty sú vo formáte XML, napríklad cesta k SSH vyzerá takto: /usr/lib/firewalld/services/ssh.xml
a dokument má nasledujúci obsah:
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.
Aktivuje sa manuálna podpora pre službu v určitej zóne. V "Terminal" by ste mali nastaviť príkaz sudo firewall-cmd --zone=public --add-service=http
, kde --zone = public je zóna pre aktiváciu a --add-service = http je názov služby. Táto zmena sa prejaví až v rámci jednej relácie.
Trvalé pridávanie sa vykonáva cez sudo firewall-cmd --zone=public --permanent --add-service=http
a výsledok „success“ označuje úspešné dokončenie operácie.
Úplný zoznam trvalých pravidiel pre konkrétnu zónu môžete zobraziť zobrazením zoznamu v samostatnom riadku konzoly: sudo firewall-cmd --zone=public --permanent --list-services
.
Štandardne sú najobľúbenejšie a najbezpečnejšie služby uvedené v pravidlách brány firewall ako povolené, ale blokujú niektoré štandardné aplikácie alebo aplikácie tretích strán. V tomto prípade bude musieť užívateľ manuálne zmeniť nastavenia, aby vyriešil problém s prístupom. To možno vykonať dvoma rôznymi spôsobmi.
Preposielanie portov
Ako viete, všetky sieťové služby používajú špecifický port. Je ľahko rozpoznateľný firewallom a môže blokovať zámky. Aby sa zabránilo takýmto akciám firewallu, musíte otvoriť požadovaný port pomocou sudo firewall-cmd --zone=public --add-port=0000/tcp
, kde --zone = public je zóna pre port, --add-port = 0000 / tcp - číslo portu a protokol. Voľba firewall-cmd --list-ports
zobrazí zoznam otvorených portov.
Ak potrebujete otvoriť porty, ktoré sú v dosahu, použite linku sudo firewall-cmd --zone=public --add-port=0000-9999/udp
, kde --add-port = 0000-9999 / udp je rozsah portov a protokolu.
Vyššie uvedené príkazy iba umožnia otestovať použitie týchto parametrov. Ak to bolo úspešné, mali by ste pridať rovnaké porty do trvalého nastavenia, a to sa vykoná zadaním sudo firewall-cmd --zone=public --permanent --add-port=0000/tcp
alebo sudo firewall-cmd --zone=public --permanent --add-port=0000-9999/udp
. Zoznam otvorených trvalých portov je zobrazený ako: sudo firewall-cmd --zone=public --permanent --list-ports
.
Ako vidíte, pridanie portov nespôsobuje žiadne ťažkosti, ale postup je komplikovaný, keď sa používa veľký počet aplikácií. Je ťažké sledovať všetky používané porty, čo znamená, že definícia služby bude správnejšia:
sudo cp /usr/lib/firewalld/services/service.xml /etc/firewalld/services/example.xml
, kde service.xml je názov servisného súboru a example.xml je názov jeho kópie. sudo nano /etc/firewalld/services/example.xml
. sudo firewall-cmd --reload
. Potom sa služba zobrazí v zozname dostupných, ktoré je možné zobraziť cez firewall-cmd --get-services
. Stačí zvoliť najvhodnejší spôsob riešenia problému s prístupom k službe a riadiť sa uvedenými pokynmi. Ako vidíte, všetky akcie sa vykonávajú pomerne ľahko a nemali by vzniknúť žiadne ťažkosti.
Už viete, že pôvodne bol v FirewallD vytvorený veľký počet rôznych zón s určitými pravidlami. Existujú však situácie, keď správca systému potrebuje vytvoriť užívateľskú zónu, napríklad „publicweb“ pre nainštalovaný webový server alebo „privateDNS“ pre server DNS. V týchto dvoch príkladoch analyzujeme pridanie pobočiek:
sudo firewall-cmd --permanent --new-zone=publicweb
a sudo firewall-cmd --permanent --new-zone=privateDNS
. sudo firewall-cmd --reload
. Ak chcete zobraziť trvalé zóny, zadajte sudo firewall-cmd --permanent --get-zones
. sudo firewall-cmd --zone=publicweb --add-service=ssh
, sudo firewall-cmd --zone=publicweb --add-service=http
a sudo firewall-cmd --zone=publicweb --add-service=https
, kde --zone = publicweb je názov zóny, ktorú chcete pridať. Aktivitu služieb môžete zobraziť firewall-cmd --zone=publicweb --list-all
. V tomto článku ste sa naučili vytvárať vlastné zóny a pridávať k nim služby. Vyššie sme ich už nastavili štandardne a priradili rozhrania, stačí zadať správne názvy. Nezabudnite po vykonaní trvalých zmien reštartovať bránu firewall.
Ako môžete vidieť, FirewallD firewall je pomerne veľký nástroj, ktorý vám umožní vytvoriť najflexibilnejšiu konfiguráciu firewallu. Zostáva len uistiť sa, že nástroj je spustený so systémom a uvedené pravidlá okamžite začnú svoju prácu. Urobte to sudo systemctl enable firewalld
.