GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So richten Sie eine Firewall mit Firewalld unter CentOS 8 ein

Eine Firewall ist eine Möglichkeit, Ihr System vor unerwünschtem Datenverkehr von externen Netzwerken zu schützen. Kostenlose und kommerzielle Firewall-Tools sind reichlich vorhanden; Einige von ihnen beinhalten Iptables, UFW, Juniper, pfSense, SonicWall und mehr.

Unter ihnen ist FirewallD ein kostenloses Firewall-Softwaretool für das Betriebssystem CentOS/RHEL/Fedora. Es ist ein Frontend-Controller für iptables und bietet eine Befehlszeilenschnittstelle zum Implementieren von Firewall-Regeln. Im Vergleich zu Iptables verwendet FirewallD Zonen und Dienste anstelle von Ketten und Regeln und verwaltet Regelsätze dynamisch. FirewallD stellt das Befehlszeilentool firewall-cmd bereit, um die Laufzeit und die permanente Konfiguration zu verwalten.

Funktionen

  • Unterstützung des IPv4- und IPv6-Protokolls
  • Vordefinierte Zonenliste
  • CLI und grafische Konfiguration
  • Vollständige D-Bus-API
  • Ethernet-Bridging
  • Einfaches Protokoll abgelehnter Pakete
  • Anwendungs-Whitelisting
  • Puppet-Integration

In diesem Tutorial lernen wir, wie man eine Firewall mit FirewallD unter CentOS 8 einrichtet.

Voraussetzungen

  • Ein frischer CentOS 8 VPS auf der Atlantic.Net Cloud Platform
  • Ein auf Ihrem Server konfiguriertes Root-Passwort

Schritt 1:Erstellen Sie einen Atlantic.Net Cloud-Server

Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie CentOS 8 als Betriebssystem mit mindestens 1 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.

Sobald Sie sich bei Ihrem CentOS 8-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.

dnf update -y

Schritt 2:Installieren Sie Firewalld

dnf install firewalld -y

Starten Sie nach der Installation den FirewallD-Dienst und ermöglichen Sie ihm, beim Systemneustart mit dem folgenden Befehl zu starten:

systemctl start firewalld
systemctl enable firewalld

Sie können den Status von FirewallD auch mit dem folgenden Befehl überprüfen:

firewall-cmd --state

Ausgabe:

running

Schritt 3:Grundlegende FirewallD-Nutzung

FirewallD verwaltet eine Reihe von Regeln mithilfe von Zonen. Jede Zone hat ihre eigene Konfiguration zum Akzeptieren oder Ablehnen von Paketen, abhängig von der Vertrauensstufe, die Sie in die Netzwerke haben, mit denen Ihr Computer verbunden ist.

Mit dem folgenden Befehl können Sie alle verfügbaren Zonen auflisten:

firewall-cmd --get-zones

Sie sollten die folgende Liste sehen:

block dmz drop external home internal public trusted work

Um eine Liste aller aktiven Zonen zu erhalten, führen Sie den folgenden Befehl aus:

firewall-cmd --get-active-zones

Sie sollten die folgende Liste sehen:

public
interfaces: eth0 eth1

Sie können den Standardzonensatz für Netzwerkverbindungen mit dem folgenden Befehl auflisten:

firewall-cmd --get-default-zone

Ausgabe:

public

Um die Standardzone mit dem folgenden Befehl von „öffentlich“ zu „home“ zu ändern:

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

Um weitere Informationen über eine beliebige Zone anzuzeigen, verwenden Sie den folgenden Befehl:

firewall-cmd --info-zone public

Sie sollten die folgende Ausgabe erhalten:

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:

Sie können auch alle verfügbaren Dienste auflisten, indem Sie den folgenden Befehl ausführen:

firewall-cmd --get-services

Sie sollten die folgende Ausgabe erhalten:

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

Schritt 4:Ports mit Firewalld zulassen und verweigern

Firewalld bietet ein Firewall-cmd-Befehlszeilentool zum Hinzufügen und Entfernen von Ports in Ihrem System.

Um beispielsweise die TCP-Ports 80 und 22 in der öffentlichen Zone zuzulassen, führen Sie den folgenden Befehl aus:

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

Als nächstes laden Sie den FirewallD-Daemon neu, um die Konfiguration zu speichern:

firewall-cmd --reload

Listen Sie nun den hinzugefügten Port mit dem folgenden Befehl auf:

firewall-cmd --info-zone public

Sie sollten die folgende Ausgabe sehen:

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:

Sie können den Port auch ganz einfach mit der Option –remove-port.

ablehnen oder aus der Zone entfernen

Um beispielsweise den Port 80 aus der öffentlichen Zone abzulehnen oder zu entfernen, führen Sie den folgenden Befehl aus:

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

Schritt 5:Dienste mit FirewallD zulassen und verweigern

Sie können auch anhand des Dienstnamens zulassen und verweigern, anstatt einen Port mit FirewallD zu verwenden.

Lassen Sie beispielsweise den FTP-Dienst in der öffentlichen Zone zu, indem Sie den folgenden Befehl ausführen:

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

Sie können den FTP-Dienst mit dem folgenden Befehl verweigern oder aus der öffentlichen Zone entfernen:

:

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

Schritt 6:IP-Masquerading mit FirewallD einrichten

IP-Masquerading ist ein Prozess oder eine Methode, die es Ihren Computern in einem Netzwerk mit privaten IP-Adressen ermöglicht, über die Adresse Ihres Servers mit dem Internet zu kommunizieren. Dies ist sehr nützlich, wenn Sie möchten, dass ein anderer Computer mit dem Internet kommuniziert, ohne zusätzliche IPs von Ihrem ISP zu kaufen.

Prüfen Sie vor dem Einrichten von IP-Masquerading mit folgendem Befehl, ob Masquerading aktiv ist oder nicht:

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

Sie sollten sehen, dass IP-Masquerading in der öffentlichen Zone wie unten gezeigt deaktiviert ist:

no

Stellen Sie nun die IP-Maskierung mit dem folgenden Befehl ein:

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

Sie können das IP-Masquerading auch mit der Option –remove-masquerade:

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

Schlussfolgerung

In der obigen Anleitung haben Sie gelernt, wie Sie FirewallD verwenden, um unerwünschten Datenverkehr in Ihrem System zu blockieren. Sie sollten nun in der Lage sein, alle unnötigen Verbindungen einzuschränken und Ihren Server vor Angreifern zu schützen. Probieren Sie FirewallD auf einem Atlantic.Net-VPS aus!


Linux
  1. Konfigurieren Sie die Firewall mit FirewallD unter CentOS 7

  2. So deaktivieren Sie die Firewall unter CentOS 8 Linux

  3. So konfigurieren Sie die Firewall unter CentOS 7

  4. So richten Sie eine Firewall mit iptables unter Ubuntu und CentOS ein

  5. So richten Sie eine Firewall mit UFW unter Ubuntu 16.04 ein

So richten Sie eine Firewall mit FirewallD unter CentOS 7 ein

So richten Sie eine Firewall mit UFW unter Debian 10 ein

So richten Sie eine Firewall mit UFW unter Debian 9 ein

So richten Sie eine Firewall mit GUFW unter Linux ein

So installieren Sie Kubernetes mit Minikube unter CentOS 8

So installieren Sie Nginx mit dem RTMP-Modul unter CentOS 8