Zum Hauptinhalt springen

9. Host-Based Authentication: "hostbased"

9. Host-Based Authentication: "hostbased"

Einige Standorte möchten eine Authentifizierung auf Basis des Hosts, von dem der Benutzer kommt, und des Benutzernamens auf dem Remote-Host erlauben. Diese Form der Authentifizierung eignet sich nicht für Hochsicherheitsstandorte, kann aber in vielen Umgebungen sehr praktisch sein. Diese Form der Authentifizierung ist OPTIONAL. Bei Verwendung SOLLten besondere Vorkehrungen getroffen werden, um zu verhindern, dass ein normaler Benutzer den privaten Hostschlüssel erhält.

Der Client fordert diese Form der Authentifizierung an, indem er die folgende Nachricht sendet. Sie ähnelt den UNIX-Authentifizierungsstilen „rhosts“ und „hosts.equiv“, außer dass die Identität des Client-Hosts strenger geprüft wird.

Diese Methode funktioniert, indem der Client eine mit dem privaten Schlüssel des Client-Hosts erstellte Signatur sendet, die der Server mit dem öffentlichen Schlüssel dieses Hosts prüft. Ist die Identität des Client-Hosts festgestellt, wird die Autorisierung (aber keine weitere Authentifizierung) anhand der Benutzernamen auf Server und Client sowie des Client-Hostnamens durchgeführt.

byte      SSH_MSG_USERAUTH_REQUEST
string user name
string service name
string "hostbased"
string public key algorithm for host key
string public host key and certificates for client host
string client host name expressed as the FQDN in US-ASCII
string user name on the client host in ISO-10646 UTF-8 encoding
[RFC3629]
string signature

Namen öffentlicher Schlüsselalgorithmen für ‚public key algorithm for host key‘ sind in der Transportspezifikation [SSH-TRANS] definiert. Der ‚public host key and certificates for client host‘ KANN Zertifikate enthalten.

Der Wert von ‚signature‘ ist eine Signatur mit dem privaten Hostschlüssel des Client-Hosts über die folgenden Daten in dieser Reihenfolge:

string    session identifier
byte SSH_MSG_USERAUTH_REQUEST
string user name
string service name
string "hostbased"
string public key algorithm for host key
string public host key and certificates for client host
string client host name expressed as the FQDN in US-ASCII
string user name on the client host in ISO-10646 UTF-8 encoding
[RFC3629]

Der Server MUSS verifizieren, dass der Hostschlüssel tatsächlich zum in der Nachricht genannten Client-Host gehört, dass der angegebene Benutzer auf diesem Host die Anmeldung erlaubt ist und dass der Wert ‚signature‘ eine gültige Signatur über den entsprechenden Wert mit dem angegebenen Hostschlüssel ist. Der Server KANN den Client-‚user name‘ ignorieren, wenn er nur den Client-Host authentifizieren möchte.

Wo immer möglich, wird EMPFOHLEN, dass der Server zusätzliche Prüfungen durchführt, um zu verifizieren, dass die aus dem (nicht vertrauenswürdigen) Netz gewonnene Netzadresse mit dem angegebenen Client-Hostnamen übereinstimmt. Dies erschwert die Ausnutzung kompromittierter Hostschlüssel. Beachten Sie, dass dies für Verbindungen durch eine Firewall besondere Behandlung erfordern KANN.