Wie man mit Opnsense die Firewall-Regeln optimiert
Optimierung der Firewall-Regeln in OpenBSD mit OpenSSH ermöglicht dir eine sichere Verbindung zu deinem System über Netzwerke.
Ein optimierter SSH-Server in OpenBSD
Ich habe mich heute entschieden, die Firewallregeln in meinem OpenBSD-System zu überprüfen und eine Optimierung vorzunehmen. Mein Ziel war es, den Zugriff auf meinen SSH-Server zu ermöglichen, während ich sicherstelle, dass nur vertrauenswürdige Anfragen zugelassen werden.
Meine Voraussetzungen
- Ein System mit OpenBSD installiert
- Die OpenSSH-Eigenschaften bereits konfiguriert
Der erste Schritt: Überprüfung der aktuellen Regeln
Bevor ich loslegen konnte, habe ich mich gefragt, welche Regeln bereits gelten. Ich habe also den folgenden Befehl verwendet:
pkill sshd
pfctl -s rules
Dieser Befehl startet einen SSH-Server im Hintergrund und zeigt mir alle regelbasierten Regeln an, die für das Protokoll SSH gelten.
Der zweite Schritt: Erstellung einer neuen Regel
Ich habe mich entschieden, eine neue Regel zu erstellen. Ich habe also den folgenden Befehl verwendet:
pfctl -a input on en0 proto tcp from any to any port ssh keep state
Dieser Befehl erstellt eine neue Regel für den Input-Track, die alle TCP-Verbindungen von und zu allen IP-Adressen auf Port 22 (dem Standardport für SSH) ermöglicht. Ich habe mich auch entschieden, dass die Registrierung der Verbindungen weiterhin gültig bleibt.
Der dritte Schritt: Hinzufügen einer Regel für die Netzwerkadresse
Ich wollte sicherstellen, dass nur Verbindungen von den zugewiesenen Netzwerken zulässig sind. Ich habe also eine zusätzliche Regel hinzugefügt:
pfctl -a input on en0 proto tcp from en1/24 to any port ssh keep state
Dieser Befehl erstellt eine neue Regel für den Input-Track, die nur Verbindungen von der Netzwerkkarte en1
(mit IP-Adresse 24.0.0.1) zulässt.
Der vierte Schritt: Hinzufügen einer Regel für die Rückverbindung
Ich wollte sicherstellen, dass sich die Rückverbindung nicht blockiert wird. Ich habe also eine zusätzliche Regel hinzugefügt:
pfctl -a input on en0 proto tcp from any to en1/24 port ssh keep state
Dieser Befehl erstellt eine neue Regel für den Input-Track, die sich Verbindungen von der Netzwerkkarte en1
zulässt.
Der fünfte Schritt: Aktualisierung und Überprüfung
Ich habe mich entschieden, den SSH-Server neu zu starten:
service sshd restart
Dieser Befehl startet einen SSH-Server neu. Ich habe auch überprüft, ob die Regeln korrekt sind:
pfctl -s rules
Dieser Befehl zeigt mir alle regelbasierten Regeln an.
Der sechste Schritt: Überprüfung der Zugriffsregeln
Ich wollte sicherstellen, dass meine neuen Regeln korrekt sind. Ich habe also einen Test-Verbindungsaufbau verwendet:
ssh -v -f user@example.com
Dieser Befehl verbindet mich mit einem Test-Konto und zeigt mir die Zugriffsregeln an.
Mein Ergebnis
Ich bin froh, dass ich meine Firewallregeln optimiert habe. Ich bin sicher, dass mein SSH-Server nun korrekt konfiguriert ist und nur vertrauenswürdige Anfragen zugelassen wird.
Weitere Ressourcen