Wir könnten versuchen, mit der Firewall-Definition zu beginnen, die für das Verständnis des „Port-Vokabulars“ notwendig ist. Eine Firewall ist eine Software oder Firmware, die eine Reihe von Regeln darüber durchsetzt, welche Datenpakete in ein Netzwerk eindringen oder es verlassen dürfen. Sie ist verantwortlich für die Verwaltung von Allow- und Deny-Regeln für Ports.
In Anlehnung an das Thema dieses Leitfadens möchten wir Ports in Linux-Distributionen wie Ubuntu oder CentOS öffnen. Beide Distributionen erlauben die Konfiguration mit unterschiedlichen Tools (Firewall-Pakete), aber mit den gleichen Ergebnissen.
Werkzeuge, die wir verwenden werden:
– UFW
– Firewalld
Werfen wir zunächst einen Blick auf das Ubuntu-Szenario:
Diese Distribution enthält standardmäßig den vorinstallierten Dienst UFW (Uncomplicated Firewall). Er vereinfacht die gesamte Konfiguration und ist für jeden benutzerfreundlich.
Überprüfen Sie den Status des Dienstes mit dem Standardbefehl systemctl:
$ sudo systemctl status ufw
Aktivieren Sie UFW mit dem Befehl enable:
$ sudo ufw enable
Syntax zum Öffnen eines bestimmten TCP-Ports:
$ sudo ufw allow (port)/tcp
zum Beispiel:
$ sudo ufw allow 53/tcp
Syntax unterstützt auch Namen, die sich auf bestimmte Ports beziehen:
$ sudo ufw allow https
Um eingehende tcp und udp Pakete auf Port 21 zu erlauben, geben Sie ein:
$ sudo ufw allow 21
Beispiel für eine bestimmte IP-Adresse:
$ sudo ufw allow from 190.34.21.113 to any port
Lassen Sie uns die Konfiguration überprüfen:
$ sudo ufw status verbose
Befehl zeigt eine vorläufige Tabelle mit drei Spalten:
Erklärungen:
– To – beschreibt das jeweilige Protokoll
– Action – sagt uns, ob es erlaubt oder verweigert ist
– From – sagt uns etwas über die Quelle z.g irgendwo oder eine IP-Adresse wie oben dargestellt
Es ist schon Zeit für CentOS:
Firewalld ist ein fortschrittlicheres Tool, das Zonen in seiner Konfiguration verwendet. Sie sind dafür verantwortlich, sich um einen Bereich oder eine „angeschlossene“ Netzwerkschnittstelle zu kümmern.
Firewalld ist ein Frontend-Controller für iptables, der verwendet wird, um dauerhafte Regeln für den Netzwerkverkehr zu implementieren.
Lassen Sie uns einen Blick auf eine Reihe von Befehlen werfen, die mit firewalld arbeiten.
1. Starten Sie unseren Dienst mit dem Befehl stardand systemctl:
$ sudo systemctl start firewalld
Aktivieren Sie ihn:
$ sudo systemctl enable firewalld
Dieser Befehl informiert uns über den Status des Dienstes. Er kann nur zwei Sätze anzeigen: „running“ oder „no running“
$ sudo firewall-cmd --state
Default zone is public. In diesem kurzen Tutorial werden wir das nicht ändern, aber wenn Sie das möchten, dann verwenden Sie diese Befehle:
$ sudo firewall-cmd --set-default-zone=work
Lassen Sie uns versuchen, tcp-Verkehr auf Port 1112 hinzuzufügen:
$ sudo firewall-cmd --zone=public --add-port=1112/tcp --permanent
Um diese Änderungen sofort zu übernehmen, müssen wir den Firewalld-Status neu laden.
$ sudo firewall-cmd --reload
Wir können einen lesbaren Überblick über unsere neue Regel mit dem Listing-Befehl erhalten:
Um eine ssh-Verbindung auf einem bestimmten Ipv4 zu erlauben, müssen wir die Syntax mit „rich rule“