toraxos
Goto Top

FTP über OpenSSH sperrt nach 3 schnellen Übertragungen

Hallo zusammen,

auf einer virtuellen Windows 11 Maschine läuft ein OpenSSH Server (9.8.1 von GitHub).
Ein Client (Shopware Backend) im Internet schickt regelmäßig Bestellungen als CSV diesen Server und es funktioniert zu 95% der Zeit. Aber wenn man 3-4 schnelle Übertragungen innerhalb ca. 1-3 Minuten durchführt, geht der OpenSSH Server auf die Barrikade und lässt nichts mehr rein für 30 Minuten. Wie eine DDOS-Protection
Sobald der "Schutz" aktiviert ist, meldet Shopware beim Übertragen "Isolated\NetInventors\NetiNextExportOnEvent\League\Flysystem\Sftp\ConnectionErrorException: Could not login with username: test, host: meinftpserver in /var/www/vhosts/XXXXXX"

Dass man nicht einloggen kann ist halt nicht hilfreich, da es ja den ganzen Tag funktioniert für bestimmt 80-200 Übertragungen am Tag...

Google und KI Vorschläge bringen mich leider nicht weiter,
es ist ja eig. alles korrekt eingestellt, sonst würde das Übertragen ja generell nicht funktionieren über den Tag...
auch Änderungen an der config datei für z.bsp. maxsessions, max connections oder die openssh neu installieren brachten keine Besserung.
In der Logdatei wird witzigerweiße auch kein Fehler angezeigt, die erfolgreich übertragenen Dateien werden aber geloggt! -.-

Der Server hängt hinter einer Sophos XGS Firewall, welche aber auch keine Auffälligkeiten zeigt

Vielleicht kennt das Problem jemand oder könnte mir anderweitig helfen, danke im Voraus!
Mfg Toraxos

Content-ID: 671178

Url: https://administrator.de/forum/ftp-ueber-openssh-sperrt-nach-3-schnellen-uebertragungen-671178.html

Ausgedruckt am: 09.03.2025 um 21:03 Uhr

aqui
aqui 06.02.2025 aktualisiert um 18:19:46 Uhr
Goto Top
Es fehlen leider einige wichtige Details! face-sad
  • Unverschlüsseltes FTP wie die Überschrift (hoffentlich irreführend) suggeriert wirst du sicher nicht machen wenn du Daten übers Internet überträgst also wird es vermutlich SFTP oder SCP sein (geraten). Zudem funktioniert reines FTP nur im Passive Mode im Port Forwarding. Was ist es also genau?
  • Wenn SCP o. SFTP warum dann so umständlich über OpenSSH und nicht direkt mit z.B. WinSCP wenn du einen Winblows Rechner nutzt?
  • Wie kommst du von außen durch die Firewall auf den Server? Indem du ein Loch in die Firewall bohrst und den Traffic darüber zum Server schleust. Oder über ein sicheres VPN?
All das wäre für eine zielführende Antwort wichtig zu wissen.
P.S.: Was muss man sich unter "(eig)" bei eig schön vorstellen? face-wink
Michi91
Michi91 07.02.2025 aktualisiert um 09:42:55 Uhr
Goto Top
Hey,
Was läuft auf dem Win11 noch so? Fail2Ban, eine Firewallsoftware oder ähnliches? Wird die Anfrage sicher vom Server geblockt oder eventuell schon von einer Firewall davor?

Kommst du in dem Moment noch auf die Kiste? Ggf. von einem anderen Internetanschluss testen.

Erfolgt die Authentifizierung mit einem Windows-User oder einem anderen System/Authprovider?

ggf. mal das Logging an dieser Stelle erhöhen, es Fehler geloggt werden, sofern keine Firewall den Datenverkehr komplett verhindert

Grüße face-smile
Toraxos
Toraxos 07.02.2025 um 09:48:04 Uhr
Goto Top
Tut mir leid, hab da meist einen Tunnelblick bei sowas face-confused
Hier die Details:
- Es wird SFTP benutzt.
- Auf der Maschine ist der OpenSSH-Server der per SFTP die Daten empfängt. WinSCP ist laut meinen Recherchen nur ein Client? Zum Testen mag das sinnvoll sein, aber dafür hätte ich mein Shopware-System. In Shopware selbst habe ich nur eingeschränkte
- In der Firewall wird ausschließlich die feste öffentliche IP Adresse des Senders (Shopware) erlaubt und per Port-Forwarding und NAT Regeln auf den Server geleitet.

PS: Wenn es dieses Problem nicht gäbe, hätte ich das "eig" wohl weggelassen. Aber es scheint ja irgendwas wohl nicht zu passen face-big-smile
aqui
aqui 07.02.2025 aktualisiert um 10:06:30 Uhr
Goto Top
WinSCP ist laut meinen Recherchen nur ein Client?
Das ist richig, sorry! Aber dann nimmt man in der Regel doch immer den Klassiker Filezilla unter Winblows anstatt der OpenSSH Frickelei.
https://filezilla-project.org

Um was du nicht rumkommst ist in der Tat das Logging des SFTP Dienstes um der Ursache auf den Grund zu kommen. So kann man nur im freien Fall raten. Es ist ja auch nicht gänzlich auszuschliessen das die Ursache doch irgendwo auf dem Pfad zum Server liegt und nicht der Server selber ist. Gut, könnte man ggf. mit der Filezilla Alternative ausschliessen.
151434
151434 07.02.2025 aktualisiert um 10:33:53 Uhr
Goto Top
Nur zur Info Winblows 11 hat einen OpenSSH-Server bereits an Bord :-P.
Add-WindowsCapability -Online -Name OpenSSH.Server*
Ansonsten halt wie immer, Log Level hoch schrauben und Log lesen face-smile.
https://man.openbsd.org/sshd_config#LogLevel
Toraxos
Toraxos 07.02.2025 um 11:17:29 Uhr
Goto Top
Zitat von @Michi91:

Hey,
Was läuft auf dem Win11 noch so? Fail2Ban, eine Firewallsoftware oder ähnliches?
Auf der Maschine läuft noch ein Filezilla Server, aber der macht FTP over TLS und in Ausnahmefällen noch Plain FTP. Diese Übertragungen werden auch nicht beeinträchtigt wenn der OpenSSH Server die Blockade hat.
Als Anti-Virus Lösung ist noch Sophos Intercept X aktiv, komplette Deaktivierung der Software hatte keine Veränderung gebracht.

Wird die Anfrage sicher vom Server geblockt oder eventuell schon von einer Firewall davor?
Kann ich so nicht sagen, die Logdatei von OpenSSH zeigt nur die erfolgreichen Übertragungen und das Debuglevel ist schon hochgedreht.

Kommst du in dem Moment noch auf die Kiste? Ggf. von einem anderen Internetanschluss testen.
Also von intern komm ich logischerweiße drauf, Filezilla funktioniert auch weiterhin von extern.

Erfolgt die Authentifizierung mit einem Windows-User oder einem anderen System/Authprovider?
Ich finde das Konstrukt selbst sehr merkwürdig. Es ist ein lokaler Windows-User auf dem dann ein Ordner im Profil angelegt ist, dieser Ordner wird dann als Verzeichnis bei der Übertragung angegeben in dem die Dateien landen.

ggf. mal das Logging an dieser Stelle erhöhen, es Fehler geloggt werden, sofern keine Firewall den Datenverkehr komplett verhindert
Debugging level ist schon auf Stufe 3 aber keine Einträge in der Logdatei wenn die Übertragungen fehlschlagen...
151434
151434 07.02.2025 aktualisiert um 11:43:33 Uhr
Goto Top
Debugging level ist schon auf Stufe 3 aber keine Einträge in der Logdatei wenn die Übertragungen fehlschlagen...

Dann wird ein System vor dem Server schon blocken, oder du schaust in das falsche Log.
Toraxos
Toraxos 07.02.2025 um 12:03:11 Uhr
Goto Top
Zitat von @151434:

Debugging level ist schon auf Stufe 3 aber keine Einträge in der Logdatei wenn die Übertragungen fehlschlagen...

Dann wird ein System vor dem Server schon blocken, oder du schaust in das falsche Log.

In die Logdatei vom ssh schau ich rein unter C:\ProgramData\ssh\logs\sshd.log
Das interessante ist, dass im August die Firewall abgelöst wurde und es mit der alten das gleiche Problem gab face-big-smile
151434
151434 07.02.2025 aktualisiert um 12:55:19 Uhr
Goto Top
Im Eventlog werden explizite Debug-Events im Channel OpenSSH abgelegt und zwar in den Application spezifischen Eventlogs (!!nicht im Application Eventlog!!). Wenn da nichts steht dann wird es vorher schon abgefangen.
Und du solltest natürlich die spezifischen Parameter die zum Schutz von sshd vor kurzem eingeführt wurden an deine Umgebung anpassen, sonst ist es klar das der dich blockt wenn du die Limits von neu aufgebauten Verbindungen innerhalb eines bestimmten Zeitraums überschreitest.

https://man.openbsd.org/sshd_config
Toraxos
Toraxos 07.02.2025 um 14:19:31 Uhr
Goto Top
Zitat von @151434:

Im Eventlog werden explizite Debug-Events im Channel OpenSSH abgelegt und zwar in den Application spezifischen Eventlogs (!!nicht im Application Eventlog!!). Wenn da nichts steht dann wird es vorher schon abgefangen.
Und du solltest natürlich die spezifischen Parameter die zum Schutz von sshd vor kurzem eingeführt wurden an deine Umgebung anpassen, sonst ist es klar das der dich blockt wenn du die Limits von neu aufgebauten Verbindungen innerhalb eines bestimmten Zeitraums überschreitest.

https://man.openbsd.org/sshd_config

Das ist eine interessante Info! Im Eventlog unter "Anwendungs- und Dienstprogramme -> OpenSSH" gibt es keinerlei Einträge?! Weder im Unterordner "Admin" noch in "Operational". Ist es das was du meinst?
151434
151434 07.02.2025 um 14:21:04 Uhr
Goto Top
Zitat von @Toraxos:
Das ist eine interessante Info! Im Eventlog unter "Anwendungs- und Dienstprogramme -> OpenSSH" gibt es keinerlei Einträge?! Weder im Unterordner "Admin" noch in "Operational". Ist es das was du meinst?
Ja, sind die Logs denn auch aktiviert (Kontextmenü)?
Toraxos
Toraxos 07.02.2025 um 14:50:02 Uhr
Goto Top
Zitat von @151434:

Zitat von @Toraxos:
Das ist eine interessante Info! Im Eventlog unter "Anwendungs- und Dienstprogramme -> OpenSSH" gibt es keinerlei Einträge?! Weder im Unterordner "Admin" noch in "Operational". Ist es das was du meinst?
Ja, sind die Logs denn auch aktiviert (Kontextmenü)?

Ja die Logs sind aktiviert. Ich kann über das Kontextmenü rechts nur "Protokoll deaktivieren"...
151434
151434 07.02.2025 um 15:02:09 Uhr
Goto Top
DivideByZero
DivideByZero 07.02.2025 um 15:44:28 Uhr
Goto Top
und, wie oben schon gesagt, um auf die Schnelle die Strecke und den Client auszuschließen, einfach mal mit anderer Software als Server testen. Filezilla ist ja schon aktiv, also mal temporär den nehmen.
TwistedAir
TwistedAir 08.02.2025 um 14:56:08 Uhr
Goto Top
Moin,

wenn die Logs nichts Signifikantes hergeben, könntest du versuchen das Fehlerbild systematisch nachzustellen, den Fehler einzugrenzen und daraus weitere Ansätze zur Behebung abzuleiten.

Die Ausgangslage ist ein SFTP-Server auf einem virtualisierten Win11 hinter einer Firewall mit Zugang zum Internet. Dann klapper den gesamten Pfad ab:

  • mit einem Client auf dem Win11 selbst den SFTP-Server „druckbetanken“
  • von einer zweiten virtuellen Maschine den SFTP-Server beladen (also innerhalb der Virtualisierungsumgebung)
  • von einem Rechner innerhalb des internen Netzwerkes, aber außerhalb der Virtualisierungsumgebung den Upload durchführen
  • von Außen (also unter Einbeziehung der Firewall) von einem zweiten System den SFTP-Server ansprechen; ggf. muss dabei eine zweite IP auf der Firewall freigegeben werden. face-wink

Damit solltest du eingrenzen können, auf welche Komponente du dein Augenmerk richten solltest.

Viel Glück
TA
Toraxos
Toraxos 10.02.2025 um 16:31:24 Uhr
Goto Top
Zitat von @151434:

Ändere mal die SyslogFacility
https://github.com/PowerShell/Win32-OpenSSH/wiki/Logging-Facilities

Das war schon aktiv.

Generelles Danke mal zwischendurch für alle Beteiligten!

Bezüglich Eingrenzung von @TwistedAir und @DivideByZero habe ich auf einer anderen Maschine mal die gleiche Software installiert und getestet.
Neu eingerichtete VM -> wird nach 4 Übertragungen auch blockiert
Dann direkt in der Firewall die NAT-Regeln umgestellt auf die Original-VM -> wird immernoch blockiert
Von einem Rechner innerhalb des Netzwerks scheint es keine Probleme zu machen.

Also ist die Ursache wohl nicht der Server oder die Software selbst auf der VM. Bleibt also erstmal die Firewall als Knackpunkt.
Keep you posted...
DivideByZero
DivideByZero 10.02.2025 um 17:14:58 Uhr
Goto Top
Ziemlich sicher. Die wertet offensichtlich die Verbindungsversuche als illegitim. Also da einfach mal alles ungeprüft durchschleifen zur Test-VM (da ist es ja egal) und testen. Aber nur kurz, dann wieder auf Ausgangsstatus zurück.
Oder direkt in den Logs der Sophos schauen, die sind normalerweise aussagekräftig.
aqui
aqui 10.02.2025 um 17:41:32 Uhr
Goto Top
Bleibt also erstmal die Firewall als Knackpunkt.
Vielleicht als Alternative statt Port Forwarding einmal ein VPN nehmen. Damit wäre sogar dann eine einfache SMB/CIFS Kopplung denkbar. face-wink
Toraxos
Toraxos 11.02.2025 um 13:07:22 Uhr
Goto Top
Problem nicht gelöst, aber umschifft...
Hab an der Firewall keine Änderungen vorgenommen, sondern einen neuen Server mit Filezilla Enterprise Pro installiert.
Wichtig hier: alle 3 möglichen Zertifikats-Typen bei SFTP(SSH) einrichten und aktivieren.
Shopware kann wohl nur mit "SSH-RSA" arbeiten (tiefergreifende Konfigurationen und Analysen zu den Zertifikaten in Shopware habe ich mir gespart...)

Aufjedenfall werden über die Neueinrichtung des SFTP Servers via Filezilla keine Übertragungen mehr geblockt in kürzester Zeit.

Welchen Beitrag soll ich denn nun als "Lösung" markieren? :D
Ich danke für eure Unterstützung face-smile
aqui
aqui 11.02.2025 um 14:14:10 Uhr
Goto Top
Welchen Beitrag soll ich denn nun als "Lösung" markieren? :D
Den Thread global auf "gelöst" klicken!
Wie kann ich einen Beitrag als gelöst markieren?
FAQs lesen hilft! face-wink