攻撃にさらされる境界面
Web API サーバで待ち受けているポートを確認した結果は次のとおりである。DB にはこのサーバ上のアプリケーションだけが接続し,保守業者はインターネットから SSH でログインして保守を行う。
状態 待受けアドレス:ポート プロセス
LISTEN 0.0.0.0:443 nginx
LISTEN 0.0.0.0:22 sshd
LISTEN 0.0.0.0:3306 mysqld
LISTEN 127.0.0.1:6379 redis-server設計原則の一つである「システムへの攻撃にさらされる境界面の最小化」に基づく対策として,最も適切なものはどれか。
- アnginx の前段に WAF を設置し,443 番ポートに届く攻撃を検知して遮断する。
- イsshd の待受けポートを 22 番から別の番号に変更し,ポートスキャンで発見されにくくする。
- ウmysqld の待受けアドレスを 127.0.0.1 に変更し,外部のホストから DB に接続できないようにする。
- エredis-server を停止するか,ファイアウォールで 6379 番ポートへの外部からの通信を遮断する。
正解と解説を見る
正解 ウ
この問題の基礎知識
- 攻撃にさらされる境界面(アタックサーフェス)は,攻撃者がシステムに侵入したり,影響を与えたり,データを取り出したりできる入口の集合である。使わない機能やインタフェースを無効にして入口を減らすことが最小化に当たる。
- サーバの待受けアドレスが 0.0.0.0 の場合は全てのネットワークインタフェースで接続を受け付け,127.0.0.1(ループバックアドレス)の場合は同じホスト内からの接続だけを受け付ける。
- 待受けポートの一覧(LISTEN 状態のポート)を読むときは,各サービスが外部から到達できる必要があるかを,利用者や接続元などの業務要件と照らし合わせて判断する。
- 境界面の最小化は入口そのものを減らすことであり,必要な入口に届く攻撃を検知・遮断する WAF などの防御や,ポート番号の変更によって発見されにくくする隠蔽とは観点が異なる。
アnginx の前段に WAF を設置し,443 番ポートに届く攻撃を検知して遮断する。
WAF は,必要な入口である 443 番ポートに届く攻撃を検知・遮断する,境界面の防御に当たる対策である。外部から到達できる入口の数は変わらず,外部に公開する必要のない 3306 番ポートが残るので,境界面の最小化として最も適切とはいえない。
イsshd の待受けポートを 22 番から別の番号に変更し,ポートスキャンで発見されにくくする。
待受けポートの番号を変えても,SSH はインターネットから到達できるままであり,攻撃にさらされる境界面は変わらない。発見されにくくするだけの対策である。
ウmysqld の待受けアドレスを 127.0.0.1 に変更し,外部のホストから DB に接続できないようにする。正解
DB はこのサーバ上のアプリケーションからしか使わないのに,0.0.0.0 で全てのインタフェースから接続を受け付けている。ループバックアドレスだけで待ち受けるようにすれば,不要な外部からの入口がなくなり,攻撃にさらされる境界面を縮小できる。
エredis-server を停止するか,ファイアウォールで 6379 番ポートへの外部からの通信を遮断する。
redis-server は 127.0.0.1 だけで待ち受けており,もともと外部のホストからは接続できない。外部に対する境界面を縮小する効果はなく,対策の対象として優先すべきものではない。
検証用の出典出典照合済み
IPA 情報処理安全確保支援士試験 シラバス追補版(科目A-2)Ver.4.0(中分類12 1.(6)④ セキュリティ要件の識別) / NIST Glossary(attack surface) / OWASP Attack Surface Analysis Cheat Sheet照合の根拠(4 件)
- ア(誤り): シラバスは境界面の「最小化」と「防御」を分けており,WAF は必要な入口の防御に当たる
設計原則(最小限の原則,多層防御,システムサービスへのアクセス制限,システムへの攻撃にさらされる境界面の最小化及び防御)
IPA 情報処理安全確保支援士試験シラバス追補版(科目A-2)Ver.4.0 · 中分類12 1.(6)④ セキュリティ要件の識別(新しいタブで開きます) - ウ(正解)・イ(誤り): 境界面は攻撃者が入り込もうとできる点の集合であり,ポート番号を変えても点は残る
The set of points on the boundary of a system, a system component, or an environment where an attacker can try to enter, cause an effect on, or extract data from, that system, component, or environment.
NIST CSRC Glossary(attack surface) · Definitions(新しいタブで開きます) - ウ(正解): 使われていないインタフェースをなくして境界面を縮小する
You also want to look for ways to reduce the size of the Attack Surface when you can by simplifying the model (reducing the number of user levels for example or not storing confidential data that you don't absolutely have to), turning off features and interfaces that aren't being used
OWASP Attack Surface Analysis Cheat Sheet · Managing the Attack Surface(新しいタブで開きます) - エ(誤り)・ウ(正解): 外部からの入口が重点であり,127.0.0.1 だけで待ち受ける redis-server は外部からの入口ではない
Focus on remote entry points – interfaces with outside systems and to the Internet – and especially where the system allows anonymous, public access.
OWASP Attack Surface Analysis Cheat Sheet · Measuring and Assessing the Attack Surface(新しいタブで開きます)
DB はこのサーバ上のアプリケーションだけが使うのに mysqld が 0.0.0.0:3306 で待ち受けているので,不要な外部からの入口である。443 と 22 は業務・保守で必要。OWASP は WAF の導入も境界面の縮小策に挙げるため,アの解説を「必要な入口の防御であり,不要な 3306 番の公開が残る」に改めた。