LinuCレベル1 セキュリティ 問37
セキュリティ/セキュリティ管理業務の実施外部に公開するポートを棚卸しするため、サーバー上で「ss -ltn」を実行したところ、次のように表示された。この結果から判断できることとして適切なものはどれか。 State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 80 127.0.0.1:3306 0.0.0.0:* LISTEN 0 511 *:80 *:*
当サイトのオリジナル問題(LinuCレベル1の出題範囲「セキュリティ」に対応。実際の試験問題ではありません)
- A3306番は全インタフェースで待ち受けているため、他のホストからも接続を受け付けられる状態である
- B80番の「*」は待ち受けるアドレスが未設定という意味で、外部からのHTTP接続は受け付けない
- C3306番はループバックアドレスだけで待ち受けており、他のホストからは直接接続できない
- D22番はPeer Addressが0.0.0.0:*のため、接続元が制限されてどのホストからも接続できない
正解:C
解説
ssの-lは待ち受け(LISTEN)状態のソケットだけを、-tはTCPを、-nはポート番号を数値のまま表示します。Local Addressの列は、そのポートをどのアドレスで待ち受けているかを表し、0.0.0.0や*はすべてのアドレス、127.0.0.1はループバックアドレスだけを意味します。ループバックだけで待ち受けているポートには同じホストの中からしか接続できないため、データベースなどを外部に公開しない設定になっているかをこの列で確認できます。実際に他のホストから到達できるかどうかはファイアウォールの設定にも左右されるため、他のホストからnmapで調べる方法もあります。待ち受けているプロセスまで知りたいときは、root権限で-pを付けます。
選択肢ごとの解説
- A誤り。3306番のLocal Addressは127.0.0.1で、ループバックアドレスだけで待ち受けています。全インタフェースで待ち受けている場合は0.0.0.0や*と表示されます。
- B誤り。Local Addressの「*」はすべてのアドレスで待ち受けていることを表します。80番は、どのアドレス宛ての接続も受け付ける状態です。
- C正しい。127.0.0.1:3306はループバックアドレスだけでの待ち受けなので、同じホストの中からしか接続できません。
- D誤り。待ち受け状態のソケットのPeer Addressは、接続相手がまだ決まっていないため0.0.0.0:*や*:*と表示されます。接続元を制限する意味ではありません。