SSH エージェント転送
SSH エージェント転送 とは何ですか?
SSH エージェント転送OpenSSH の機能で、-A や ForwardAgent yes で有効化すると、リモートホストに UNIX ソケットを公開し、そこからローカルの SSH エージェントを使って次のホストへ認証できる。
SSH エージェント転送を使えば、ローカルで ssh-agent を起動し、秘密鍵をコピーせずにサーバを次々と踏み台越しに渡ることができます。ForwardAgent yes で接続すると、openssh はリモートホストに UNIX ドメインソケット(パスは SSH_AUTH_SOCK)を作成し、署名要求をローカルエージェントに転送します。リスクとして、そのリモートホスト上で root を取れる者は誰でもこのソケットを乗っ取り、ユーザの代わりに任意の到達可能なターゲットに対して署名要求を行えます。matrix.org の 2019 年事件や GitHub.com のサプライチェーン警告などを経て、可能であれば ProxyJump(-J)、短い TTL の SSH 証明書、ハードウェア鍵(FIDO ed25519-sk)を使い、転送が不可避な場合は IdentityAgent や ssh-agent の確認プロンプトを設定することが推奨されています。
● 例
- 01
踏み台で root を持つ攻撃者が SSH_AUTH_SOCK を使い、本番サーバへの認証署名をユーザになりすまして行う。
- 02
ssh -A admin@jump の代わりに ssh -J jump admin@target を使い、秘密鍵を踏み台に渡さない。
● よくある質問
SSH エージェント転送 とは何ですか?
OpenSSH の機能で、-A や ForwardAgent yes で有効化すると、リモートホストに UNIX ソケットを公開し、そこからローカルの SSH エージェントを使って次のホストへ認証できる。 サイバーセキュリティの ネットワークセキュリティ カテゴリに属します。
SSH エージェント転送 とはどういう意味ですか?
OpenSSH の機能で、-A や ForwardAgent yes で有効化すると、リモートホストに UNIX ソケットを公開し、そこからローカルの SSH エージェントを使って次のホストへ認証できる。
SSH エージェント転送 はどのように機能しますか?
SSH エージェント転送を使えば、ローカルで ssh-agent を起動し、秘密鍵をコピーせずにサーバを次々と踏み台越しに渡ることができます。ForwardAgent yes で接続すると、openssh はリモートホストに UNIX ドメインソケット(パスは SSH_AUTH_SOCK)を作成し、署名要求をローカルエージェントに転送します。リスクとして、そのリモートホスト上で root を取れる者は誰でもこのソケットを乗っ取り、ユーザの代わりに任意の到達可能なターゲットに対して署名要求を行えます。matrix.org の 2019 年事件や GitHub.com のサプライチェーン警告などを経て、可能であれば ProxyJump(-J)、短い TTL の SSH 証明書、ハードウェア鍵(FIDO ed25519-sk)を使い、転送が不可避な場合は IdentityAgent や ssh-agent の確認プロンプトを設定することが推奨されています。
SSH エージェント転送 からどのように防御しますか?
SSH エージェント転送 に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
SSH エージェント転送 の別名は何ですか?
一般的な別名: ForwardAgent, ssh -A。
● 関連用語
- network-security№ 1089
SSH 鍵の種類
OpenSSH がユーザおよびホスト認証で受け付ける非対称鍵アルゴリズム。RSA、ECDSA(NIST 曲線)、現在の推奨デフォルトである Ed25519 が含まれる。
- network-security№ 594
known_hosts ファイル
OpenSSH クライアントの ~/.ssh/known_hosts。サーバの公開鍵を固定し、ホスト鍵の変化を検知して中間者攻撃の兆候を捉えるためのファイル。
- identity-access№ 414
FIDO2
FIDO アライアンスの開かれた認証規格で、WebAuthn(ブラウザ API)と CTAP(認証器プロトコル)を組み合わせ、フィッシング耐性のあるパスワードレスサインインを実現する。
- identity-access№ 861
特権アクセス管理(PAM)
管理者権限を持つアカウントやシステムへのアクセスを安全に管理・制御・監視・監査するためのプラクティスとツールの総称。
- defense-ops№ 606
横展開(Lateral Movement)
侵害したホストから環境内の他システムへと攻撃者が横移動するための手法をまとめた MITRE ATT&CK 戦術(TA0008)。
- network-security№ 1087
SSH
RFC 4251 で規定されたポート 22 上の暗号化ネットワークプロトコルで、信頼できないネットワーク上でも認証・暗号化・完全性保護されたリモートログイン、コマンド実行、トンネリングを提供する。