Website-Suche

So beschränken Sie den SSH-Zugriff auf lokale Netzwerke unter Linux


SSH (Secure Shell) ist ein beliebtes Tool, mit dem Benutzer eine sichere Verbindung zu Remote-Systemen über ein Netzwerk herstellen können. Standardmäßig ist der Zugriff auf SSH von jedem Netzwerk aus möglich, solange die entsprechenden Firewall- und Netzwerkeinstellungen vorhanden sind.

Manchmal möchten Sie den SSH-Zugriff jedoch aus Sicherheitsgründen nur auf Ihr lokales Netzwerk beschränken. Dies ist besonders nützlich in einer Heim- oder Büroumgebung, in der Sie keinen externen Zugriff auf Ihr System über das Internet wünschen.

In diesem Artikel gehen wir die Schritte durch, wie Sie den SSH-Zugriff auf das lokale Netzwerk unter Linux mithilfe von Firewall-Regeln und SSH-Konfigurationen einschränken können. Wir erklären jeden Schritt in einfachen Worten, um sicherzustellen, dass auch ein Anfänger mitmachen kann.

Warum SSH auf das lokale Netzwerk beschränken?

Wenn Sie den SSH-Zugriff auf das lokale Netzwerk beschränken, kann das Risiko eines unbefugten Zugriffs auf Ihr System verringert werden.

Hier sind einige Gründe, warum Sie dies tun sollten:

  • Sicherheit: Die Beschränkung des Zugriffs auf SSH von außerhalb des Netzwerks verhindert, dass Angreifer Ihren Server scannen oder versuchen, ihn über das Internet zu erzwingen.
  • Kontrollierter Zugriff: Wenn Sie mehrere Geräte mit demselben lokalen Netzwerk verbunden haben, können Sie das System dennoch verwalten, ohne es externen Bedrohungen auszusetzen.
  • Einfachheit: Da Sie nur lokalen Zugriff haben, müssen Sie sich keine Gedanken über die Konfiguration zusätzlicher Sicherheitsebenen für den externen Zugriff machen.

Grundlegendes zum lokalen Netzwerk

Bevor Sie beginnen, ist es wichtig zu verstehen, was mit "lokalem Netzwerk" gemeint ist. Ein lokales Netzwerk ist eine Gruppe von Geräten, die innerhalb desselben physischen oder drahtlosen Netzwerks verbunden sind, z. B. Ihr Heim-WLAN oder Ihr Büronetzwerk.

Diese Geräte verwenden denselben internen IP-Adressbereich, z. B. 192.168.x.x oder 10.0.x.x, während externe Geräte (Geräte im Internet) unterschiedliche IP-Adressbereiche haben.

Schritt 1: Überprüfen des lokalen Linux-IP-Adressbereichs

Um die Reichweite Ihres lokalen Netzwerks zu ermitteln, müssen Sie zunächst die IP-Adresse Ihres Geräts mit dem folgenden ip-Befehl ermitteln, der Ihre IP-Adresse und Netzwerkinformationen anzeigt.

ip a

Es werden Informationen zu den Netzwerkschnittstellen angezeigt. Suchen Sie nach etwas wie 192.168.x.x oder 10.0.x.x, das Ihnen Ihre lokale IP-Adresse mitteilt.

In der Regel befindet sich Ihre lokale IP-Adresse in einem der folgenden privaten Bereiche:

192.168.x.x
10.0.x.x
172.16.x.x to 172.31.x.x

Wenn Ihre IP-Adresse beispielsweise 192.168.122.63 lautet, ist Ihr lokaler Netzwerkbereich wahrscheinlich 192.168.1.0/24, was bedeutet, dass sich alle Geräte mit IPs im Bereich 192.168.1.x im selben lokalen Netzwerk befinden.

Schritt 2: SSH so konfigurieren, dass nur lokale Adressen überwacht werden

Standardmäßig lauscht SSH auf allen verfügbaren Netzwerkschnittstellen. Wir werden es so ändern, dass es nur im lokalen Netzwerk lauscht.

sudo nano /etc/ssh/sshd_config

Suchen Sie die Zeile mit #ListenAddress und kommentieren Sie sie aus (entfernen Sie das # am Anfang). Legen Sie sie auf Ihre lokale IP-Adresse fest.

Wenn Ihre lokale IP-Adresse beispielsweise 192.168.122.63 lautet, aktualisieren Sie die Datei wie folgt:

ListenAddress 192.168.122.63

Starten Sie den SSH-Dienst neu, damit die Änderungen wirksam werden.

sudo systemctl restart ssh
OR
sudo systemctl restart sshd

Jetzt hört Ihr SSH-Server nur noch Verbindungen von Ihrer lokalen IP-Adresse ab. Wenn Sie versuchen, eine Verbindung über ein externes Netzwerk herzustellen, wird die Verbindung abgelehnt.

Schritt 3: Einschränken von SSH mit Firewall-Regeln

Während es hilfreich ist, den SSH-Daemon so zu konfigurieren, dass er nur auf lokale Adressen lauscht, können Sie eine zusätzliche Sicherheitsebene hinzufügen, indem Sie Firewall-Regeln einrichten, die sicherstellen, dass nur Geräte in Ihrem lokalen Netzwerk eine Verbindung über SSH herstellen können, selbst wenn jemand versucht, über Ihre externe IP auf Ihr System zuzugreifen.

Verwendung von UFW (Uncomplicated Firewall)

Wenn Sie UFW verwenden, die Standard-Firewall für viele Linux-Distributionen wie Ubuntu, befolgen Sie diese Befehle:

SSH-Verbindungen nur aus Ihrem lokalen Netzwerk zulassen, z. B. IP-Adressen im Bereich 192.168.1.x, und SSH-Verbindungen aus anderen Netzwerken verweigern. Stellen Sie sicher, dass Sie die Firewall neu laden und ihren Status überprüfen.

sudo ufw allow from 192.168.1.0/24 to any port 22
sudo ufw deny 22
sudo ufw reload
sudo ufw status

Verwenden von Firewalld

Um SSH mit Firewalld auf das lokale Netzwerk unter Linux zu beschränken, befolgen Sie diese Befehle.

Zulassen des SSH-Zugriffs über Ihr lokales Netzwerk, z. B. IP-Adressen im Bereich 192.168.1.x, und Verweigern von SSH-Verbindungen aus anderen Netzwerken. Stellen Sie sicher, dass Sie die Firewall neu laden und ihren Status überprüfen.

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept'
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" port protocol="tcp" port="22" drop'
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

Verwenden von iptables

Wenn Sie UFW oder Firewalld nicht verwenden, können Sie iptables verwenden, um ähnliche Regeln einzurichten.

sudo iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
sudo iptables-save | sudo tee /etc/iptables/rules.v4
sudo iptables -L

Jetzt ist der SSH-Zugriff nur noch von lokalen Geräten innerhalb Ihrer Netzwerkreichweite erlaubt.

Schritt 4: Testen der Konfiguration

Nachdem Sie SSH und die Firewall konfiguriert haben, ist es an der Zeit, das Setup zu testen, um sicherzustellen, dass alles wie erwartet funktioniert.

Versuchen Sie von einem Gerät in Ihrem lokalen Netzwerk aus, über SSH eine Verbindung zum Server herzustellen:

ssh [email 

Wenn Sie Zugriff auf ein externes Netzwerk haben (z. B. über mobile Daten oder ein VPN), versuchen Sie, eine Verbindung mit der externen IP-Adresse des Systems herzustellen. Die Verbindung sollte blockiert oder verweigert werden.

Zusätzliche Tipps

Hier sind einige zusätzliche Tipps zum Einrichten von SSH für das lokale Netzwerk:

  • Statische IP-Adresse: Es ist eine gute Idee, eine statische IP-Adresse für das Gerät festzulegen, mit dem Sie eine SSH-Verbindung herstellen möchten, insbesondere wenn Sie Firewall-Regeln konfigurieren, die auf dem lokalen IP-Bereich basieren, die verhindern, dass sich Ihre IP-Adresse ändert, wenn der Router neu gestartet wird.
  • VPN-Zugriff: Wenn Sie einen Fernzugriff von einem externen Netzwerk aus benötigen, sollten Sie die Einrichtung eines VPN in Betracht ziehen, mit dem Sie sich sicher über das Internet mit Ihrem lokalen Netzwerk verbinden können, und SSH ist weiterhin nur innerhalb des lokalen Netzwerks zugänglich.
  • Protokolle überwachen: Überwachen Sie Ihre SSH-Protokolle immer auf unbefugte Zugriffsversuche.

Sie können die Protokolle mit dem Befehl tail überprüfen:

sudo tail -f /var/log/auth.log
Schlussfolgerung

Die Einschränkung des SSH-Zugriffs auf das lokale Netzwerk ist eine einfache, aber effektive Möglichkeit, die Sicherheit Ihres Linux-Systems zu erhöhen. Wenn Sie die Schritte in diesem Leitfaden befolgen, können Sie den externen Zugriff auf Ihren SSH-Server verhindern, während der lokale Zugriff für Verwaltungs- und Verwaltungsaufgaben beibehalten wird.

Mit Firewall-Regeln und der richtigen Konfiguration können Sie sicherstellen, dass nur vertrauenswürdige Geräte in Ihrem lokalen Netzwerk eine Verbindung über SSH herstellen können, wodurch das Risiko eines unbefugten Zugriffs verringert wird.

Verwandte Artikel: