Konfigurácia Firewallu na CentOS 7

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.

Konfigurácia Firewallu na CentOS 7

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

Koncepty brány firewall

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;
  • je skupina lokálnych sietí. V prostredí existuje dôvera, ale prichádzajúce spojenia sú k dispozícii iba pre určité stroje;
  • 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.

Zapnite bránu firewall brány firewall

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:

  1. Spustite klasický "Terminal" ľubovoľnou vhodnou metódou, napríklad cez menu "Applications" .
  2. Spustenie terminálu pre ďalšiu konfiguráciu firewallu na CentOS 7

  3. Napíšte sudo systemctl start firewalld.service a stlačte kláves Enter .
  4. Spustenie služieb brány firewall v operačnom systéme CentOS 7

  5. Správa nástrojov sa vykonáva v mene superuser, takže sa musíte autentifikovať zadaním hesla.
  6. Zadanie hesla na spustenie služieb brány firewall v termináli CentOS 7

  7. Aby ste sa uistili, že servisné funkcie, špecifikujte firewall-cmd --state .
  8. Zobrazenie aktuálneho stavu firewallu cez terminál v CentOS 7

  9. Overte si pravosť v otvorenom grafickom okne.
  10. Zadanie hesla na overenie pri prezeraní stavu brány CentOS 7

  11. Zobrazí sa nový riadok. Hodnota „running“ znamená, že firewall funguje.
  12. Zobrazí aktuálny stav firewallu v operačnom systéme CentOS 7

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

Zobrazenie predvolených pravidiel a dostupných zón

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:

  1. Príkaz firewall-cmd --get-default-zone pomôže firewall-cmd --get-default-zone .
  2. Zobraziť predvolenú zónu brány firewall na CentOS 7

  3. Po jeho aktivácii sa zobrazí nový riadok, na ktorom sa zobrazí požadovaný parameter. Napríklad na obrázku nižšie je „verejná“ zóna považovaná za aktívnu.
  4. Zobrazenie predvolenej zóny brány firewall na CentOS 7

  5. Viaceré zóny však môžu byť aktívne naraz, navyše sú viazané na samostatné rozhranie. firewall-cmd --get-active-zones tieto informácie prostredníctvom firewall-cmd --get-active-zones .
  6. Zobraziť všetky aktívne zóny firewallu v CentOS 7

  7. Príkaz 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.
  8. Pozrite si základné pravidlá brány firewall prostredníctvom terminálu na CentOS 7

  9. Ak potrebujete poznať všetky dostupné zóny firewallu, zadajte firewall-cmd --get-zones .
  10. Získanie zoznamu všetkých dostupných brán firewall prostredníctvom terminálu na CentOS 7

  11. Parametre konkrétnej zóny sú definované cez firewall-cmd --zone=name --list-all , kde name je názov zóny.
  12. Zobrazenie pravidiel danej zóny brány firewall prostredníctvom terminálu na CentOS 7

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

Konfigurácia zón rozhrania

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.

Priradenie špecifického rozhrania k zóne firewallu v CentOS 7

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 .

Zobraziť jadro brány firewall a jeho rozhranie na CentOS 7

Ak chcete obnoviť predchádzajúce nastavenia, jednoducho reštartujte bránu firewall: sudo systemctl restart firewalld.service .

Reštartovanie firewallu po vykonaní zmien CentOS 7

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:

  1. Otvorte konfiguračný súbor cez editor zadaním sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0 , kde eth0 je názov požadovaného rozhrania.
  2. Otvorenie konfiguračného súboru rozhrania firewallu v CentOS 7

  3. Overte si svoj účet pre ďalšiu akciu.
  4. Zadanie hesla pre otvorenie konfiguračného súboru rozhrania v CentOS 7

  5. Nájdite parameter "ZONE" a zmeňte jeho hodnotu na požadovanú, napríklad public alebo home .
  6. Zmena zóny rozhrania cez konfiguračný súbor v CentOS 7

  7. Ak chcete uložiť zmeny, podržte kláves Ctrl + O.
  8. Záznam zmien v textovom editore CentOS 7

  9. Nemeňte názov súboru, stačí stlačiť Enter .
  10. Priradenie súborov na zaznamenávanie zmien v textovom editore CentOS 7

  11. Ukončite textový editor pomocou Ctrl + X.
  12. Po zmene CentOS 7 ukončite textový editor

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 .

Nastavenie predvolenej zóny

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.

Priradenie predvolenej zóny brány firewall v systéme CentOS 7

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

Úspešné priradenie predvolenej zóny v CentOS 7

Vytváranie pravidiel pre programy a pomocné programy

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 .

Príkaz na zobrazenie služieb CentOS 7 dostupných v systéme.

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.

Zoznam dostupných služieb v CentOS 7

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.

Pridanie služby do konkrétnej zóny brány firewall CentOS 7

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.

Trvalé pridanie služby do zóny firewall CentOS 7

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

Pozrite si zoznam služieb stálej brány firewall CentOS 7

Riešenie problému nedostatku prístupu k službe

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

Otvorenie portu v špecifickej zóne firewallu CentOS 7

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.

Otvorenie rozsahu portov v špecifickej zóne firewallu CentOS 7

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 .

Definícia služby

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:

  1. Skopírujte konfiguračný súbor napísaním 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.
  2. Kopírovanie súboru nastavení služby firewall do CentOS 7

  3. Otvorte kópiu na úpravu prostredníctvom ľubovoľného textového editora, napríklad sudo nano /etc/firewalld/services/example.xml .
  4. Spustenie kopírovaného servisného súboru CentOS 7

  5. Vytvorili sme napríklad kópiu služby HTTP. V dokumente sa v podstate zobrazujú rôzne metaúdaje, napríklad krátky názov a opis. Ovplyvňuje len zmenu čísla portu a protokolu. Nad čiarou » Malo by byť pridané otvorte port. tcp je používaný protokol a 0000 je číslo portu.
  6. Zmeny v servisnom súbore pre otvorenie portov na CentOS 7

  7. Uložte všetky zmeny ( Ctrl + O ), zatvorte súbor ( Ctrl + X ) a potom reštartujte bránu firewall, aby ste použili nastavenia cez sudo firewall-cmd --reload . Potom sa služba zobrazí v zozname dostupných, ktoré je možné zobraziť cez firewall-cmd --get-services .
  8. Reštartovanie služby firewall v CentOS 7

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.

Vytvorenie vlastných zón

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:

  1. Vytvorte dve nové trvalé zóny pomocou sudo firewall-cmd --permanent --new-zone=publicweb a sudo firewall-cmd --permanent --new-zone=privateDNS .
  2. Pridanie nových užívateľských zón firewallu CentOS 7

  3. Budú k dispozícii po opätovnom načítaní nástroja sudo firewall-cmd --reload . Ak chcete zobraziť trvalé zóny, zadajte sudo firewall-cmd --permanent --get-zones .
  4. Zobraziť dostupné zóny brány firewall na CentOS 7

  5. Priraďte im potrebné služby, napríklad „SSH“ , „HTTP“ a „HTTPS“ . Toto sa vykonáva pomocou príkazov 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 .
  6. Pridanie služieb do užívateľskej zóny CentOS 7

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 .