ファイアウォールとDMZ
パケットフィルタリング型ファイアウォールの往復ルール(ポート番号の組み合わせ)と、ルールが上から順に評価される仕組みを読み解けるようになる。あわせて、DMZにどのサーバを置くか、FWで防げないものは何かを選択肢から見抜けるようになる。
FWのポート設定とDMZのサーバ配置は、本試験と免除試験の両方で何度も出ている定番問題です。仕組みが分かれば毎回同じ型で解けるので、セキュリティ分野で確実に取れる得点源になります。
このレッスンで稽古する(用語チェック・過去問)結論:パケットフィルタリング型FWは「封筒の宛名」だけを見る門番
ファイアウォール(FW)は、社内ネットワークとインターネットの境目に立って、通してよい通信だけを通す門番です。中でもパケットフィルタリング型は、通信の小さな単位(パケット)に付いた宛名ラベルだけを見て、通すか止めるかを決めます。郵便物にたとえると、封筒の差出人と宛先は確認するけれど、封を開けて中の手紙は読まない警備員です。
| 区分 | 中身 |
|---|---|
| 試験で判断材料とされるもの | 送信元・宛先のIPアドレス、送信元・宛先のポート番号(とプロトコル:TCP/UDPなど) |
| 判断材料に含まれないもの(試験上の整理) | MACアドレス、URL(どのページか)、POSTデータなど通信の中身、添付ファイルの中身 |
「判断に使うのはIPアドレスとポート番号」と覚えれば、選択肢でURLやPOSTデータ、MACアドレスが出てきたら外せます。URLや通信の中身を見るのは、WAFやURLフィルタ、プロキシといった別の仕組みです。
ポート番号の基本:サーバ側は決まった番号、PC側は1024以上
ポート番号は、1台のコンピュータの中で「どのサービス宛てか」を区別する番号です。IPアドレスが建物の住所なら、ポート番号は部屋番号にあたります。サーバ側はサービスごとに決まった番号(ウェルノウンポート:0〜1023)で待ち受け、PC側は毎回1024以上の空き番号を一時的に使います。
| プロトコル | 用途 | サーバ側のポート番号 |
|---|---|---|
| HTTP | Webページの閲覧 | 80 |
| HTTPS | 暗号化したWeb閲覧 | 443 |
| SMTP | メールの送信・サーバ間の転送 | 25 |
| POP3 | メールの受信(サーバから取り出す) | 110 |
| IMAP | メールの受信(サーバ上で管理) | 143 |
| DNS | ドメイン名からIPアドレスを調べる | 53 |
| SNMP | ネットワーク機器の監視 | 161 |
| FTP | ファイル転送 | 21(制御)・20(データ) |
※FTPのデータ転送(20番)は、方式によってサーバ側から接続を始めるなど接続の向きが特殊です。次の「PCは1024以上、サーバは固定番号」という往復ルールの型は、HTTPとSMTPで練習するのが確実です。
SMTP=25は送信、POP3=110は受信。メールを「送る」問題で110が混じっていたら、それがひっかけです。
最頻出:往復ルールの型(行きと帰りでポート番号が入れ替わる)
通信は必ず「行き(要求)」と「帰り(応答)」の往復です。帰りの通信では、行きの送信元と宛先がそっくり入れ替わります。ポート番号も一緒に入れ替わる、というのがこの問題の唯一のポイントです。
| 向き | 送信元 | 宛先 | 送信元ポート | 宛先ポート |
|---|---|---|---|---|
| 行き(要求) | PC | サーバ | 1024以上 | サービスの番号(80・25など) |
| 帰り(応答) | サーバ | PC | サービスの番号 | 1024以上 |
覚え方は「サービスの番号は、行きは宛先、帰りは送信元」です。サービスの番号が両方の行で宛先にある表や、両方で送信元にある表は、往復の入れ替えができていないので誤りです。
問題文に「ステートフルインスペクション機能をもたない静的なパケットフィルタリング」とあれば、帰りの通信も自分でルールに書く必要がある、という意味です。ステートフルインスペクションは、行きの通信を覚えておき、それに対応する帰りの通信を自動で通す機能です。この機能が無いFWなので、選択肢の表は行きと帰りの2行セットで書かれています。
ルールは上から順に、最初に一致したもので決まる
FWのルール一覧は上から1つずつ照らし合わせ、最初に一致したルールの動作(許可か禁止か)で決まります。そのあとのルールは見ません。駅の改札で、最初の係員に止められたら奥の係員のところまでは行けないのと同じです。
「」はどんな値でも一致するという意味です。最後の行が「全部で通過禁止」になっているのは、上のどれにも当てはまらない通信をすべて止めるための締めくくりです。
解くときは、パケットの5項目(送信元アドレス・宛先アドレス・プロトコル・送信元ポート・宛先ポート)を、ルール1から1項目ずつ比べます。1項目でも合わなければ次のルールへ進み、全項目が合ったところで止めます。
FWで防げるもの・防げないもの
パケットフィルタリングはIPアドレスとポート番号しか見ません。なので「使っていない番号の通信を止める」ことはできますが、「許可している番号の通信の中身が悪いかどうか」は判断できません。
| 対象 | パケットフィルタリングで防げるか | 理由・向いている対策 |
|---|---|---|
| 外部に公開しないサービスへのアクセス | 防げる | そのポート番号を通さなければよい(公開サービスに影響しない) |
| 公開サービスのプロトコル(Web公開中のHTTPなど) | 止められない | 止めると公開サービス自体が使えなくなる |
| ソフトウェアの脆弱性を突く攻撃 | 防げない | 許可したポートの通信の中身に攻撃が入っている。WAFやIPSで対応 |
| 添付ファイルのマクロウイルス | 防げない | メールの中身は見ない。ウイルス対策ソフトなどで対応 |
| メール爆弾などのDoS攻撃 | 防げない | 正規のポート(SMTP=25)を大量に使うので区別できない |
| 不正サイトへの接続(内→外) | 向かない | パケットフィルタリングはURL(どのページか)を見られない。URLフィルタで遮断する |
「Webページだけを社外に提供する」なら、HTTPは止められないプロトコルです。FTP・SMTP・SNMPは公開する必要がないので止められます。
DMZ:公開するサーバだけを「緩衝地帯」に置く
**DMZ(非武装地帯)**は、インターネットと社内ネットワークの間に設ける、公開用サーバ専用の区画です。外部と社内の直接の通信はFWで禁止して、外部からはDMZまでしか入れないようにします。DMZのサーバが乗っ取られても、重要データのある内部までは直接届きにくくなります。
flowchart LR
A["インターネット(外部セグメント)"] --- F["ファイアウォール"]
F --- D["DMZ:Webサーバ・公開DNSサーバ・メール中継サーバ"]
F --- N["内部セグメント:DBサーバ・社内PC"]
| 置き場所 | 置くもの | 理由 |
|---|---|---|
| DMZ | 外部に公開するWebサーバ、公開DNSサーバ、外部とのメール送受信を中継するSMTPサーバ(メール中継サーバ) | 外部からの通信を受ける必要がある |
| 内部セグメント | 重要データを持つDBサーバなど | 外部から直接届かない場所に置いて守る |
この図で許可されるのは「外部⇔DMZ」と「DMZ⇔内部」の特定のプロトコルだけで、外部⇔内部の直接通信はできません。Webサーバ(DMZ)がDBサーバ(内部)に問い合わせる、という2段構えが正解の形です。
応用として、工場などの制御ネットワークの境界にDMZを作る問題もあります。この場合も考え方は同じで、情報ネットワークとやり取りが必要な機器(例:外部からアップデートを受け取って配るパッチ管理サーバ)だけをDMZに移します。センサやコントローラ、操作端末は制御ネットワークに残します。
URLフィルタ:内側から不正サイトへ出ていく通信を止める
ダウンローダ型ウイルスは、感染したPCから外部の不正サイトに接続して、別のウイルスを取りに行きます。これを防ぐには、内部から不正サイトへの接続をURLフィルタで遮断します。IPSやスパムメール対策は外から内への通信やメールが対象なので、この場面には合いません。
試験での問われ方
- ポート設定の表問題:サービスの番号を間違えた表(SMTPなのに110)と、往復の入れ替えを間違えた表(両方の行でサービスの番号が宛先にあるなど)が並びます。「番号が合っているか」「サービスの番号が行きは宛先、帰りは送信元になっているか」の2段階で絞ります。
- ルール評価の問題:後ろのルールにも一致するパケットを用意して、「許可される」を選ばせようとします。上から見て最初に一致した1つで決まります。
- 防げるもの:脆弱性攻撃・マクロウイルス・DoSといった「中身」や「量」の問題は、パケットフィルタリングの対象外です。
- DMZ配置:DBサーバをDMZや外部側に置く選択肢がひっかけです。公開するものだけがDMZ、重要データは内部です。
静的パケットフィルタリングでSMTP送信を許可するポート番号
| 送信元 | 宛先 | 送信元ポート番号 | 宛先ポート番号 | |
|---|---|---|---|---|
| ア | PC | SMTP サーバ | 25 | 1024 以上 |
| SMTP サーバ | PC | 1024 以上 | 25 | |
| イ | PC | SMTP サーバ | 110 | 1024 以上 |
| SMTP サーバ | PC | 1024 以上 | 110 | |
| ウ | PC | SMTP サーバ | 1024 以上 | 25 |
| SMTP サーバ | PC | 25 | 1024 以上 | |
| エ | PC | SMTP サーバ | 1024 以上 | 110 |
| SMTP サーバ | PC | 110 | 1024 以上 |
ア PC→SMTP サーバ: 送信元ポート番号 25,宛先ポート番号 1024 以上 / SMTP サーバ→PC: 送信元ポート番号 1024 以上,宛先ポート番号 25
イ PC→SMTP サーバ: 送信元ポート番号 110,宛先ポート番号 1024 以上 / SMTP サーバ→PC: 送信元ポート番号 1024 以上,宛先ポート番号 110
ウ PC→SMTP サーバ: 送信元ポート番号 1024 以上,宛先ポート番号 25 / SMTP サーバ→PC: 送信元ポート番号 25,宛先ポート番号 1024 以上
エ PC→SMTP サーバ: 送信元ポート番号 1024 以上,宛先ポート番号 110 / SMTP サーバ→PC: 送信元ポート番号 110,宛先ポート番号 1024 以上
解き方と答えを見る
- 役割を決める:メールを送るPCがクライアント(要求する側)、SMTPサーバがサーバ(待ち受ける側)。
- サービスの番号を決める:メール送信はSMTPなので25番。110番はPOP3(受信)なので、110を使うイとエは除外。
- 行き(PC→SMTPサーバ)を作る:送信元ポート=PCが一時的に使う1024以上、宛先ポート=25。
- 帰り(SMTPサーバ→PC)を作る:行きの送信元と宛先を入れ替えて、送信元ポート=25、宛先ポート=1024以上。
- 残ったアとウを比べる:アは行きの送信元が25で、往復が逆になっている。行きの宛先が25、帰りの送信元が25になっているのはウ。
- 補足:ステートフルインスペクションが無い静的なFWなので、帰りの行もルールとして必要。だから選択肢は2行セットになっている。
答え:ウ(PC→サーバ:1024以上→25、サーバ→PC:25→1024以上)
ルール一覧を上から評価してパケットAの扱いを決める
| 番号 | 送信元アドレス | 宛先アドレス | プロトコル | 送信元ポート番号 | 宛先ポート番号 | 動作 |
|---|---|---|---|---|---|---|
| 1 | 10.1.2.3 | * | * | * | * | 通過禁止 |
| 2 | * | 10.2.3.* | TCP | * | 25 | 通過許可 |
| 3 | * | 10.1.* | TCP | * | 25 | 通過許可 |
| 4 | * | * | * | * | * | 通過禁止 |
| 送信元アドレス | 宛先アドレス | プロトコル | 送信元ポート番号 | 宛先ポート番号 |
|---|---|---|---|---|
| 10.1.2.3 | 10.2.3.4 | TCP | 2100 | 25 |
ア 番号 1 によって,通過を禁止する。
イ 番号 2 によって,通過を許可する。
ウ 番号 3 によって,通過を許可する。
エ 番号 4 によって,通過を禁止する。
解き方と答えを見る
- パケットAの5項目を書き出す:送信元10.1.2.3、宛先10.2.3.4、TCP、送信元ポート2100、宛先ポート25。
- ルール1と比べる:送信元アドレス10.1.2.3が一致。ほかの項目はすべて「*」なので一致。→全項目が一致。
- ルール1の動作は「通過禁止」。最初に一致したので、ここで決まり、残りのルールは見ない。
- 確認(ひっかけの理由):ルール2も宛先10.2.3.*・TCP・宛先ポート25で一致するが、ルール1が先なので使われない。ルール3は宛先10.1.*で、10.2.3.4とは一致しない。
答え:ア(番号1によって通過を禁止する)
要点(試験直前に読む)
- パケットフィルタリング型FWの判断材料は、送信元・宛先のIPアドレスとポート番号(とプロトコル)。URL・中身・MACアドレスは対象外。
- 往復ルールの型:サービスの番号(80・25など)は、行きは宛先、帰りは送信元。PC側は常に1024以上。
- SMTP=25(送信)、POP3=110(受信)、HTTP=80。
- ルールは上から評価し、最初に一致した1つで決まる。後ろのルールは見ない。
- 防げるのは「公開しないサービスへのアクセス」。脆弱性攻撃・ウイルス・DoS、公開中のHTTPは止められない。
- DMZには公開サーバ(Web・公開DNS・メール中継)、重要データのDBは内部。内部から不正サイトへの接続はURLフィルタで止める。
ひっかけ
- メール送信の問題に110(POP3)の表が混じる → 送信はSMTP=25と覚えて消す。
- 往復で送信元と宛先のポートが入れ替わっていない表 → 「サービスの番号は行きは宛先・帰りは送信元」で確認。
- 後ろのルールにも一致するので「許可」を選ばせる → 上から順に見て、最初に一致したルールで止める。
- 脆弱性攻撃・マクロウイルス・DoSを「FWで防げる」と書いた選択肢 → パケットフィルタリングは中身を見ないので不可。
- DBサーバをDMZや外部セグメントに置く配置 → 重要データは外部から直接届かない内部に置く。
用語(16)
ネットワークの境目で、決めたルールに従って通してよい通信だけを通す仕組み。
⚠ IPS(侵入を中身から検知して止める)やWAF(Webアプリへの攻撃を中身から止める)とは、見ている範囲が違う。
パケットの送信元・宛先のIPアドレスとポート番号(とプロトコル)を見て、通すか止めるかを決める方式。
⚠ URLやPOSTデータなどの中身は判断材料にしない。中身を見るのはWAF・プロキシ・URLフィルタ。
行きの通信の状態を覚えておき、それに対応する帰りの通信を自動で通すFWの機能。
⚠ この機能が無い「静的」なパケットフィルタリングでは、帰りの通信も個別にルールに書く必要がある。
1台のコンピュータの中で、通信がどのサービス宛てかを区別する番号。
⚠ IPアドレスはコンピュータ(建物)を、ポート番号はその中のサービス(部屋)を示す。
0〜1023番の、代表的なサービスのために予約されたポート番号(HTTP=80、SMTP=25など)。
⚠ PC側が一時的に使うのは1024以上の番号。
Webページを閲覧するためのプロトコルで、サーバは80番で待ち受ける。
⚠ HTTPSは暗号化版で443番。
メールの送信やサーバ間の転送に使うプロトコルで、25番を使う。
⚠ POP3(110番)は受信用。「送る」ならSMTP=25。
メールサーバから自分宛てのメールを取り出す受信用プロトコルで、110番を使う。
⚠ 送信用のSMTP(25番)と取り違えやすい。
ファイル転送のプロトコルで、制御に21番、データに20番を使う。
ルータなどのネットワーク機器の状態を監視・管理するためのプロトコル。
インターネットと内部ネットワークの間に設ける、公開用サーバを置くための区画。
⚠ 重要データを持つDBサーバはDMZではなく内部セグメントに置く。
Webアプリケーションへの通信の中身(POSTデータなど)を検査して、攻撃を防ぐ仕組み。
⚠ パケットフィルタリング型FWは中身を見ない。
通信を監視して、不正な侵入と判断したものを遮断する仕組み。
⚠ URLフィルタは内部から外部の不正サイトへの接続を止めるもので、対象が違う。
アクセス先のURLを見て、不正サイトや業務に関係ないサイトへの接続を遮断する仕組み。
⚠ パケットフィルタリングはURLを見られない。
感染したPCから外部の不正サイトに接続して、別のウイルスをダウンロードしてくるウイルス。
大量の通信や処理要求を送りつけて、サービスを使えない状態にする攻撃。
⚠ 正規のポートを使うので、パケットフィルタリングでは本来必要な通信と区別できない。
このレッスンの過去問
- パケットフィルタリング型FWのポート番号設定(往復通信)平成30年度 春期 基本情報技術者試験 午前 問44
- パケットフィルタリングのルール評価(上から順に最初に一致したルール)平成27年度 秋期 基本情報技術者試験 午前 問44
- パケットフィルタリング型FWで防げる範囲(ポート番号による遮断)基本情報技術者試験 科目A免除 修了試験 20200614 実施分 問44
- 公開サービスのプロトコルはFWで遮断できない基本情報技術者試験 科目A免除 修了試験 20140727 実施分 問41
- DMZによるサーバ配置設計令和元年度 秋期 基本情報技術者試験 午前 問42
- URLフィルタによる不正サイト接続遮断基本情報技術者試験 科目A免除 修了試験 20140622 実施分 問45