基本情報技術者 2019年 秋期 午前(科目A) 問42
問題文
1台のファイアウォールによって、外部セグメント、DMZ,内部セグメントの三つのセグメントに分割されたネットワークがあり、このネットワークにおいて、Webサーバと、重要なデータをもつデータベースサーバから成るシステムを使って利用者向けのWebサービスをインターネットに公開する。インターネットからの不正アクセスから重要なデータを保護するためのサーバの設置方法のうち、最も適切なものはどれか。ここで、Webサーバでは、データベースサーバのフロントエンド処理を行い、ファイアウォールでは、外部セグメントとDMZとの間、及びDMZと内部セグメントとの間の通信は特定のプロトコルだけを許可し、外部セグメントと内部セグメントとの間の直接の通信は許可しないものとする。
選択肢
ア:WebサーバとデータベースサーバをDMZに設置する。
イ:Webサーバとデータベースサーバを内部セグメントに設置する。
ウ:WebサーバをDMZに、データベースサーバを内部セグメントに設置する。(正解)
エ:Webサーバを外部セグメントに、データベースサーバをDMZに設置する。
##: 外部・DMZ・内部の三層セグメントにおけるWeb公開とDB配置【午前2 解説】
要点まとめ
- 結論: WebサーバをDMZに、データベースサーバを内部セグメントに配置することで重要データを外部から隔離して保護します。
- 根拠: DMZは公衆向けサービス用で攻撃対象になりやすく、内部は信頼域なので機密DBは内部に置くべきだからです。
- 差がつくポイント: ファイアウォールでDMZ→内部へのDBプロトコルのみ許可し、アクセス元をWebサーバに限定して最小権限化と監視を徹底する点です。
正解の理由
正解は ウ です。
Webサーバはインターネットからの要求を受ける公開層としてDMZに置き、重要なデータを持つデータベースはより安全な内部セグメントに置きます。問題文の条件で「外部と内部の直接通信は禁止」「外部↔DMZ、DMZ↔内部は特定プロトコルのみ許可」とあるため、WebはDMZで公開し、DBは内部に置いてDMZ→内部の必要なDBポート(例:TCP/3306など)だけを許可する構成が、攻撃の影響範囲を最小化し要件を満たします。
Webサーバはインターネットからの要求を受ける公開層としてDMZに置き、重要なデータを持つデータベースはより安全な内部セグメントに置きます。問題文の条件で「外部と内部の直接通信は禁止」「外部↔DMZ、DMZ↔内部は特定プロトコルのみ許可」とあるため、WebはDMZで公開し、DBは内部に置いてDMZ→内部の必要なDBポート(例:TCP/3306など)だけを許可する構成が、攻撃の影響範囲を最小化し要件を満たします。
よくある誤解
- 「WebとDBを同じDMZに置けば運用が簡単で安全」:運用は簡単でもDBが直接外部に近い位置に置かれ、攻撃にさらされやすくなります。
- 「両方内部に置けば一番安全」:確かに内部は安全域ですが、外部からのアクセスを可能にするためにファイアウォールで例外を作る必要があり、要件の「外部と内部の直接通信禁止」に反する可能性があります。
- 「Webサーバを外部セグメントに置くのは同じこと」:外部セグメントはより未信頼で保護が薄く、DMZの制御・監視機能(ログ、IDS/IPS、WAFなど)を利用できないことが多く危険です。
解法ステップ
- 問題文の制約を確認:外部↔内部の直接通信は不可、外部↔DMZ・DMZ↔内部は特定プロトコルのみ許可。
- サーバの役割を整理:Webは公開向け(外部に接続される)、DBは重要データ保持(保護が最優先)。
- 各選択肢を当てはめる:公開が必要なWebはDMZへ、DBは内部へ置く構成が制約と合致するか検証。
- セキュリティ原則で評価:最小権限・攻撃面の最小化・監視のしやすさを基準に判断。
選択肢別の誤答解説
- ア: WebサーバとデータベースサーバをDMZに設置する。
誤り。DBもDMZに置くと外部に近くなり攻撃面が広がるため機密性が低下します。DMZは公開サービス用で機密データの保存場所として不適切です。 - イ: Webサーバとデータベースサーバを内部セグメントに設置する。
誤り。内部に置くとDBは安全ですが、Webを公開するには外部から内部へアクセスさせる例外ルールが必要になり、問題文の「外部と内部の直接の通信は許可しない」に矛盾します。 - ウ: WebサーバをDMZに、データベースサーバを内部セグメントに設置する。
正解。Webは公開用DMZに置き、DBは内部に隔離。ファイアウォールでDMZ→内部のDBプロトコルのみを許可することで攻撃範囲を限定できます。 - エ: Webサーバを外部セグメントに、データベースサーバをDMZに設置する。
誤り。外部セグメントに置かれたWebは保護が薄く、さらにDBがDMZにあるため重要データが公開に近い位置になりリスクが高くなります。
補足コラム
- 実務ではWebサーバをDMZに置き、内部のアプリケーションサーバやDBは内部に置く「三層アーキテクチャ」が一般的です。DMZにはロードバランサやリバースプロキシ、WAFを配置して攻撃を吸収・検査します。
- DBへの接続はIPアドレスやMACでWebサーバのみ許可し、通信はTLS等で暗号化、かつ認証は堅牢にすることで更に安全性を高めます。
- 高度な運用では、外部とDMZの間、DMZと内部の間にそれぞれ別個のファイアウォールを置く「二重防御(二重ファイアウォール)」も検討されます。
FAQ
Q1: WebサーバがDMZにあるとDB接続で内部に到達できるのですか?
A1: はい。ファイアウォールでDMZ→内部のDBポートだけを許可すれば、Webサーバから内部DBへ必要最小限の通信のみ可能になります。接続元はWebサーバのアドレスに限定することが重要です。
A1: はい。ファイアウォールでDMZ→内部のDBポートだけを許可すれば、Webサーバから内部DBへ必要最小限の通信のみ可能になります。接続元はWebサーバのアドレスに限定することが重要です。
Q2: なぜWebを外部セグメントに置いてはいけないのですか?
A2: 外部セグメントは一般に防御や監視が弱く、DMZに置くことでWAFやIDS/IPS、ログ収集などの保護機能を活かせます。外部に置くとこれらの利点が失われます。
A2: 外部セグメントは一般に防御や監視が弱く、DMZに置くことでWAFやIDS/IPS、ログ収集などの保護機能を活かせます。外部に置くとこれらの利点が失われます。
Q3: WebサーバとDBの通信も暗号化すべきですか?
A3: はい。内部ネットワークであっても、パケット盗聴や横移動を防ぐためにDB接続はTLSなどで暗号化することが推奨されます。
A3: はい。内部ネットワークであっても、パケット盗聴や横移動を防ぐためにDB接続はTLSなどで暗号化することが推奨されます。
関連キーワード: DMZ、ファイアウォール、セグメント分離、Webサーバ、データベースサーバ、最小権限、ポート制限、WAF、二重ファイアウォール、ネットワーク隔離、バックエンド保護

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

