Jak nainstalovat a konfigurovat Firewalld na CentOS a Ubuntu

Zabezpečení je jednou z akcí, které musí být vždy přítomny nejen v organizacích, ale také na osobní úrovni, když pracujeme s operačním systémem, a to znamená, že ačkoli existují různé nástroje pro zvýšení zabezpečení a soukromí při používání systému, samotný systém obsahuje další funkce, například bránu firewall.

Základní funkcí brány firewall je vytvářet a spravovat příchozí a odchozí pravidla za účelem ochrany celého procesu připojení k síti. Podezřelým nebo nespolehlivým balíčkům se tak zabrání ve vstupu do našeho počítače a způsobí jakýkoli typ poškození, jako je vložení malwaru nebo únos informací.

Když pracujeme se systémy Linux, jedním z nejbezpečnějších, máme nástroje s otevřeným zdrojovým kódem, které nám pomáhají zajistit mnohem komplexnější proces ochrany, a jedním z těchto nástrojů je Firewalld. Solvetic vysvětlí, co je Firewalld a jak jej můžeme nainstalovat a používat ve dvou v současnosti nejpoužívanějších distribucích, jako jsou CentOS a Ubuntu.

PoznámkaProces konfigurace je pro oba systémy identický

Co je FirewalldFirewalld (firewall daemon) je nástroj, jehož účelem je poskytovat dynamicky spravovaný firewall s podporou síťových zón, ve kterých je definována úroveň důvěryhodnosti použitých síťových připojení nebo rozhraní, Firewalld je kompatibilní s adresami IPv4, Nastavení brány firewall IPv6, ethernetové mosty a oblasti adres IP.

Firewalld nám nabízí rozhraní pro služby nebo aplikace za účelem přímého přidání pravidel brány firewall, čímž usnadňuje kontrolní úkoly. Jednou z hlavních výhod používání Firewalld je, že všechny změny, které je třeba provést, lze provést v reálném čase v prostředí provádění, aniž byste museli restartovat službu nebo Daemon, jak se to děje u mnoha nástrojů.

Firewalld integruje rozhraní D-Bus, které je vhodné pro správu služeb, aplikací a správu konfigurace brány firewall.Toto rozhraní lze integrovat s konfiguračními nástroji, jako jsou firewall-cmd, firewall-config a firewall-applet.

Funkce FirewalldNěkteré z funkcí, které najdeme při používání Firewalld, jsou:

  • Podpora pro IPv4, IPv6, přemosťování a ipset.
  • Podpora IPv4 a IPv6 NAT.
  • Brána firewall nebo zóny brány firewall.
  • Plné rozhraní D-Bus API.
  • Jednoduchá služba, port, protokol, zdrojový port, maskování, přesměrování portů, filtr icmp, bohaté pravidlo, rozhraní a ovládání zdrojové adresy v použitých zónách.
  • Přímé rozhraní pro správu.
  • Funkce blokování, která vytváří bílý seznam aplikací, které mohou upravovat bránu firewall.
  • Automatické načítání modulů jádra Linuxu.
  • Integrace s loutkou.
  • Časovaná pravidla brány firewall v zónách.
  • Jednoduchá registrace zamítnutých paketů.
  • Grafický konfigurační nástroj pomocí gtk3.
  • Applet pomocí Qt4.

DistribuceZákladní distribuce, ve kterých lze Firewalld implementovat, jsou:

  • RHEL 7, CentOS 7
  • Fedora 18 a vyšší

AplikaceMezi aplikace a knihovny, které podporují firewall jako nástroj pro správu brány firewall, patří:

  • NetworkManager
  • libvirt
  • přístavní dělník
  • fail2ban

Je důležité, že než se podrobně seznámíme s tím, jak nainstalovat a používat Firewalld, víme o něm trochu více, Firewalld se skládá ze tří vrstev, které jsou:

  • Hlavní vrstva (základní vrstva), která je zodpovědná za správu konfigurace a služeb, jako jsou iptables, ip6tables, ebtables, ipset a zavaděč modulů.
  • Rozhraní D-Bus: což je hlavní prostředek pro změnu a vytváření nastavení brány firewall.
  • Backendy, které umožňují interakci s netfilterem (modul nativního jádra používaný pro firewall) a některé jsou počítány jako iptables, ip6tables, ebtables, ipset, nft, linnftables atd.

Rozhraní firewalld D-Bus je nejdůležitějším způsobem vytváření a úpravy nastavení brány firewall. Toto rozhraní používají všechny online nástroje zabudované do firewallu, jako je firewall-cmd, firewall-config a firewall-applet, řádek firewall-offline-cmd nemluví přímo do firewalld, ale upravuje a vytváří konfigurační soubory firewalld přímo přes jádro firewalld s ovladači IO.

Globální konfigurační soubor pro firewall je umístěn na /etc/firewalld/firewalld.conf a funkce brány firewall jsou konfigurovány ve formátu XML.

Firewalld využívá zóny, které definují úroveň důvěry, kterou bude používat síťové připojení, rozhraní nebo odkaz na zdrojovou adresu, a stejnou zónu lze použít pro mnoho síťových připojení, rozhraní a zdrojů.

Zóny dostupné ve Firewalld jsou:

PoklesToto je zóna s nejnižší úrovní spolehlivosti, protože všechny příchozí pakety jsou automaticky odmítány a povolují pouze odchozí pakety.
BlokKdyž používáte tuto zónu, úroveň důvěryhodnosti je podobná Drop, ale liší se pouze v tom, že příchozí pakety jsou odmítnuty pomocí icmp-hostitel-zakázán pro IPv4 a icmp6-adm-zakázán pro zprávy IPv6.
VeřejnostV této zóně úroveň důvěryhodnosti odkazuje na nedůvěryhodné veřejné sítě, takže přijímá pouze důvěryhodná připojení.
ExterníJe to úroveň definovaná, když používáme bránu firewall jako bránu a její maskování je povoleno směrovači.
DMZJedná se o zónu, kde se úroveň důvěryhodnosti vztahuje na zařízení umístěná v zóně DMZ (demilitarizované), což znamená, že je přístup do veřejné sítě omezen na interní síť. Přijímá pouze přijatá připojení.
PráceJak naznačuje jeho název, tato úroveň se používá v pracovních oblastech, které k ní umožňují přístup síťovým počítačům.
DomovPomocí této úrovně mluvíme o domácím prostředí a většina počítačů v síti je přijata
VnitřníTento typ úrovně platí pro interní sítě, takže budou přijaty všechny počítače v místní síti.
DůvěryhodnéTo znamená Trust, což znamená, že je to nejvyšší úroveň a důvěřuje všem příchozím spojením.

Ke konfiguraci nebo přidání zón můžeme použít jedno z následujících dostupných konfiguračních rozhraní brány firewall:

  • Grafický konfigurační nástroj firewall-config.
  • Firewall-cmd nástroj příkazového řádku.
  • Programové rozhraní D-BUS.
  • Vytvořte, zkopírujte nebo upravte soubor zóny v kterémkoli z konfiguračních adresářů, jako jsou: / etc / firewalld / zóny pro vlastní a uživatelem vytvořené konfigurační soubory nebo / usr / lib / firewalld / zóny pro výchozí a záložní konfigurace.

1. Jak nainstalovat a spravovat Firewalld v Linuxu

Krok 1
V případě použití CentOS 7 je balíček firewalld předinstalován a lze jej ověřit následujícím příkazem:

 rpm -qa firewalld
V případě Ubuntu jej musíme nainstalovat pomocí následujícího příkazu:
 sudo apt install firewalld

ZVĚTŠIT

Zadáme písmeno S, abychom potvrdili stažení a instalaci Firewalld.

Krok 2
Firewalld je běžná služba systemd, kterou lze spravovat pomocí příkazu systemctl následujícím způsobem:

 sudo systemctl start firewalld (umožňuje spustit službu) sudo systemctl enable firewalld (povolí službu při spuštění systému) sudo systemctl status firewalld (umožňuje zobrazit stav služby)

ZVĚTŠIT

Krok 3
Po spuštění služby firewalld můžeme ověřit, zda je démon v Linuxu spuštěn nebo ne, k tomu musíme použít nástroj firewall-cmd, provedeme následující:

 sudo firewall -cmd -state

ZVĚTŠIT

2. Jak spravovat zóny ve Firewalld CentOS a Ubuntu

Krok 1
Abychom získali seznam všech dostupných služeb a zón brány firewall, musíme spustit následující příkazy:
Zobrazení zón:

 sudo firewall-cmd --get-zones

ZVĚTŠIT

Krok 2
Chcete -li zobrazit služby, které provedeme:

 sudo firewall-cmd --get-services

ZVĚTŠIT

Krok 3
Výchozí zóna je zóna implementovaná pro každou funkci brány firewall, která není propojena s jinou zónou, je možné získat výchozí zónu nastavenou pro síťová připojení a rozhraní provedením následujícího:

 sudo firewall-cmd --get-default-zone

ZVĚTŠIT

Krok 4
Chceme -li vytvořit další výchozí zónu, musíme použít následující příkaz, je třeba poznamenat, že pokud přidáme možnost --permanent, konfigurace se vytvoří trvale, můžeme spustit libovolnou z následujících možností:

 sudo firewall-cmd --set-default-zone = externí
nebo
 sudo firewall-cmd --set-default-zone = externí -permanent
Krok 4
Poté provedeme změny provedením:
 sudo firewall -cmd -reload

ZVĚTŠIT

Krok 5
Pokud je cílem například přidat rozhraní do zóny, můžeme provést následující:

 sudo firewall-cmd --zone = home --add-interface = enp0s3
V tomto případě jsme do domácí zóny přidali rozhraní enp0s3 (LAN).

ZVĚTŠIT

Krok 6
Je třeba poznamenat, že rozhraní lze přidat pouze do jedné zóny, místo toho může být přesunuto do jiné zóny, k tomu použijeme přepínač --change-interface nebo odstraníme z předchozí zóny přepínačem -remove-interface a poté jej přidejte do nové zóny, například:

 sudo firewall-cmd --zone = public --add-interface = enp0s3 sudo firewall-cmd --zone = public --change-interface = enp0s3
S Firewalld je možné používat mnoho zón současně, pokud chceme získat seznam všech aktivních zón s povolenými funkcemi, jako jsou rozhraní, služby, porty, protokoly, provedeme následující:
 sudo firewall-cmd --get-active-zones

ZVĚTŠIT

Krok 7
K získání dalších informací o zónách, například o tom, co bylo povoleno nebo odstraněno, můžeme použít jeden z těchto příkazů:

 sudo firewall-cmd --zone = home --list-all
NEBO
 sudo firewall-cmd-veřejná zóna

ZVĚTŠIT

Krok 8
Další užitečnou možností použití s ​​Firewalld je --get-target, to ukazuje cíl trvalé zóny, cíle mohou být výchozí, ACCEPT, DROP, REJECT, pro kontrolu cíle několika zón můžeme použít jeden z následujících příkazů :

 sudo firewall-cmd --permanent --zone = public --get-target sudo firewall-cmd --permanent --zone = block --get-target sudo firewall-cmd --permanent --zone = dmz --get- target sudo firewall-cmd --permanent --zone = external --get-target sudo firewall-cmd --permanent --zone = drop --get-target

3. Jak blokovat nebo otevírat porty ve Firewalld Linux CentOS a Ubuntu


Chcete-li otevřít port prostřednictvím brány firewall, stačí jej přidat do zóny pomocí volby --add-port, pokud zóna není výslovně uvedena, bude povolena ve výchozí zóně.

Krok 1
Chcete -li například přidat porty 80 a 443, které umožňují příchozí webový provoz prostřednictvím protokolů HTTP a HTTPS, provedeme následující:

 sudo firewall-cmd --zone = public --permanent --add-port = 80 / tcp --add-port = 443 / tcp

ZVĚTŠIT

Krok 2
Nyní znovu načteme bránu firewall a ověříme funkce povolené ve veřejné zóně:

 sudo firewall-cmd-znovu načíst sudo firewall-cmd --info-zóna public

ZVĚTŠIT

Krok 3
Pokud chceme zablokovat port ve firewalldu, musíme použít volbu --remove-port, v tomto případě takto:

 sudo firewall-cmd --zone = public --permanent --remove-port = 80 / tcp --remove-port = 443 / tcp

4. Jak blokovat nebo otevírat služby ve Firewalld CentOS a Ubuntu


Pro proces povolení služby ve Firewalldu ji musíme povolit pomocí volby --add-service. Pamatujte, že pokud zónu vynecháme, bude použita výchozí zóna.

Krok 1
Například pro povolení služby http ve veřejné zóně provedeme:

 sudo firewall-cmd --zone = public --permanent --add-service = http sudo firewall-cmd -reload

ZVĚTŠIT

Krok 2
Parametrem -remove -service můžeme odebrat službu z přiřazené zóny:

 sudo firewall-cmd --zone = public --permanent --remove-service = http sudo firewall-cmd -reload

ZVĚTŠIT

5. Jak povolit a zakázat maskování IP pomocí Firewalld Linux


IP masquerading nebo IPMASQ / MASQ) je mechanismus NAT, který umožňuje hostitelům v síti se soukromými IP adresami komunikovat s internetem prostřednictvím veřejné IP adresy přiřazené k serveru Linux pomocí brány IPMASQ.

S tímto maskováním se provoz z neviditelných hostitelů objeví na jiných počítačích na internetu, jako by pocházel přímo ze serveru Linux.

Chcete -li zkontrolovat, zda je maskování aktivní nebo ne, spusťte:

 sudo firewall-cmd --zone = public --query-maškaráda
Potom můžeme přidat zónu takto:
 sudo firewall-cmd --zone = public --add-maškaráda
Chcete -li z tohoto typu funkce odebrat zónu, musíme provést následující:
 sudo firewall-cmd --zone = public --remove-maškaráda

6. Jak povolit a zakázat zprávu IMCP ve Firewalld Linux


Protokol ICMP (Internet Control Message Protocol) je protokol, který byl vyvinut za účelem generování požadavků na informace nebo odpovědí na tyto žádosti o informace nebo za chybových podmínek v celém komunikačním procesu v síti.

Krok 1
Ve Firewalld je možné povolit nebo zakázat zprávy ICMP, ale doporučuje se ověřit všechny kompatibilní typy ICMP, proto provádíme:

 sudo firewall-cmd --get-icmptypes

ZVĚTŠIT

Krok 2
ICMP můžeme přidat nebo zablokovat následovně:

 sudo firewall-cmd --zone = home --add-icmp-block = echo-response sudo firewall-cmd --zone = home --remove-icmp-block = echo-answer

ZVĚTŠIT

Krok 3
Můžeme vidět všechny typy ICMP přidané do zóny pomocí přepínače --list-icmp-blocks:

 sudo firewall-cmd --zone = home --list-icmp-block

7. Jak povolit nebo nepropadat panice v Firewalld Linux CentOS a Ubuntu


Panický režim je speciální režim integrovaný ve Firewalldu, ve kterém jsou eliminovány všechny příchozí a odchozí pakety a aktivní připojení vyprší, jakmile bude aktivováno, tento režim můžeme povolit v nouzových situacích, kdy hrozí ohrožení systému, a tím se vyhneme jakékoli spojení.

Krok 1
Chcete-li zkontrolovat režim paniky, použijeme možnost --query-panic a můžeme ji aktivovat pomocí možnosti sudo firewall-cmd --panic-on:

ZVĚTŠIT

Krok 2
Abychom pochopili, jak tento režim funguje, když je deaktivován, můžeme pingnout na web a přijmeme všechny odeslané požadavky, ale když je aktivován, zobrazí se zpráva indikující dočasné selhání připojení:

ZVĚTŠIT

Krok 3
K deaktivaci tohoto režimu provedeme:

 sudo firewall-cmd --panic-off

8. Jak zablokovat Firewalld na Linux CentOS a Ubuntu

Krok 1
Ve Firewalldu mohou místní aplikace nebo služby měnit konfiguraci brány firewall, pokud jsou spuštěny s oprávněními root, můžeme řídit, které aplikace mohou požadovat změny brány firewall, a přidat ji do seznamu blokování. Tato funkce je ve výchozím nastavení zakázána a můžeme ji povolit nebo zakázat pomocí přepínače --lockdown-on nebo -lockdown-off:

 sudo firewall-cmd --lockdown-on
NEBO
 sudo firewall-cmd --lockdown-off
Krok 2
Bezpečnější metodou je povolit nebo zakázat tuto funkci přímo v edici hlavního konfiguračního souboru, protože někdy firewall-cmd v blokovacím whitelistu neexistuje, proto přistupujeme ke konfiguračnímu souboru:
 sudo nano /etc/firewalld/firewalld.conf

ZVĚTŠIT

Tam vyhledáme řádek Lockdown = no a nastavíme jeho stav na Lockdown = yes, změny uložíme pomocí kláves Ctrl + O a ukončíme editor pomocí Ctrl + X.

Firewalld je kompletní řešení pro přidání různých pravidel a zón do našich distribucí Linuxu a přidání tak do systému lepší obecné možnosti zabezpečení.

wave wave wave wave wave