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