DigitalOcean Network Firewall erlaubt SSH-Verbindungen auf anderen Ports als nur 22

DigitalOcean Network Firewall erlaubt SSH-Verbindungen auf anderen Ports als nur 22

Ich habe ein Droplet auf DigitalOcean mit aktiviertem IPv4 und IPv6. Das Droplet befindet sich hinter einer Firewall des Digital Ocean-Netzwerks mit den folgenden Regeln:

Eingehende:

  • SSH TCP 22 Alle IPv4, Alle IPv6
  • HTTP TCP 80 Alle IPv4, Alle IPv6
  • HTTP TCP 443 Alle IPv4, Alle IPv6

Hinreise:

  • ICMP ICMP Alle IPv4 Alle IPv6
  • Alle TCP TCP Alle Ports Alle IPv4 Alle IPv6
  • Alle UDP UDP Alle Ports Alle IPv4

Nach meinem Verständnis und meiner Erwartung werden alle SSH-Versuche auf anderen Ports als Port 22 blockiert. Wenn ich jedoch die SSHD-Einheit im Systemd-Journal überprüfe, sehe ich die folgenden Einträge:

2022-12-29 03:00:32 Disconnected from invalid user antonio 43.153.179.44 port 45614 [preauth]
2022-12-29 03:00:32 Received disconnect from 43.153.179.44 port 45614:11: Bye Bye [preauth]
2022-12-29 03:00:31 Invalid user antonio from 43.153.179.44 port 45614
2022-12-29 02:58:37 Disconnected from invalid user desliga 190.129.122.3 port 1199 [preauth]
2022-12-29 02:58:37 Received disconnect from 190.129.122.3 port 1199:11: Bye Bye [preauth]
2022-12-29 02:58:37 Invalid user desliga from 190.129.122.3 port 1199

und viele weitere dieser Zeilen, was bedeutet, dass die Firewall keine SSH-Verbindungen auf anderen Ports als 22 blockiert.

Die folgende Grafik zeigt die Anzahl der SSH-Verbindungen zu anderen Ports als 22 in der letzten Stunde. Die Verbindungen werden durch die Aktivierung des Netzwerkfilters reduziert, aber nicht verringert.

Bildbeschreibung hier eingeben

Könnte es sein, dass die Netzwerk-Firewall von DigitalOcean defekt ist?

Was vermisse ich?

Beobachtet jemand die gleiche Situation in seiner Infrastruktur?

Antwort1

Dienste lauschen auf bestimmten Ports, z. B. sshd standardmäßig auf Port 22. Das bedeutet, dass eine SSH-Client-Anforderung zum Herstellen einer Verbindung auf einem anderen Port als 22 vom SSHD-Dienst überhaupt nicht gehört wird. Für diese Anforderung gibt es keine Spur in der Protokolldatei von SSHD. In diesem Fall kommen die Anforderungen tatsächlich auf Port 22. Was bedeutet das Invalid user antonio from 43.153.179.44 port 45614eigentlich?

  1. Es gab eine SSH-Client-Anforderung zur Verbindung als Benutzer antonio, der auf dem System nicht existiert
  2. Die Anfrage kam von der IP-Adresse43.153.179.44
  3. Die Portnummer des für die Verbindung verwendeten SSH-Clients war 45614. Es handelt sich um die Portnummer auf der Clientseite, nicht auf Ihrem Droplet.

Könnte es sein, dass die Netzwerk-Firewall von DigitalOcean defekt ist?

Das ist sehr unwahrscheinlich.

Antwort2

Zunächst einmal lauscht Ihr SSH-Daemon nur auf Port 22. Daher kann sich niemand über einen anderen Port als Port 22 mit ihm verbinden. Damit eine Verbindung erfolgreich ist, muss sie von der Firewall zugelassen werden.Undetwas muss auf den Empfang des Pakets warten – im Fachjargon heißt es, es müsse auf dem Port lauschen.

Außerdem schaut sich die Firewall wahrscheinlich nicht an, was in den Paketen steht. Sie orientiert sich nur an den Portnummern, und 22 ist der reservierte Port für SSH, also zeigt sie an, dass sie SSH zulässt.

Eine TCP-Verbindung besteht aus vier Kennungen:

  1. Quell-IP
  2. Quellport
  3. Ziel-IP
  4. Zielhafen

Die in Ihren Protokollen angezeigten Ports und IPs sind die Quell-IP und der Quell-Port. Dies sind die sogenanntentemporäre Häfen, das zufällig einem Prozess zugewiesen wird, der eine ausgehende Verbindung herstellen möchte.

verwandte Informationen