基本情報技術者 2009年 春期 午後 問04
パケットフィルタリングに関する次の記述を読んで、設問1,2に答えよ。
X社では、図に示すネットワークを構築し、インターネットへのWebサイトの公開と電子メール(以下、メールという)の送受信を行っている。

X社のネットワークは二つのファイアウォールによって、DMZ及び社内LANの二つのセグメントに分けられている。Webサーバ、メールサーバ及びデータベースサーバ(以下、DBサーバという)は、それぞれ次の役割を果たしている。
(1) Webサーバ
Webサイトとして、自社の情報をインターネットに公開する。Webサーバ上では、社外との取引情報を処理するプログラムが動作する。このプログラムが利用するデータはDBサーバ上に格納される。
(2) メールサーバ
社外とのメールの送受信を行う。また、取引先に対してメールを自動配信するプログラムが動作する。メール配信のためのデータはDBサーバ上に格納される。
(3) DBサーバ
Webサーバ及びメールサーバで利用するデータを格納する。
社内LANに接続された管理用PCからは、SSHを使った各サーバへのログイン操作と、メールサーバを介した外部とのメール送受信が可能である。管理用PCから自社Webサーバの参照はできるが、社外Webサイトの利用は許可されていない。
ネットワーク上で使われるプロトコルとポート番号を表1に示す。

設問1:
問題文を見る 次の記述中のに入れる正しい答えを、解答群の中から選べ。解答は重複して選んでもよい。
インターネットとDMZをつなぐファイアウォールAのパケットフィルタリングの設定を表2に示す。また、DMZと社内LANをつなぐファイアウォールBのパケットフィルタリングの設定を表3に示す。
フィルタリングの設定ルールは、送信元のIPアドレス、あて先のIPアドレス及び接続先ポート番号を指定して通信の許可/拒否を制御する。設定は上の行のルールから調べて、最初に条件が合致した行の動作を実行する。また、応答パケットについては動的フィルタリング機能によって自動的に許可されるので設定は不要なものとする。


a, cに関する解答群
ア:DBサーバ
イ:Webサーバ
ウ:管理用PC
エ:メールサーバ
オ:任意
b, dに関する解答群
ア:22
イ:25
ウ:80
エ:110
オ:1999
模範解答
a:エ、b:イ、c:エ、d:エ
解説
解答の導き方
まず、表の各行は「送信元」「あて先」「ポート番号」の条件に合う通信を許可または拒否します。ポート番号は、サーバ上のどのサービスを利用する通信かを区別する番号です。条件は上から順に調べ、最初に合った行の動作を行います。最後の「任意・任意・任意」の行は、それまでの許可ルールに合わなかった通信を拒否する設定です。
また、問題文には「応答パケットについては動的フィルタリング機能によって自動的に許可」とあります。動的フィルタリングとは、許可した通信に対する返事の通信を自動で通す仕組みです。そのため、ここでは通信を始める側から相手に向かうルールを考えます。
ファイアウォールAの設定
図では、ファイアウォールAがインターネットとDMZ(Demilitarized Zone:インターネットに公開するサーバを置くネットワーク)の間にあります。表2の上の2行は、外部からWebサーバやメールサーバに接続する通信を許可しています。
- Webサーバを公開する通信は、任意の送信元からWebサーバのポート番号80への通信です。表1では、ポート番号80はHTTP(Hypertext Transfer Protocol:Webページを送受信するための通信方式)です。
- 外部からメールを受け取る通信は、任意の送信元からメールサーバのポート番号25への通信です。ポート番号25はSMTP(Simple Mail Transfer Protocol:メールを送信・転送するための通信方式)です。
次に、メールサーバが社外へメールを送る場合を考えます。通信を始めるのはメールサーバで、接続先は社外のメールサーバです。したがって、送信元はメールサーバ、あて先は任意、ポート番号はSMTPの25です。
よって、表2の空欄aは「メールサーバ」、bは「25」です。ここで、上から2行目の「任意からメールサーバへポート番号25」と、3行目の「メールサーバから任意へポート番号25」は、同じ25番でも通信の向きが異なります。
ファイアウォールBの設定
ファイアウォールBは、DMZと社内LAN(Local Area Network:社内など限られた範囲で使うネットワーク)の間にあります。表3の最初の2行は、WebサーバやメールサーバからDB(Database:データを整理して保存する仕組み)サーバへ、ポート番号1999で接続する通信を許可しています。これは、両サーバがDBサーバ上のデータを利用するためです。
管理用PCからメールを送る場合は、管理用PCからメールサーバへSMTPで接続します。表1でSMTPのポート番号は25なので、表3の「管理用PCからメールサーバへ、ポート番号25」の行が該当します。
一方、メールを受信するときは、管理用PCがメールサーバからメールを取り出します。この受信に使う通信方式はPOP3(Post Office Protocol version 3:メールサーバからメールを受け取るための通信方式)で、表1のポート番号は110です。したがって、通信の送信元は管理用PC、あて先はメールサーバ、ポート番号は110です。
よって、表3の空欄cは「メールサーバ」、dは「110」です。管理用PCからメールサーバへのSSH(Secure Shell:ネットワーク越しに安全にログインするための通信方式)や、自社WebサーバへのWebアクセスなどは、それぞれ別の行で許可されています。管理用PCから社外Webサイトへの通信は許可する行がないため、最後の拒否ルールに該当します。
誤りやすいポイント
- ポート番号25だけを見て通信の向きを決めないこと
ポート番号25は、外部からメールサーバへメールを届けるときにも、メールサーバから社外へメールを送るときにも使います。送信元とあて先を合わせて確認します。 - メールの送信と受信で使う通信方式を混同しないこと
メールの送信・転送はSMTPの25、メールサーバからの受信はPOP3の110です。 - 応答の通信にも許可ルールが必要だと思い込まないこと
問題文では、応答パケットは動的フィルタリングによって自動的に許可されるとしています。通信を始める側のルールを考えます。 - 「任意」を「どの通信にも必ず当てはまる」と考えないこと
「任意」はその欄の値を問わないという意味です。ほかの欄の条件も含めて、行全体に一致するかを確認します。
FAQ
Q: メールを受信するとき、なぜ管理用PCからメールサーバへ通信するのですか?
A: この問題では、管理用PCがメールサーバからメールを取り出すためにPOP3を使います。そのため、通信を始める側は管理用PCで、接続先はメールサーバです。
A: この問題では、管理用PCがメールサーバからメールを取り出すためにPOP3を使います。そのため、通信を始める側は管理用PCで、接続先はメールサーバです。
Q: ファイアウォールAの2行目と3行目は、どちらもポート番号25なのに、別々のルールが必要なのですか?
A: 通信の向きが違うためです。2行目は外部からメールサーバへの通信、3行目はメールサーバから外部への通信を許可します。
A: 通信の向きが違うためです。2行目は外部からメールサーバへの通信、3行目はメールサーバから外部への通信を許可します。
Q: 表の最後に「任意・任意・任意」の拒否ルールがあるのはなぜですか?
A: 個別に許可した通信だけを通し、それ以外の通信を拒否するためです。許可ルールにない通信が通るのを防げます。
A: 個別に許可した通信だけを通し、それ以外の通信を拒否するためです。許可ルールにない通信が通るのを防げます。
関連キーワード: パケットフィルタリング、動的フィルタリング、DMZ、SMTP、POP3
設問2:
問題文を見る X社のネットワークでは、ファイアウォールによるパケットフィルタリングによって、インターネット接続に伴うセキュリティ上のリスクを低減しているが、パケットフィルタリングは、すべての脅威に対する防御とはならない。パケットフィルタリングによって防ぐことができるセキュリティ上のリスクとして、正しい答えを解答群の中から二つ選べ。
解答群
ア:Webサイトとやり取りされるデータの盗聴や改ざん
イ:WebサイトへのSQLインジェクション攻撃
ウ:インターネットからDMZ内のサーバへの許可されていないポートでの接続
エ:インターネットから社内LANへの不正アクセスによる攻撃
オ:メールによる社内からのファイル流出
模範解答
ウ、エ
解説
解答の導き方
この設問では、パケットフィルタリングで防げるのが、どのような種類のリスクかを考えます。
パケットフィルタリングは、ネットワークを流れるデータのまとまりであるパケットについて、送信元や宛先、通信方式、ポート番号などを見て、通信を通すか止めるか決める方法です。ポート番号は、Webやメールなど、通信先のサービスを区別する番号です。
図の構成では、インターネットとDMZ(DeMilitarized Zone:外部公開サーバを置き、社内LANから分けた区域)の間にファイアウォールAがあり、DMZと社内LAN(Local Area Network:限られた範囲のネットワーク)の間にファイアウォールBがあります。ファイアウォールは、通信を許可するか遮断するかを決める仕組みです。このように境界に置かれたファイアウォールで、必要な通信だけを通し、それ以外を止められます。
表1では、WebにHTTP(Hypertext Transfer Protocol:Webページをやり取りするための通信方式)の80、メール転送にSMTP(Simple Mail Transfer Protocol:メールを送信・転送するための通信方式)の25が使われています。つまり、ファイアウォールは、こうしたポート番号を手掛かりに、許可する通信と止める通信を分けられます。
まず、ウは「インターネットからDMZ内のサーバへの許可されていないポートでの接続」です。Webやメールなど、業務に必要な通信だけを許可し、必要のないポートへの通信を遮断すれば、不許可のポートを使った接続を防げます。これはパケットフィルタリングで防げるリスクです。
次に、エは「インターネットから社内LANへの不正アクセスによる攻撃」です。ファイアウォールBはDMZと社内LANの間にあるため、社内LANへ向かう許可されていない通信を遮断できます。ファイアウォールAとBで通信を制限することで、インターネットから社内LANへの不正な接続を防げます。
一方、アの「Webサイトとやり取りされるデータの盗聴や改ざん」は、通信に使うポートを許可するかどうかだけでは防げません。Webサイトとの通信を許可したままデータを安全にやり取りするには、通信の暗号化などが必要です。
イのSQLインジェクションは、データベースを操作する言語であるSQL(Structured Query Language)を悪用し、不正な命令をWebサイトに送り込む攻撃です。Webの通信として許可されたポートを使って届くことがあるため、ポート番号を確認するだけのパケットフィルタリングでは、攻撃の内容を見分けられません。
オの「メールによる社内からのファイル流出」も、メールの通信を許可している場合、通信に使うポート番号だけでは、送信内容が機密ファイルかどうかを判定できません。メールの送受信に必要な通信を通しながら、ファイル流出だけをパケットフィルタリングで見分けることはできません。
誤りやすいポイント
- ファイアウォールがあるからといって、すべての攻撃を防げるわけではありません。パケットフィルタリングが判断できるのは、主に通信元・通信先やポート番号などです。
- 許可されたポートを使う通信なら安全、とは限りません。SQLインジェクションのように、正規のWeb通信に見える形で攻撃される場合があります。
- メールの通信を通す設定では、メール本文や添付ファイルの中身まで、ポート番号だけで判定できるわけではありません。
- DMZと社内LANの間にファイアウォールがある点を見落とすと、インターネットから社内LANへの不正な通信を遮断できることに気づきにくくなります。
FAQ
Q: パケットフィルタリングは、通信の中身も確認しますか?
A: 基本的には、送信元や宛先、通信方式、ポート番号などを使って通信を通すか止めるか判断します。通信の内容が安全かどうかまでは、ポート番号の確認だけでは判断できません。
A: 基本的には、送信元や宛先、通信方式、ポート番号などを使って通信を通すか止めるか判断します。通信の内容が安全かどうかまでは、ポート番号の確認だけでは判断できません。
Q: 必要なポートを許可したら、そのポートを使った攻撃も防げなくなりますか?
A: ポート番号だけで不正な内容を見分けるのは難しいですが、送信元や宛先などの条件を加えて通信を制限できます。また、通信内容を検査する仕組みなど、別の対策を組み合わせます。
A: ポート番号だけで不正な内容を見分けるのは難しいですが、送信元や宛先などの条件を加えて通信を制限できます。また、通信内容を検査する仕組みなど、別の対策を組み合わせます。
Q: DMZにサーバを置けば、社内LANへの攻撃は完全になくなりますか?
A: 完全にはなくなりません。DMZと社内LANの間の通信を制限することでリスクを下げられますが、許可された通信を悪用する攻撃などには、別の対策も必要です。
A: 完全にはなくなりません。DMZと社内LANの間の通信を制限することでリスクを下げられますが、許可された通信を悪用する攻撃などには、別の対策も必要です。
関連キーワード: パケットフィルタリング、ファイアウォール、ポート番号、DMZ、SQLインジェクション



