Eingehende Verbindungen von öffentlichen zu privaten IP-Adressen

Eingehende Verbindungen von öffentlichen zu privaten IP-Adressen

Heute habe ich das Auth.log meines Raspberrys überprüft (private IP-Adresse in meinem Heimnetzwerk hinter einem wrt54gl). Überraschenderweise habe ich viele Zeilen mit der Meldung „Fehlerhaftes Passwort für Root von“ gesehen.

Die SRC-IP ist auf Listen von SSH-Brute-Force-Angreifern zu finden.

Wenn ich mich über das Internet mit meinem Raspberry verbinde, stelle ich normalerweise eine SSH-Verbindung zur öffentlichen IP-Adresse meines Routers her und verbinde mich mit der privaten Adresse des Raspberry.

Wie kann also jemand eine direkte Verbindung zu diesem Gerät herstellen, das nur über eine private Adresse verfügt?

eth0      Link encap:Ethernet  Hardware Adresse b8:27:eb:e5:7a:5b
      inet Adresse:192.168.0.5  Bcast:192.168.0.255  Maske:255.255.255.0
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
      RX packets:2774178 errors:0 dropped:933 overruns:0 frame:0
      TX packets:5544091 errors:0 dropped:0 overruns:0 carrier:0
      Kollisionen:0 Sendewarteschlangenl▒nge:1000
      RX bytes:457172801 (435.9 MiB)  TX bytes:875979564 (835.3 MiB)

lo        Link encap:Lokale Schleife
      inet Adresse:127.0.0.1  Maske:255.0.0.0
      UP LOOPBACK RUNNING  MTU:65536  Metrik:1
      RX packets:2695 errors:0 dropped:0 overruns:0 frame:0
      TX packets:2695 errors:0 dropped:0 overruns:0 carrier:0
      Kollisionen:0 Sendewarteschlangenl▒nge:0
      RX bytes:725188 (708.1 KiB)  TX bytes:725188 (708.1 KiB)


Jun 15 13:42:12 rpi sshd[15608]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.31  user=root

Antwort1

Auf die gleiche Weise wie Sie, vorausgesetzt, Sie verwenden Portweiterleitung. Wenn Sie versuchen, sich von einem Remote-Computer aus bei Ihrem Raspberry anzumelden, möglicherweise sogar mit einem falschen Passwort, sollten Sie eine sehr ähnliche Zeile in auth.log sehen.

Natürlich stellen Sie eine Verbindung zu Ihrer öffentlichen IP-Adresse her, die der externen Schnittstelle des Routers zugewiesen ist. Ich gehe davon aus, dass Sie im Router eine Portweiterleitung eingerichtet haben, sodass jede Verbindung zu einem bestimmten Port Ihrer öffentlichen IP-Adresse an den Raspberry weitergeleitet wird. In diesem speziellen Fall gehe ich davon aus, dass Sie Port 22 im Router so weitergeleitet haben, dass er an Port 22 Ihres Raspberry weitergeleitet wird.

Der Weg des Typen hinter der anderen IP-Adresse ist der gleiche und wahrscheinlich

  • Durchsuchen des Internets nach Hosts, deren Ports geöffnet sind
  • Ausführen eines Tools, das
    • stellt eine Verbindung zu diesem Host und Port her
    • versucht sich mit Passwortlisten anzumelden

Oder er macht es manuell und startet seinen SSH-Client, stellt eine Verbindung zu Ihrer öffentlichen IP-Adresse (Port 22) her, die an den Raspberry weitergeleitet wird, und probiert einfach gängige Benutzernamen-/Passwortkombinationen aus (pi/raspberry, root/root, …).

Um das zu vermeiden, können Sie

  • Konfigurieren Sie SSHD so, dass die Authentifizierung mit privatem/öffentlichem Schlüssel und nicht mit Kennwortauthentifizierung verwendet wird.
  • Sagen Sie Ihrem Router, dass er einen anderen Port (z. B. 2222) an Port 22 des Raspberry weiterleiten soll. Passen Sie unbedingt Ihren (Remote-)SSH-Client so an, dass Sie weiterhin eine Verbindung herstellen können.
  • Installieren Sie knockdden Port und öffnen Sie ihn, bevor Sie ihn verwenden möchten.
  • Installieren fail2ban, um nicht autorisierte IP-Adressen zu blockieren

(für einen etwas detaillierteren Überblick über die genannten Methoden siehe auchHier.)

verwandte Informationen