Firewalld je nástroj pro správu brány firewall, který se používá k povolení nebo zakázání připojení k systému Linux. Poskytuje sadu pravidel pro řízení příchozího provozu. Firewalld funguje jako frontend pro linuxové jádro Netfilter.
Trvalá konfigurace se načte ze souborů XML v `/usr/lib/firewalld` nebo `/etc/firewalld`
V tomto článku se chystáme nainstalovat a používat firewall. Také vám ukážu, jak používat rozšířená pravidla.
Nainstalujte firewall v CentOS / RHEL
Firewalld je dodáván se základní instalací Redhat nebo Centos. Pokud není, můžete jej nainstalovat následujícími způsoby.
Na RHEL 7.X nebo centos 7.X nainstalujte pomocí,
$ sudo yum install firewalld -y
Na RHEL 7.X nebo centos 8.X nainstalujte pomocí,
$ sudo dnf install firewalld -y
Chcete-li službu spustit,
$ sudo systemctl start firewalld
Chcete-li povolit službu brány firewall,
$ sudo systemctl enable firewalld
Zkontrolujte stav brány firewall
$ systemctl status firewalld
Firewalld přichází s různými předdefinovanými zónami známými také jako úroveň důvěry. Zóny jsou v podstatě spravované skupiny, které mají sadu pravidel. Pravidla však nejsou předem daná. Můžete například nastavit „veřejnou“ zónu, která obsahuje veřejné hostitelské porty, zatímco „domácí“ zóna umožňuje připojení ssh. Chcete-li vypsat zóny ve firewallu, použijte následující příkaz,
$ sudo firewall-cmd --get-zones
Pro zobrazení aktivní zóny mezi zónami použijte,
$ sudo firewall-cmd --get-active-zone
Nyní přidejte několik portů, které umožní provoz do našeho systému. Chcete-li přidat port tcp, musíte zadat následující. Nezapomeňte přidat možnost –permanent, jinak vaše pravidlo nebude trvalé při opětovném načtení / restartu firewallu.
$ sudo firewall-cmd --add-port=443/tcp --permanent
Podobně můžete také povolit port UDP,
$ sudo firewall-cmd --add-port=161/udp --permanent
Můžete také povolit služby jako DNS, HTTP. Povolí výchozí port služby. Například,
$ sudo firewall-cmd --add-service=http --permanent
Poté, co přidáte port / Znovu načtěte službu brány firewall, aby se projevila
$ sudo firewall-cmd --reload
Ověřte pomocí,
$ sudo firewall-cmd --list-all
Pamatujte:Když nepřidáte žádnou zónu, pravidlo bude ve výchozím nastavení přidáno do „veřejné“ zóny.
K odstranění portu z firewallu můžete použít,
$ sudo firewall-cmd --remove-port=443/tcp --permanent
Chcete-li odebrat službu z brány firewall, můžete použít,
$ sudo firewall-cmd --remove-service=http --permanent
Po přidání nebo odebrání portu/služeb nezapomeňte znovu načíst bránu firewall.
Rozsáhlá pravidla
Bohatá pravidla poskytují podrobnější možnosti pravidel brány firewall. Používají se ke konfiguraci přesměrování portů, omezení rychlosti, protokolování atd.
Například Chcete-li přijmout připojení ssh z jediné IP adresy, řekněme 192.168.10.25, měli byste přidat rozšířené pravidlo zadáním verze IP, zdrojové adresy, portu, protokolu.
$ sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.10.25/32" port protocol="tcp" port="22" accept'
Podobným způsobem můžete vypustit všechny zdroje IP celé sítě, abyste nepovolili port 22, jak je uvedeno níže,
$ sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.15.0/24" port protocol="tcp" port="22" drop'
Chcete-li povolit nová připojení IPv4 z adresy 192.168.0.0/24 pro službu tftp a protokol 1 za minutu pomocí syslog, můžete to udělat
sudo firewall-cmd --permanent --zone=public --add-rich-rule=’rule family="ipv4" source address="192.168.0.0/24" service name="tftp" log prefix="tftp" level="info" limit value="1/m" accept’
Odinstalujte firewalld
Pokud chcete odstranit démona brány firewall z CentOS / RHEL, zastavte běžící službu,
$ sudo systemctl stop firewalld
Na RHEL 7.X nebo Centos 7.X
$ sudo yum remove firewalld -y
Na RHEL 8.X nebo Centos 8.X
$ sudo dnf remove firewalld -y
Závěr
Doufáme, že vám tento článek pomůže zvýšit zabezpečení vašeho systému Linux. Všimněte si, že hostitelský firewall, jako je firewalld, je doporučen v souladu s předpisy jako PCI DSS.
Děkuji za přečtení.