Wir sind umgezogen und haben am neuen Standort die LAN/WAN-Infrastruktur eingerichtet.
Wenn ich SSH-Verbindungen zu meinem Server initiiere (der sich in der Cloud befindet, nicht im LAN), funktioniert es bei den ersten 3 oder 4 Anfragen in kurzen Abständen (etwa 4 Anrufe innerhalb von 5 Sekunden) einwandfrei, weitere Verbindungen bleiben im Status SYN_SENT hängen. Spätere Anfragen bleiben alle mit SYN_SENT hängen, bis es anscheinend zu einem Timeout kommt. Danach funktioniert es wieder einige Male.
Es wurden keine Änderungen am Server vorgenommen und verschiedene lokale Clients verhalten sich auf diese Weise. Ich vermute also, dass der Unterschied in der IT-Infrastruktur liegt und nicht in den beiden Endpunkten.
Welche möglichen Erklärungen gibt es für dieses Verhalten? Wo sollte ich nach einer Lösung suchen?
Wir verwenden eine Zyxel ZyWall-Firewall, die wir zurücksetzen mussten – verfügt diese über einen Filter, der dieses Verhalten erklären könnte?
Antwort1
Die iptables-Regeln auf dem Server hatten eine „Anti-SSH-Bruteforce“-Regelkette, die das „recent“-Modul verwendet, um Verbindungen nach 4 Versuchen innerhalb von 1 Minute abzubrechen. Diese Regel hatte eine Ausnahme in der INPUT
Kette, um alle SSH von unserer Face-IP zuzulassen. Als wir umgezogen sind, hat sich die Face-IP geändert und die Regel musste angepasst werden. Als Referenz habe ich das so gemacht
Alle iptables-Regeln auflisten
# iptables -L --line-numbers
Beachten Sie die Akzeptanzregel in der INPUT
Kette, die so eingestellt ist, dass alle SSH-Verbindungen von unserer (vorherigen) Face-IP-Adresse akzeptiert werden, und die Anti-Bruteforce-Regel, die SSH-Verbindungen nach mehreren Versuchen in der SSH_CHECK
Kette abbricht:
Chain INPUT (policy ACCEPT)
num target prot opt source destination
...
14 ACCEPT tcp -- old.myISP.com anywhere tcp dpt:ssh
...
Chain SSH_CHECK (1 references)
num target prot opt source destination
...
3 DROP all -- anywhere anywhere recent: UPDATE seconds: 60 hit_count: 4 TTL-Match name: RECENT_SSH side: source
Bearbeiten der Regeln in/etc/iptables.rules
Ändern
-A INPUT -s 123.45.67.8/32 -p tcp -m tcp --dport 22 -j ACCEPT
Zu
-A INPUT -s 111.222.33.44 -p tcp -m tcp --dport 22 -j ACCEPT
wobei 111.222.33.44 die neue Face-IP ist. Und lesen Sie in den angepassten Regeln:
# iptables-restore < /etc/iptables.rules