GNU/Linux >> Znalost Linux >  >> Linux

Používejte firewalld na RedHat Based Distribution

Firewalld nahradil iptables jako firewall pro distribuce založené na RHEL. Syntaxe, kterou firewalld používá, je uživatelsky přívětivější. Tento příspěvek vám ukazuje, jak zajistit, aby firewalld běžel a spustil se při spuštění serveru. Ukazuje také, jak vytvořit trvalá a flexibilní pravidla brány firewall.

Poznámka :Red Hat®, CentOS®, Alma Linux®, Rocky Linux® také používá firewalld, takže všechny příkazy v tomto článku fungují také v obrázcích založených na RHEL, které má Rackspace k dispozici.

Základní koncepce brány firewall

Firewalld používá zóny ke správě skupin pravidel. Zóny jsou připojeny k síťovým rozhraním a určují, který provoz je v konkrétní síti povolen a který je zakázán.

Tato funkce může být užitečná, pokud chcete vytvořit velmi přísný firewall na vašem veřejném rozhraní a uvolněnější firewall na vašem rozhraní CloudNetwork. Užitečné je seznámit se se zónami, které jsou předdefinovány firewallem. Firewalld má následující předdefinované zóny, v pořadí od nejméně důvěryhodné po nejdůvěryhodnější:

  • drop :Tato zóna umožňuje pouze odchozí připojení. Přeruší příchozí spojení bez odpovědi.
  • block :I když je to podobné jako drop , tato zóna odmítá příchozí požadavky s icmp-host-prohibited nebo icmp6-adm-prohibited zpráva.
  • public :Tuto zónu použijte pro veřejné sítě, nebo když nedůvěřujete žádnému jinému počítači v síti. Tato zóna přijímá příchozí připojení případ od případu.
  • external :Tuto zónu použijte v externích sítích, kde firewall funguje jako brána. Tato zóna je nakonfigurována pro maskování překladu síťových adres (NAT), takže vaše interní síť je soukromá, ale dostupná.
  • internal :Tuto zónu použijte pro vnitřní část brány, kde jsou ostatní počítače přiměřeně důvěryhodné.
  • dmz :Tuto zónu použijte pro izolované počítače, které se nacházejí v demilitarizované zóně (DMZ). Tato zóna umožňuje pouze Secure Shell (SSH) a Internet Control Message Protocol (ICMP).
  • work :Tuto zónu použijte pro pracovní počítače.
  • home :Tuto zónu použijte pro domácí prostředí.
  • trusted :Tuto zónu použijte, když důvěřujete všem počítačům v síti.

Chcete-li použít bránu firewall, vytvořte pravidla a upravte vlastnosti svých zón a poté přiřaďte síťová rozhraní k zónám, které jsou pro vaši síť nejvhodnější.

Spusťte bránu firewall a povolte ji při spuštění

Ve výchozím nastavení by měla být povolena brána firewall, restartovat server a poté spustit atboot.

Zda firewall běží, můžete snadno zkontrolovat pomocí --state flag, jak ukazuje následující příklad:

    [user@server ~]$ sudo firewall-cmd --state
    Finding out about your zones

Pokud firewalld neběží, můžete jej povolit a spustit spuštěním následujících příkazů:

    [user@server ~]$ sudo systemctl enable firewalld
    [user@server ~]$ sudo systemctl start firewalld

Spuštěním následujícího příkazu můžete zjistit, která zóna je aktuálně výchozí zónou:

    [user@server ~]$ sudo firewall-cmd --get-default-zone

Spuštěním následujícího příkazu můžete zjistit, která síťová rozhraní jsou přiřazena ke kterým zónám:

    [user@server ~]$ sudo firewall-cmd --get-active-zones

Poznámka :Výchozí nastavení přiřadí všechna síťová rozhraní veřejné zóně.

Pravidla, která jsou spojena s veřejnou zónou, můžete také najít spuštěním následujícího příkazu:

    [user@server ~]$ sudo firewall-cmd --list-all --zone=public

Výstup by měl vypadat jako následující příklad:

    public (default, active)

    interfaces: eth0 eth1

    sources:

    services: dhcpv6-client http https ssh

    ports: 1025/tcp

    masquerade: no

    forward-ports:

    icmp-blocks:

    rich rules:

Výstup ukazuje, že veřejná zóna je výchozí a má síťová rozhraní eth0 a eth1. Dynamic Host Configuration Protocol (DHCP) (dhcpv6-client ), SSH, Hypertext Transfer Protocol (HTTP) a Secure HTTP (HTTPS) provoz je povolen, stejně jako provoz Transmission Control Protocol (TCP) na portu 1025 .

Chcete-li získat seznam dostupných zón, spusťte následující příkaz:

    [user@server ~]$ sudo firewall-cmd --get-zones

Nastavte své zóny

Rozhraní mezi zónami můžete během relace přesouvat pomocí --change-interface= argument a --zone argument. Pokud se firewall restartuje, rozhraní se vrátí do výchozí zóny.

    [user@server ~]$ sudo firewall-cmd --zone=internal --change-interface=eth1

Chcete-li definovat trvalou zónu pro rozhraní, otevřete konfigurační soubor pro rozhraní a přidejte následující řádky:

    ...
    ONBOOT=yes
    ZOME=internal

Uložte a zavřete soubor, poté spusťte následující příkazy, abyste restartovali síť a firewall a vynutili, aby se změny projevily:

    [user@server ~]$ sudo systemctl restart network
    [user@server ~]$ sudo systemctl restart firewalld

Nastavte pravidla

Firewalld přichází s předdefinovanými službami, které umožňují přidat pouze službu, nikoli číslo portu a typ protokolu. Například vám umožňují povolit http spíše než tcp port 80 .

Seznam těchto služeb můžete získat pomocí následujícího příkazu:

    [user@server ~]$ sudo firewall-cmd --get-services

Poté pomocí následujícího příkladu příkazu přidejte službu:

    [user@server ~]$ sudo firewall-cmd --add-service=http

Konfigurace se projeví okamžitě, ale nepřežije restartování. Chcete-li povolit restartování těchto typů konfigurací služeb při restartování serveru, musíte přidat --permanent argument. Doporučujeme spouštět oba tyto příkazy postupně, aby se konfigurace projevila okamžitě a služby se také restartovaly, jak ukazuje následující příklad:

    [user@server ~]$ sudo firewall-cmd --add-service=http
    firewall-cmd --permanent --add-service=http

Další podrobnosti o předdefinovaných pravidlech firewallu můžete získat tak, že přejdete na /usr/lib/firewalld/services/ adresář a čtení souborů.

Nastavte rozšířená pravidla

Rozsáhlá pravidla jak definujete podmínky ve firewalld. Nejběžnějším případem použití rozšířených pravidel je povolení přístupu z konkrétní IP adresy nebo rozsahu IP adres. Následující příkazy umožňují přístup k portu TCP 80 z libovolného IP v síti 192.168.0.0 a učiní pravidlo trvalým:

    [user@server ~]$ sudo firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept'
    [user@server ~]$ sudo firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept' --permanent

Příklady bohatých pravidel naleznete na Fedora®Wiki.

Definujte služby

Můžete si vytvořit svou vlastní službu a odkazovat se na ni při vytváření pravidel umístěním afile do /usr/lib/firewalld/services/ adresář. Nejjednodušší způsob, jak provést tento úkol, zkopírováním existujícího souboru .xml v tomto adresáři a poté změňte podrobnosti.

Následující ukázkový příkaz zkopíruje existující soubor do nového souboru:

    [user@server ~]$ sudo cp /usr/lib/firewalld/services/http.xml /usr/lib/firewalld/services/myservice.xml

Následující příkaz otevře nový soubor pro úpravy:

    [user@server ~]$ sudo vim /usr/lib/firewalld/services/myserver.xml

Soubor by měl vypadat jako v následujícím příkladu:

    <!--?xml version="1.0" encoding="utf-8"?-->
    <service>
      <short>My Custom Service</short>
      <description>A brief description of the service. This rule allows port 1134 on TCP for my application.</description>
      <port protocol="tcp" port="1134"></port>
    </service>

Chcete-li použít změny, použijte následující příkazy s názvem souboru minus .xml přípona souboru:

    [user@server ~]$ sudo firewall-cmd --add-service=myservice
    [user@server ~]$ sudo firewall-cmd --permanent --add-service=myservice

Pomocí karty Zpětná vazba můžete přidat komentáře nebo položit otázky. Můžete s námi také zahájit konverzaci.


Linux
  1. Co je FirewallD a jak jej implementovat v systému Linux

  2. Základní správa firewallu

  3. Nainstalujte sadu LAMP na distribuce založené na RHEL 7

  1. Jak povolit a používat firewall na CentOS 7

  2. Redhat Disable Firewall – spuštění, zastavení, povolení, zakázání

  3. Průvodce pro začátečníky firewallem v Linuxu

  1. Nejlepší linuxové distribuce založené na KDE

  2. Jak nainstalovat a používat Snap v různých distribucích Linuxu

  3. Jak používat DNS Zone Manager ve WHM?