Brány firewall jsou jednou z nejdůležitějších součástí zabezpečení, když jsme online. Zde se naučíme kroky a příkazy k instalaci, konfiguraci a použití FirewallD na Rocky Linux 8 pomocí CLI nebo GUI.
Mnozí z nás, kteří ještě nejsou Linuxem, již zná funkci firewallu ve Windows, kde je velmi snadné zapnout nebo vypnout porty nebo služby pomocí GUI. Co však Linux jako CentOS, Rocky Linux, RedHat, AlmaLinux a další… Pokud používáte plnou Linuxovou plochu, firewall by zde již byl, ale ve většině případů bez grafického rozhraní. Nicméně Debian, RedHat, Ubuntu a další linuxové systémy poskytují vhodný firewall GUI software přímo z jejich příslušného úložiště pro správu věcí pomocí kliknutí myší.
Ale co když chcete pouze základní instalaci OS bez grafického rozhraní? Protože minimální verze Linuxu by ve výchozím nastavení neměly ani CLI verzi Firewallu. No, to je velmi malý problém, pokud máte aktivní připojení k internetu a díky vestavěnému správci balíčků pod Linuxem, můžeme nainstalovat firewall pomocí jediného příkazu.
Funkce brány FirewallD:
• Kompletní rozhraní D-Bus API
• Podpora protokolů IPv4, IPv6, bridge a ipset
• Podpora IPv4 a IPv6 NAT
• zóny brány firewall
• Předdefinovaný seznam zón, služeb a typů ICMP
• Jednoduchá služba, port, protokol, zdrojový port, maskování, přesměrování portů, filtr ICMP, rozšířené pravidlo, rozhraní a zpracování zdrojových adres v zónách
• Jednoduché definice služeb pro porty, protokoly, zdrojové porty, moduly (pomocníci Netfilter) a zpracování cílových adres
• Bohatý jazyk pro flexibilnější a složitější pravidla v zónách
• Časová pravidla v zónách
• Jednoduché protokolování odmítnutých paketů
• Přímé rozhraní
• Uzamčení:Seznam povolených uživatelů, kteří mohou upravovat firewall.
• Automatické načítání modulů jádra Linux
• Funguje s Puppet
• CLI pro online a offline konfigurace
• Grafický nástroj (pomocí gtk3)
• Applet (pomocí Qt4)
Firewally v CentOS bývaly ovládány pomocí ipTables. To bylo z velké části nahrazeno FirewallD. Ve výchozím nastavení je na Rocky Linux 8 otevřen pouze port 22, jinak je prozatím uzavřen.
Postup instalace a konfigurace brány Firewalld na Rocky Linux 8
Zde uvedený příkaz bude také použitelný pro další systémy založené na Redhat, jako je CentOS, Oracle Linux, Rocky Linux a RedHat.
1. Požadavky
Neexistují žádné zvláštní požadavky, ale ujistěte se, že máte následující věci:
• Rocky Linux 8
• Alespoň uživatel sudo bez oprávnění root
• Připojení k internetu
• Přístup k terminálu
2. Aktualizace DNF
Úplně první věcí po instalaci operačního systému Linux nebo před nastavením nějakého nástroje pomocí správce balíčků je spuštění aktualizace systému. Tím zajistíte, že všechny balíčky jsou v nejnovějším stavu a také obnovíte mezipaměť úložiště.
sudo dnf update
3. Nainstalujte Firewalld na Rocky Linux 8
Abychom získali balíčky pro instalaci FirewallD na Rocky Linux 8 nebo na jakýkoli jiný založený na Redhat, nemusíme hledat žádné úložiště třetích stran. Je již dodáván repo systému baseOS. Jednoduše tedy spusťte daný příkaz a máte hotovo.
sudo dnf install firewalld
4. Spusťte službu FirewallD
Služba Firewalld se nespustí atomicky, musíme to udělat ručně a také povolit, aby se spouštěla při spouštění systému.
sudo systemctl unmask firewalld
sudo systemctl start firewalld
sudo systemctl enable firewald
Zkontrolujte stav:
sudo systemctl status firewalld
4. Zkontrolujte verzi
Po úspěšném dokončení procesu instalace můžeme zkontrolovat verzi brány firewall, abychom se ujistili, že se v našem systému nachází.
sudo firewall-cmd --version
5. Použití FirewallD na Rocky Linux 8
Existuje několik předdefinovaných zón, které můžeme použít pomocí příkazu Firewalld ke konfiguraci různých služeb a portů v systému. Zde jsou tyto:
upustit :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-prohibited pro IPv4 a icmp6-adm-prohibited pro IPv6. Jsou možná pouze síťová připojení iniciovaná v rámci tohoto systému.
veřejné :Pro použití ve veřejných prostorách. Nedůvěřujete ostatním počítačům v sítích, že váš počítač nepoškodí. 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ítích, ž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í.
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í.
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í.
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í spojení.
důvěryhodný :Všechna síťová připojení jsou přijímána.
Syntaxe příkazu pro povolení nebo blokování portů
Doposud jste již byli obeznámeni se zónami programu Firewalld, nyní můžeme snadno používat příkazový terminál k otevírání, zavírání a správě portů nebo služeb v různých zónách.
Povolit port
Například – chcete otevřít port 80 nebo službu HTTP:
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
nebo
sudo firewall-cmd --permanent --zone=public --add-service=http
Stejným způsobem můžeme otevřít porty 22, 443 nebo služby, které ještě nejsou povoleny ve firewallu.
Po otevření portu je důležité znovu načíst službu brány firewall, aby se změny, které jsme provedli, uplatnily.
sudo firewall-cmd --reload
Blokovat/odebrat port
Zatímco k zablokování jakéhokoli otevřeného portu nebo služby musíme použít možnost odebrat, zde je syntaxe.
Chcete-li například zablokovat port 80, příkaz bude:
sudo firewall-cmd --permanent --zone=public --remove-port=80/tcp
nebo pokud znáte službu odpovídající portu:
sudo firewall-cmd --permanent --zone=public --remove-service=hhtp
Poté nezapomeňte znovu načíst firewall:
sudo firewall-cmd --reload
Seznam všech aktivních portů:
Chcete-li vědět, jaké porty jsou aktivní ve firewallu pro připojení, můžeme je vypsat pomocí firewall-cmd
příkaz:
sudo firewall-cmd --list-ports
Vypsat výchozí informace o zóně
Pokud nevíte, která zóna má jaký druh služby nebo jednoduše chcete získat všechny informace související s firewallem v jiné zóně, spusťte:
Chcete-li vypsat všechny porty
sudo firewall-cmd --list-all
Zatímco pouze pro některé konkrétní zóny může uživatel deklarovat totéž v příkazu:
sudo firewall-cmd --list-all --zone=home
Příkazem zjistíte, které služby jsou povoleny
Chcete-li získat jediný seznam služeb povolených ve bráně firewall:
sudo firewall-cmd --list-services
6. Nainstalujte FirewallD GUI na Rocky Linux 8
Ti, kteří používají grafické uživatelské rozhraní Rocky Linux 8 nebo jakékoli jiné založené na RPM, mohou snadno spravovat služby brány firewall pomocí rozhraní GUI, jako je přidávání nebo odebírání portů a služeb.
sudo dnf install firewall-config
Po dokončení instalace přejděte do Spouštěče aplikací a vyhledejte –Firewall . Jakmile se objeví jeho ikona, klikněte a spusťte to samé.
Pomocí GUI můžeme snadno konfigurovat různé služby a porty pomocí pouhých několika kliknutí.
7. Zastavte a deaktivujte bránu firewall
Kdykoli nechcete, aby váš firewall blokoval nebo povoloval jakýkoli port/službu, můžeme jej dočasně zastavit, dokud se systém nespustí.
sudo systemctl stop firewalld
Pokud chcetezastavit a deaktivovat bránu firewall trvale , spustit:
sudo systemctl disable firewalld
sudo systemctl mask firewalld
8. Odinstalovat nebo odebrat
V případě, že FirewallD již na svém systému nechcete, můžeme jej odstranit pomocí správce balíčků DNF pomocí „odstranit “.
sudo dnf remove firewalld
pro GUI, pokud jste nainstalovali:
sudo dnf remove firewall-config
Závěr
Tímto způsobem můžeme nainstalovat a používat FirewallD na Allamlinux a dalších linuxových systémech založených na RPM, abychom do určité míry zabezpečili náš systém před vnějším světem. Více se o tom dozvíte v oficiální dokumentaci FirewallD.