SSH-Agent-Forwarding
Was ist SSH-Agent-Forwarding?
SSH-Agent-ForwardingOpenSSH-Funktion (mit -A oder ForwardAgent yes), die auf dem Remote-Host einen UNIX-Socket bereitstellt, damit Befehle dort den lokalen SSH-Agent fur weitere Hops nutzen konnen.
Mit SSH-Agent-Forwarding kann ein Benutzer ssh-agent lokal betreiben und uber einen Server zum nachsten springen, ohne private Schlussel zu kopieren. Wenn er sich mit ForwardAgent yes verbindet, legt openssh auf dem Remote-Host einen UNIX-Domain-Socket an (Pfad in SSH_AUTH_SOCK), der Signaturanfragen an den lokalen Agent weiterleitet. Das Risiko: Jeder mit Root-Rechten auf dem Remote-Host kann diesen Socket entfuhren und im Namen des Benutzers Signaturen fur beliebige erreichbare Ziele anfordern, bis die Sitzung endet. Hochkaratige Vorfalle (matrix.org 2019, Supply-Chain-Warnungen bei GitHub.com) fuhrten zur Empfehlung, ProxyJump (-J), kurzlebige SSH-Zertifikate oder hardwaregestutzte Schlussel (FIDO ed25519-sk) zu bevorzugen und IdentityAgent oder Agent-Bestatigungsdialoge zu konfigurieren, wenn Forwarding unumganglich ist.
● Beispiele
- 01
Ein Angreifer mit Root auf dem Jump-Host nutzt SSH_AUTH_SOCK, um Authentifizierungen zu Produktionsservern als Benutzer zu signieren.
- 02
ssh -A admin@jump wird durch ssh -J jump admin@target ersetzt, sodass der private Schlussel niemals den Jump-Host erreicht.
● Häufige Fragen
Was ist SSH-Agent-Forwarding?
OpenSSH-Funktion (mit -A oder ForwardAgent yes), die auf dem Remote-Host einen UNIX-Socket bereitstellt, damit Befehle dort den lokalen SSH-Agent fur weitere Hops nutzen konnen. Es gehört zur Kategorie Netzwerksicherheit der Cybersicherheit.
Was bedeutet SSH-Agent-Forwarding?
OpenSSH-Funktion (mit -A oder ForwardAgent yes), die auf dem Remote-Host einen UNIX-Socket bereitstellt, damit Befehle dort den lokalen SSH-Agent fur weitere Hops nutzen konnen.
Wie funktioniert SSH-Agent-Forwarding?
Mit SSH-Agent-Forwarding kann ein Benutzer ssh-agent lokal betreiben und uber einen Server zum nachsten springen, ohne private Schlussel zu kopieren. Wenn er sich mit ForwardAgent yes verbindet, legt openssh auf dem Remote-Host einen UNIX-Domain-Socket an (Pfad in SSH_AUTH_SOCK), der Signaturanfragen an den lokalen Agent weiterleitet. Das Risiko: Jeder mit Root-Rechten auf dem Remote-Host kann diesen Socket entfuhren und im Namen des Benutzers Signaturen fur beliebige erreichbare Ziele anfordern, bis die Sitzung endet. Hochkaratige Vorfalle (matrix.org 2019, Supply-Chain-Warnungen bei GitHub.com) fuhrten zur Empfehlung, ProxyJump (-J), kurzlebige SSH-Zertifikate oder hardwaregestutzte Schlussel (FIDO ed25519-sk) zu bevorzugen und IdentityAgent oder Agent-Bestatigungsdialoge zu konfigurieren, wenn Forwarding unumganglich ist.
Wie schützt man sich gegen SSH-Agent-Forwarding?
Schutzmaßnahmen gegen SSH-Agent-Forwarding kombinieren typischerweise technische Kontrollen und operative Praktiken, wie in der Definition oben beschrieben.
Welche anderen Bezeichnungen gibt es für SSH-Agent-Forwarding?
Übliche alternative Bezeichnungen: ForwardAgent, ssh -A.
● Verwandte Begriffe
- network-security№ 1089
SSH-Schlusseltypen
Asymmetrische Schlusselalgorithmen, die OpenSSH zur Benutzer- und Host-Authentifizierung akzeptiert: RSA, ECDSA (NIST-Kurven) und der moderne Default Ed25519.
- network-security№ 594
known_hosts-Datei
OpenSSH-Client-Datei (~/.ssh/known_hosts), die offentliche Server-Schlussel verankert, damit SSH Host-Key-Anderungen als Hinweis auf MITM-Angriffe erkennen kann.
- identity-access№ 414
FIDO2
Offener Authentifizierungsstandard der FIDO Alliance, der WebAuthn (Browser-API) und CTAP (Authenticator-Protokoll) für phishing-resistente, passwortlose Anmeldung kombiniert.
- identity-access№ 861
Privileged Access Management (PAM)
Praktiken und Werkzeuge, die Zugriffe auf Konten und Systeme mit erhöhten administrativen Rechten absichern, steuern, überwachen und auditieren.
- defense-ops№ 606
Lateral Movement
MITRE-ATT&CK-Taktik (TA0008), die Techniken bündelt, mit denen sich Angreifer von einem kompromittierten Host auf weitere Systeme in der Umgebung ausbreiten.
- network-security№ 1087
SSH
Ein kryptografisches Netzwerkprotokoll (RFC 4251, Port 22), das authentifizierte, verschlusselte und integritatsgeschutzte Fernanmeldungen, Befehlsausfuhrung und Tunnel uber unsichere Netze ermoglicht.