LinuCレベル1 Version 4.0 102試験の例題と解説
110.3 暗号化によるデータの保護
■トピックの概要
このトピックの内容は以下の通りです。
<110.3 暗号化によるデータの保護>
重要度 3
<説明>
公開鍵技術を使用して、データおよび通信を保護できる。
<主要な知識範囲>
・基本的なOpenSSH 2クライアントの設定および利用方法
・OpenSSH 2サーバのホストキーの役割について理解している
・基本的なGnuPGの設定および利用方法
・SSHポートトンネル(X11トンネルを含む)について理解している
<重要なファイル、用語、ユーティリティ>
・ssh
・ssh-keygen
・ssh-agent
・ssh-add
・~/.ssh/id_rsa および id_rsa.pub
・~/.ssh/id_dsa および id_dsa.pub
・/etc/ssh/ssh_host_rsa_key および ssh_host_rsa_key.pub
・/etc/ssh/ssh_host_dsa_key および ssh_host_dsa_key.pub
・~/.ssh/authorized_keys
・/etc/ssh_known_hosts
・gpg
・~/.gnupg/
■例題
SSHポートトンネリングを行う場合に、以下の条件に合うコマンドを選択してください。
[条件]
・localhostからtarget.example.comの80番ポートに接続したい
・経由するシステムはrouter.example.comとする
・localhostのリッスンポートは10080番ポートとする
1. ssh -L 10080:target.example.com:80 router.example.com
2. ssh -L 10080:router.example.com:80 target.example.com
3. ssh -L 80:target.example.com:10080 router.example.com
4. ssh -L 80:router.example.com:10080 target.example.com
※この例題は実際の試験問題とは異なります。
解答と解説
答えは「1. ssh -L 10080:target.example.com:80 router.example.com」です。
例題のイメージは以下の通りです。
[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のサーバを設定する際には、利用の可否を検討するようにしましょう。
■例題作成者 株式会社デージーネット ソリューション開発部 森 彰吾 氏