ネットワーク・通信セキュリティ 重要度:★★★出題: AM2・PM1
SSH公開鍵認証 と ポートフォワーディング・踏み台 (Bastion) 制御
えすえすえいちこうかいかぎにんしょう / ぽーとふぉわーでぃんぐ / SSH Public Key Authentication & Port Forwarding / Bastion Host
サーバ遠隔管理で用いられるSSHの公開鍵認証設定(authorized_keys)と、SSHトンネル経由で内部ネットワークへ通信を転送するポートフォワーディングの仕組みおよび悪用防止策。
3行速習ポイント
- SSH公開鍵認証:クライアント側で保持する秘密鍵(パスフレーズ暗号化保護)と、接続先サーバの ~/.ssh/authorized_keys に登録した公開鍵を用いてチャレンジ&レスポンス署名で認証
- ローカルポートフォワーディング(ssh -L):手元PCのポートへの通信をSSHトンネル経由で踏み台サーバの向こう側の内部サーバへ転送する機能
- リモートポートフォワーディング(ssh -R):内部ネットワークから外部の攻撃者SSHサーバへ外向き接続を張り、外部から内部LANへの逆方向トンネルを開通させる攻撃(防火墙バイパス)に悪用されやすい
図解
図SSH公開鍵認証・踏み台サーバ (Bastion) のセキュア構成とトンネル制御
サーバ基本設定
sshd_config の堅牢化設定
PasswordAuthentication no & PermitRootLogin no
パスワード総当たり攻撃を排除するため公開鍵認証のみを許可し、root直接ログイン禁止と不要なTCPポートフォワーディング(AllowTcpForwarding no)の無効化を実施
↕
公開鍵の権限絞り込み
authorized_keys の制限オプション活用
from="接続元IP"・command="実行コマンド固定"・no-port-forwarding
公開鍵ファイル(authorized_keys)の先頭に制限オプションを記述し、万一バッチ用等の秘密鍵が漏洩しても許可IP以外からの接続や任意コマンド実行を阻止
↕
踏み台・経路統制
ProxyJump (ssh -J) と 逆方向トンネル (ssh -R) 監視
安全な多段接続と、内部からの不正リモートフォワーディング遮断
踏み台上に秘密鍵を置かず手元端末からEnd-to-Endで認証(ProxyJump)し、内部端末から外部攻撃者サーバへの外向きSSH接続(ssh -RによるFWバイパス)を遮断
💡 踏み台へのSSHエージェント転送(ssh -A)は踏み台侵害時に秘密鍵を悪用されるリスクがあるため、手元PCで認証を行う「ProxyJump(ssh -J)」を使用する
概要と本質
クラウドやLinuxサーバの運用管理においてSSHは最も基本的なプロトコルですが、設定不備や秘密鍵の漏洩は即座にサーバ侵害につながります。パスワード認証の無効化(PasswordAuthentication no)、root直接ログイン禁止(PermitRootLogin no)、および不要なポートフォワーディングの無効化がセキュア構成の基本です。
重要ポイント・コア概念
- authorized_keys の制限オプション:from="接続元IP" オプションや command="実行許可コマンド"、no-port-forwarding オプションを公開鍵の先頭に記述することで、万一秘密鍵が漏洩しても悪用範囲を最小化できる
- SSHエージェント転送(ssh -A)のリスク:踏み台サーバへエージェント転送を有効にして接続すると、もし踏み台サーバが侵害されていた場合にメモリ上のソケット経由で手元PCの秘密鍵を悪用されるため、ProxyJump(ssh -J)を使用する
- パスフレーズなし秘密鍵の危険性:CI/CDやバッチ処理用にパスフレーズなしのSSH秘密鍵をソースコードリポジトリに誤コミットすると、即座に不正侵入される
午後記述・情報セキュリティ対策での攻略ポイント
午後試験のインフラ・運用管理問題で「踏み台サーバから本番サーバへSSH接続する際の安全な鍵管理(ProxyJumpの利用やauthorized_keysのfrom指定)」「sshd_configで無効化すべき設定(PermitRootLogin, PasswordAuthentication, AllowTcpForwarding)」が頻出です。
午後記述で使える加点キーワード(クリックでコピー)
関連する重要用語
この用語が出題された過去問を解く(1分演習)
即時アウトプットで定着情報処理安全確保支援士 過去問演習で実践力を鍛える