過去問ドリル

LinuCレベル1 セキュリティ 問39

セキュリティ/暗号化によるデータの保護

社内ネットワークにあるサーバーinnerには、外部から直接SSH接続できない。一方、innerから外部の中継サーバーrelayへはSSH接続できる。innerで次のいずれかを実行して接続を張ったままにしておき、relay上で「ssh -p 10022 localhost」を実行するとinnerのSSHサーバーにつながるようにしたい。innerで実行するコマンドとして適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル1の出題範囲「セキュリティ」に対応。実際の試験問題ではありません)

正解:D

解説

sshの-Rオプションはリモートポート転送で、「-R 接続を受けるポート:転送先ホスト:転送先ポート」の形で指定します。接続先(relay)側で10022番ポートが待ち受け状態になり、そこへの接続はSSHのトンネルを通って、ssh を実行した側(inner)から見たlocalhostの22番へ転送されます。-Lのローカルポート転送とは、待ち受ける側と転送先の向きが逆になります。relay側の転送ポートは既定ではループバックアドレスでだけ待ち受け、外部のホストからも使わせるかどうかはrelayのsshd_configのGatewayPortsで制御されます。

選択肢ごとの解説

  • A誤り。-Lはローカルポート転送で、inner側の10022番への接続がrelayから見たlocalhostの22番へ転送されます。relay上の10022番は待ち受け状態になりません。
  • B誤り。-Dは動的ポート転送で、inner側の10022番でSOCKSプロキシが動きます。relay上からinnerのSSHサーバーへつなぐ用途には使えません。
  • C誤り。inner側の22番で待ち受けようとする指定です。22番は特権ポートで、通常はinnerのsshdが使用中のため待ち受けできず、relay上の10022番も使えるようになりません。
  • D正しい。-Rでrelay側の10022番が待ち受け、そこへの接続がinnerから見たlocalhostの22番へ転送されます。
LinuCレベル1の問題を演習モードで解く