GNU/Linux >> Znalost Linux >  >> Linux

Jak nastavit Firewall s Firewallem na CentOS 8

Firewall je způsob, jak chránit váš systém před nežádoucím provozem z vnějších sítí. Bezplatných a komerčních firewallových nástrojů je spousta; některé z nich zahrnují Iptables, UFW, Juniper, pfSense, SonicWall a další.

Mezi nimi FirewallD je bezplatný softwarový nástroj brány firewall pro operační systém CentOS/RHEL/Fedora. Je to frontendový řadič pro iptables a poskytuje rozhraní příkazového řádku pro implementaci pravidel brány firewall. Ve srovnání s Iptables používá FirewallD zóny a služby místo řetězců a pravidel a dynamicky spravuje sady pravidel. FirewallD poskytuje nástroj příkazového řádku firewall-cmd pro správu běhového prostředí a trvalé konfigurace.

Funkce

  • Podpora protokolů IPv4 a IPv6
  • Předdefinovaný seznam zón
  • CLI a grafická konfigurace
  • Kompletní rozhraní D-Bus API
  • Ethernetové přemostění
  • Jednoduchý protokol odmítnutých paketů
  • Přidání na seznam povolených aplikací
  • Integrace loutek

V tomto tutoriálu se naučíme, jak nastavit firewall s FirewallD na CentOS 8.

Předpoklady

  • Nový CentOS 8 VPS na cloudové platformě Atlantic.Net
  • Heslo uživatele root nakonfigurované na vašem serveru

Krok 1:Vytvořte cloudový server Atlantic.Net

Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte CentOS 8 s alespoň 1 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.

Jakmile se přihlásíte k serveru CentOS 8, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.

dnf update -y

Krok 2:Nainstalujte Firewalld

dnf install firewalld -y

Po instalaci spusťte službu FirewallD a povolte její spuštění při restartu systému pomocí následujícího příkazu:

systemctl start firewalld
systemctl enable firewalld

Stav brány FirewallD můžete také ověřit pomocí následujícího příkazu:

firewall-cmd --state

Výstup:

running

Krok 3:Základní použití FirewallD

FirewallD spravuje sadu pravidel pomocí zón. Každá zóna má svou vlastní konfiguraci pro přijímání nebo odmítání paketů v závislosti na úrovni důvěry v sítě, ke kterým je váš počítač připojen.

Všechny dostupné zóny můžete vypsat pomocí následujícího příkazu:

firewall-cmd --get-zones

Měli byste vidět následující seznam:

block dmz drop external home internal public trusted work

Chcete-li získat seznam všech aktivních zón, spusťte následující příkaz:

firewall-cmd --get-active-zones

Měli byste vidět následující seznam:

public
interfaces: eth0 eth1

Výchozí sadu zón pro síťová připojení můžete vypsat pomocí následujícího příkazu:

firewall-cmd --get-default-zone

Výstup:

public

Chcete-li změnit výchozí zónu z veřejné na domácí, použijte následující příkaz:

firewall-cmd --set-default-zone=home --permanent

Chcete-li zobrazit další informace o jakékoli zóně, použijte následující příkaz:

firewall-cmd --info-zone public

Měli byste získat následující výstup:

public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: cockpit dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

Můžete také zobrazit seznam všech dostupných služeb spuštěním následujícího příkazu:

firewall-cmd --get-services

Měli byste získat následující výstup:

RH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bb bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-mon cfengine cockpit condor-collector ctdb dhcp dhcpv6 dhcpv6-client distcc dns dns-over-tls docker-registry docker-swarm dropbox-lansync elasticsearch etcd-client etcd-server finger freeipa-4 freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master git grafana gre high-availability http https imap imaps ipp ipp-client ipsec irc ircs iscsi-target isns jenkins kadmin kdeconnect kerberos kibana klogin kpasswd kprop kshell kube-apiserver ldap ldaps libvirt libvirt-tls lightning-network llmnr managesieve matrix mdns memcache minidlna mongodb mosh mountd mqtt mqtt-tls ms-wbt mssql murmur mysql nfs nfs3 nmea-0183 nrpe ntp nut openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole plex pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy prometheus proxy-dhcp ptp pulseaudio puppetmaster quassel radius rdp redis redis-sentinel rpc-bind rsh rsyncd rtsp salt-master samba samba-client samba-dc sane sip sips slp smtp smtp-submission smtps snmp snmptrap spideroak-lansync spotify-sync squid ssdp ssh steam-streaming svdrp svn syncthing syncthing-gui synergy syslog syslog-tls telnet tentacle tftp tftp-client tile38 tinc tor-socks transmission-client upnp-client vdsm vnc-server wbem-http wbem-https wsman wsmans xdmcp xmpp-bosh xmpp-client xmpp-local xmpp-server zabbix-agent zabbix-server

Krok 4:Povolení a zakázání portů pomocí brány firewall

Firewalld poskytuje nástroj příkazového řádku firewall-cmd pro přidávání a odebírání portů ve vašem systému.

Chcete-li například povolit porty TCP 80 a 22 ve veřejné zóně, spusťte následující příkaz:

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

Poté znovu načtěte démona FirewallD a uložte konfiguraci:

firewall-cmd --reload

Nyní vypište přidaný port pomocí následujícího příkazu:

firewall-cmd --info-zone public

Měli byste vidět následující výstup:

public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: cockpit dhcpv6-client ssh
ports: 80/tcp 22/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

Port můžete také snadno zakázat nebo odebrat ze zóny pomocí volby –remove-port.

Chcete-li například zakázat nebo odebrat port 80 z veřejné zóny, spusťte následující příkaz:

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

Krok 5:Povolení a zakázání služeb pomocí FirewallD

Místo použití portu s FirewallD můžete také povolit a zakázat podle názvu služby.

Například povolte službu FTP ve veřejné zóně spuštěním následujícího příkazu:

firewall-cmd --zone=public --permanent --add-service=ftp
firewall-cmd --reload

Službu FTP můžete zakázat nebo odebrat z veřejné zóny pomocí následujícího příkazu:

:

firewall-cmd --zone=public --permanent --remove-service=ftp
firewall-cmd --reload

Krok 6:Nastavení maskování IP pomocí FirewallD

Masquerading IP je proces nebo metoda, která umožňuje vašim počítačům v síti se soukromými adresami IP komunikovat s internetem pomocí adresy vašeho serveru. Je to velmi užitečné, když chcete, aby jiný počítač komunikoval s Internetem, aniž byste si kupovali další IP adresy od vašeho ISP.

Před nastavením maskování IP zkontrolujte, zda je maskování aktivní nebo ne, pomocí následujícího příkazu:

firewall-cmd --zone=public --query-masquerade

Měli byste vidět, že maskování IP je ve veřejné zóně zakázáno, jak je znázorněno níže:

no

Nyní nastavte maskování IP pomocí následujícího příkazu:

firewall-cmd --zone=public --add-masquerade
firewall-cmd --reload

Maskování IP můžete také zakázat pomocí volby –remove-masquerade:

firewall-cmd --zone=public --remove-masquerade
firewall-cmd --reload

Závěr

Ve výše uvedené příručce jste se naučili používat FirewallD k blokování nežádoucího provozu ve vašem systému. Nyní byste měli být schopni omezit všechna nepotřebná připojení a chránit váš server před útočníky. Vyzkoušejte FirewallD na Atlantic.Net VPS!


Linux
  1. Jak deaktivovat firewall na CentOS 8 Linux

  2. Jak nakonfigurovat bránu firewall na CentOS 7

  3. Jak nastavit bránu firewall s iptables na Ubuntu a CentOS

  1. Nakonfigurujte Firewall s FirewallD na CentOS 7

  2. Jak nastavit bránu firewall s UFW na Ubuntu 16.04

  3. Jak nastavit WireGuard VPN na CentOS 8

  1. Jak nastavit bránu firewall s UFW na Ubuntu 18.04

  2. Jak nastavit Firewall pomocí FirewallD na CentOS 8

  3. CentOS / RHEL 7 :Jak otevřít port ve firewallu pomocí firewall-cmd?