Bei SOCKS5 wird die Authentifizierung ausgehandelt, bevor der Client seine Zielanfrage sendet. Dadurch ist ein frühes Scheitern der Anmeldedaten ein anderes Ereignis als ein FTP-, HTTPS- oder anderer Anwendungsfehler hinter dem Proxy.

Die Begrüßung des Clients listet die Authentifizierungsmethoden auf, die er unterstützt. Der Server wählt eine Methode aus dieser Liste und schickt die Auswahl zurück. Der Wert 0xff bedeutet, dass keine angebotene Methode akzeptabel ist und die Verbindung geschlossen werden muss. Der Client probiert nach einem fehlgeschlagenen Passwort nicht einfach jede Methode auf der Serverseite aus.

Was Dantes Reihenfolge steuert

Dante 1.4.x nennt die Einstellung auf Protokollebene socksmethod. Die Dokumentation besagt, dass Methoden in Präferenzreihenfolge aufgeführt werden. Für eine Richtlinie, die beide Methoden erlaubt, bevorzugt diese Deklaration Benutzername/Passwort, wenn der Client es anbietet:

socksmethod: username none

Die umgekehrte Liste bevorzugt unauthentifizierten Zugriff, wenn beide Methoden angeboten werden:

socksmethod: none username

Dies sind alternative Methodendeklarationen, keine vollständigen Serverkonfigurationen. Lausch-Schnittstellen, zugelassene Clients, Zielregeln und alle regelspezifischen Authentifizierungsbeschränkungen bleiben weiterhin wichtig.

Das Zulassen von none hat eine konkrete Folge: Ein Client, der nur keine Authentifizierung anbietet, kann unter den geltenden Regeln akzeptiert werden. username an die erste Stelle zu setzen macht aus einer Liste mit none keine Anforderung, dass alle ein Passwort angeben.

Wählen Sie zuerst die Anforderung

Wenn jeder zugelassene Client sich mit Benutzername/Passwort authentifizieren muss, konfigurieren Sie diese Anforderung konsistent in den globalen und geltenden Regeln, statt none als allgemeine Kompatibilitätskorrektur hinzuzufügen. Wenn anonymer Zugriff für eine eingeschränkte Clientgruppe beabsichtigt ist, machen Sie die Gruppe und ihre erlaubten Ziele ausdrücklich.

Dante kennt außerdem clientmethod, das Prüfungen betrifft, die beim Verbinden des TCP-Clients, vor der SOCKS-Aushandlung, durchgeführt werden. Es ist eine separate Ebene von den Methoden, die in der SOCKS5-Begrüßung ausgetauscht werden. Konfigurationsausschnitte mit dem älteren Schlüsselwort method sollten anhand des Handbuchs der installierten Dante-Version gelesen werden.

Wenn sich zwei Clients unterschiedlich verhalten, vergleichen Sie, was jeder anbietet, was Dante auswählt und ob die Unteraushandlung der gewählten Methode erfolgreich ist. Prüfen Sie dann die SOCKS-Zielantwort. Diese Reihenfolge identifiziert einen fehlenden Anmeldedaten-Callback, ohne jeden Fehler FTP zuzuschreiben oder die Authentifizierungsrichtlinie des Servers blind zu ändern.

Schließlich verschlüsselt die SOCKS5-Authentifizierung mit Benutzername/Passwort den Passwortaustausch nicht. Verwenden Sie einen angemessen geschützten Transport oder ein entsprechendes Netzwerk, wenn diese Anmeldedaten Vertraulichkeit benötigen.

Ähnliche Artikel