GNU/Linux >> Znalost Linux >  >> Cent OS

CentOS / RHEL 7:Průvodce firewallem pro začátečníky

Úvod

– Brána firewall pro filtrování paketů čte příchozí síťové pakety a filtruje (povoluje nebo zakazuje) každý datový paket na základě informací v záhlaví v paketu. Linuxové jádro má vestavěnou funkci filtrování paketů nazvanou Netfilter .
– V RHEL 7 jsou k dispozici dvě služby pro vytváření, údržbu a zobrazování pravidel uložených Netfilterem:
1. firewalld
2. iptables
– V RHEL 7 je výchozí službou firewallu firewalld.
– firewalld je dynamický správce firewallu, který podporuje zóny firewallu (sítě).
– Služba firewalld má podporu pro IPv4, IPv6, a pro ethernetové mosty.
– Služba firewalld také poskytuje rozhraní D-BUS. Služby nebo aplikace, které již D-BUS používají, mohou přidávat nebo vyžadovat změny pravidel brány firewall přímo prostřednictvím rozhraní D-BUS.

Výhody oproti iptables

firewalld má oproti iptables následující výhody:
1. Na rozdíl od příkazu iptables příkaz firewall-cmd nerestartuje bránu firewall a nenaruší navázaná připojení TCP.
2. firewalld podporuje dynamické zóny.
3. firewalld podporuje D-Bus pro lepší integraci se službami, které závisí na konfiguraci firewallu.

Možnosti konfigurace

Služba firewalld má dva typy možností konfigurace:
1. Běh :Změny nastavení brány firewall se projeví okamžitě, ale nejsou trvalé. Změny provedené v režimu konfigurace za běhu se při restartu služby firewall ztratí.
2. Trvalé :Změny nastavení brány firewall se zapisují do konfiguračních souborů. Tyto změny se použijí při restartování služby brány firewall.

Konfigurační soubory

Konfigurační soubory pro firewalld existují ve dvou adresářích:
/usr/lib/firewalld :Obsahuje výchozí konfigurační soubory. Neprovádějte změny v těchto souborech. Upgrade balíčku firewalld přepíše tento adresář.
/etc/firewalld :Změny výchozích konfiguračních souborů jsou uloženy v tomto adresáři. Soubory v tomto adresáři přetěžují výchozí konfigurační soubory.

zóny brány firewall

Služba firewalld vám umožňuje rozdělit sítě do různých zón na základě úrovně důvěry, kterou chcete dát zařízením a provozu v konkrétní síti. Pro každou zónu můžete definovat následující funkce:
Služby :Předdefinované nebo vlastní služby, kterým lze důvěřovat. Důvěryhodné služby jsou kombinací portů a protokolů, které jsou dostupné z jiných systémů a sítí.
Porty :Další porty nebo rozsahy portů a související protokoly, které jsou přístupné z jiných systémů a sítí.
Masquerading :Přeložte adresy IPv4 na jednu externí adresu. Je-li povoleno maskování, jsou adresy privátní sítě mapovány a skryty za veřejnou adresou.
Přesměrování portů :Přesměrování příchozího síťového provozu z určitého portu nebo rozsahu portů na alternativní port v místním systému nebo na port na jiné adrese IPv4.
Filtr ICMP :Blokovat vybrané zprávy protokolu Internet Control Message Protocol.
Rich Rules :Rozšiřte stávající pravidla brány firewall o další zdrojové a cílové adresy a akce protokolování a auditu.
Rozhraní :Síťová rozhraní vázaná na zónu. Zóna pro rozhraní je určena pomocí ZONE=option v /etc/sysconfig/network-scripts/ifcfg soubor. Pokud tato možnost chybí, je rozhraní vázáno na výchozí zónu.

Předdefinované zóny brány firewall

Softwarový balík firewalld obsahuje sadu předdefinovaných síťových zón v následujícím adresáři:

#  ls -lrt /usr/lib/firewalld/zones/
total 36
-rw-r----- 1 root root 342 Sep 15  2015 work.xml
-rw-r----- 1 root root 162 Sep 15  2015 trusted.xml
-rw-r----- 1 root root 315 Sep 15  2015 public.xml
-rw-r----- 1 root root 415 Sep 15  2015 internal.xml
-rw-r----- 1 root root 400 Sep 15  2015 home.xml
-rw-r----- 1 root root 304 Sep 15  2015 external.xml
-rw-r----- 1 root root 291 Sep 15  2015 drop.xml
-rw-r----- 1 root root 293 Sep 15  2015 dmz.xml
-rw-r----- 1 root root 299 Sep 15  2015 block.xml

Soubory zóny obsahují přednastavená nastavení, která lze použít na síťové rozhraní. Například:

# grep –i service /usr/lib/firewalld/zones/public.xml 
<service name=“ssh”/>
<service name=“dhcpv6-client”/>

V tomto příkladu síťová rozhraní vázaná na veřejnou zónu důvěřují pouze dvěma službám, ssh a dhcpv6-client.

Následuje stručné vysvětlení každé zóny:
drop :Všechny příchozí síťové pakety jsou zahozeny, žádná odpověď. Jsou možná pouze odchozí
síťová připojení.
blokovat :Všechna příchozí síťová připojení jsou odmítnuta zprávou icmp-host-zakázaná pro IPv4 a icmp6-adm-prohibited pro IPv6. Jsou možná pouze síťová připojení iniciovaná ze systému.
domů :Pro použití v domácnostech. Ostatním počítačům v sítích většinou důvěřujete, že váš počítač nepoškodí. Jsou přijímána pouze vybraná příchozí spojení.
veřejná :Pro použití ve veřejných prostorách. Nedůvěřujete ostatním počítačům v síti, že váš počítač nepoškodí. Jsou přijímána pouze vybraná příchozí spojení.
práce :Pro použití v pracovních oblastech. Ostatním počítačům v sítích většinou důvěřujete, že váš počítač nepoškodí. Jsou přijímána pouze vybraná příchozí spojení.
dmz :Pro počítače ve vaší demilitarizované zóně, které jsou veřejně přístupné s omezeným přístupem do vaší vnitřní sítě. Jsou přijímána pouze vybraná příchozí spojení.
externí :Pro použití v externích sítích s povoleným maskováním, zejména pro routery. Nedůvěřujete ostatním počítačům v síti, že váš počítač nepoškodí. Jsou přijímána pouze vybraná příchozí spojení.
interní :Pro použití v interních sítích. Ostatním počítačům v sítích většinou důvěřujete, že váš počítač nepoškodí. Jsou přijímána pouze vybraná příchozí připojení.
důvěryhodná :Všechna síťová připojení jsou akceptována.

Nastavení výchozí zóny brány firewall

Po úvodní instalaci je veřejná zóna výchozí zónou, jak je uvedeno v konfiguračním souboru /etc/firewalld/firewalld.conf .

# grep –i defaultzone /etc/firewalld/firewalld.conf 
DefaultZone=public

Síťová rozhraní jsou vázána na výchozí zónu, pokud není v souboru ifcfg uvedeno pomocí ZONE=[zone]. Následující příkaz zobrazuje rozhraní, která jsou vázána na veřejnou zónu:

# firewall-cmd --get-active-zone
public
      interfaces: eth0 eth1

Ke změně výchozí zóny můžete použít příkaz firewall-cmd:

# firewall-cmd --set-default-zone=work 
success

Ke změně výchozí zóny můžete také použít grafické uživatelské rozhraní firewall-config. Na liště nabídek vyberte Možnosti->Změnit výchozí zónu a poté vyberte zónu z rozbalovacího seznamu.

služby brány firewall

– Služba brány firewall je kombinací místních portů a protokolů a cílových adres.
– Služba brány firewall může také zahrnovat moduly jádra Netfilter, které se automaticky načtou, když je služba povolena.
– Součástí softwarového balíčku brány firewall je sada předdefinovaných služeb v následujícím adresáři:

# ls -lrt /usr/lib/firewalld/zones/
total 36
-rw-r----- 1 root root 342 Sep 15  2015 work.xml
-rw-r----- 1 root root 162 Sep 15  2015 trusted.xml
-rw-r----- 1 root root 315 Sep 15  2015 public.xml
-rw-r----- 1 root root 415 Sep 15  2015 internal.xml
-rw-r----- 1 root root 400 Sep 15  2015 home.xml
-rw-r----- 1 root root 304 Sep 15  2015 external.xml
-rw-r----- 1 root root 291 Sep 15  2015 drop.xml
-rw-r----- 1 root root 293 Sep 15  2015 dmz.xml
-rw-r----- 1 root root 299 Sep 15  2015 block.xml

– Služby lze pro zónu povolit v režimu Runtime.
– Definice služeb lze upravovat pouze v trvalém režimu.

Spusťte firewall

Spuštění brány firewall:

# systemctl start firewalld

Chcete-li zajistit spuštění brány firewall při spuštění:

# systemctl enable firewalld

Chcete-li zkontrolovat, zda je spuštěn firewalld:

# systemctl status firewalld
# firewall-cmd --state

Tři způsoby konfigurace služby brány firewall:
firewall-cmd :Rozhraní příkazového řádku
firewall-config :Grafické uživatelské rozhraní
– Upravte různé XML konfigurační soubory.

CentOS / RHEL 7:Jak spustit / zastavit Firewalld

Nástroj firewall-cmd

Nástroj příkazového řádku firewall-cmd je součástí aplikace firewalld, která je standardně nainstalována. Chcete-li získat nápovědu k příkazu firewall-cmd:

# firewall-cmd --help

Příkaz firewall-cmd nabízí kategorie možností, jako jsou Obecné, Stav, Trvalé, Zóna, IcmpType, Služba, Adaptace a zóny dotazů, Přímé, Uzamčení, Seznam povolených uzamčení a Panika. Seznam informací pro všechny zóny:

# firewall-cmd --list-all-zones public (default, active)
      interfaces: eth0 eth1
      sources:
      services: dhcpv6-client ssh
      ports:
  ...

Povolení přístupu klientům HTTP pro veřejnou zónu:

# firewall-cmd --zone=public --add-service=http 
success

Seznam služeb, které jsou povoleny pro veřejnou zónu:

# firewall-cmd --zone=work --list-services
    dhcpv6-client http ssh

Použití tohoto příkazu změní pouze konfiguraci Runtime a neaktualizuje konfigurační soubory.
Změny konfigurace provedené v konfiguračním režimu Runtime se ztratí při restartu služby firewall:

# systemctl restart firewalld
# firewall-cmd --zone=work --list-services dhcpv6-client ssh

Chcete-li provést změny trvalé, použijte volbu –permanent. Příklad:

# firewall-cmd --permanent --zone=public --add-service=http 
success

Změny provedené v režimu trvalé konfigurace se neprovedou okamžitě. Změny provedené v trvalé konfiguraci se však zapisují do konfiguračních souborů. Restartování služby firewalld přečte konfigurační soubory a provede změny. Příklad:

# systemctl restart firewalld
# firewall-cmd --zone=work --list-services 
dhcpv6-client http ssh


Cent OS
  1. Jak nainstalovat MariaDB na CentOS 7 / RHEL 7

  2. CentOS / RHEL:Průvodce vsftpd pro začátečníky (instalace a konfigurace)

  3. Průvodce pro začátečníky laděním profilů v CentOS/RHEL

  1. Nainstalujte TeamViewer na CentOS 5 / RHEL 5

  2. Jak nainstalovat TeamViewer na CentOS 6 / RHEL 6

  3. Průvodce pro začátečníky ke správě streamů modulů balíčků v CentOS/RHEL 8

  1. Obnovte heslo root v CentOS 7 / RHEL 7

  2. Průvodce pro začátečníky k automatickému připojení souborových systémů v CentOS / RHEL

  3. Průvodce pro začátečníky NFS v CentOS / RHEL