LinuCレベル1 102試験の例題と解説
1.10.3暗号化によるデータの保護
今回は102試験の試験範囲から、「1.10.3 暗号化によるデータの保護」についての例題を解いてみます。
例題
SSHポートトンネリングを行う場合に、以下の条件に合うコマンドを選択してください。
[条件]
・localhostからtarget.example.comの80番ポートに接続したい
・経由するシステムはrouter.example.comとする
・localhostのリッスンポートは10080番ポートとする
- ssh -L 10080:target.example.com:80 router.example.com
- ssh -L 10080:router.example.com:80 target.example.com
- ssh -L 80:target.example.com:10080 router.example.com
- ssh -L 80:router.example.com:10080 target.example.com
※この例題は実際の試験問題とは異なります。
解答と解説
答えは「1. ssh -L 10080:target.example.com:80 router.example.com」です。
SSHポートトンネルは、SSHの通信経路を利用して、SSH接続先のホストから接続可能なホストと通信をする仕組みです。利用場面としては、直接アクセスできないホストに対して、SSH可能なホストを経由して、アクセスするということが挙げられます。
例題のイメージは以下の通りです。
[localhost:10080] -- SSH 通信 --> [router.example.com] -- HTTP通信 --> [target.example.com:80]
この場合、localhostとrouter.example.comはSSHの通信経路が確立しています。
SSHポートトンネリングを行うと、このSSHの通信経路を利用して、localhost:10080への通信を、target.example.com:80に転送するようになります。
つまり「http://localhost:10080/」などとWEBブラウザに入力すると、target.example.comのWEBサイトが
表示されるようになるというイメージです。
sshコマンドを利用してポートトンネリングを行う場合、コマンドは以下のようになります。
ssh -L [ローカルアドレス:]ローカルポート:転送先ホスト:転送先ポート SSHアクセスホスト
ローカルアドレスを指定しない場合、デフォルトではlocalhostになります。
例題の情報に当てはめていくと、以下のようになります。
・ローカルアドレスはlocalhost
・ローカルポートは10080
・転送先ホストはtarget.example.com
・転送先ポートは80
・SSHアクセスホストはrouter.example.com
このため、選択肢1が正解になります。
なおSSHポートトンネルは、サーバ側の設定で禁止したり、利用できるユーザを制限しない限り、SSHが利用できれば誰でも利用できます。便利な反面、本来利用が許可されていないサービスを利用できてしまうことも考えられるため、SSHのサーバを設定する際には、利用の可否を検討するようにしましょう。
例題作成者
株式会社デージーネット ソリューション開発部 森 彰吾 氏