ネットワークスペシャリスト - SE娘の剣 -

左門至峰によるネットワークスペシャリストの試験対策サイトです。勉強方法、合格体験談、合格のコツ、過去問解説、基礎知識などの紹介します。

ファイアウォール(Firewall)

1.ファイアウォール(Firewall)とは

これは簡単ですね。企業内でサーバのセキュリティを高めるために利用されることもあります。正解は「ファイアウォール(Firewall)」です。ネットワークスペシャリスト試験では、Firewallは絶対に理解してもらいたい内容です。

▼firewallの由来
もう少し解説します。fireは「炎」を、wallは「壁」を意味します。firewallは、もともと火事などのときに、炎を防ぐ「防火壁」という意味です。
ネットワークにおけるfirewall(ファイアウォール)は、外部からの炎(攻撃、侵入)を防ぐものになります。

▼firewallの機能
基本的な機能は、フィルタリングの機能です。たとえば、特定のIPアドレスからの通信を許可(or拒否)したり、特定のポート(たとえば、HTTPやSMTPなど)の通信を許可(or拒否)します。
また、ネットワークを①インターネット、②DMZ、③内部セグメントの3つに分ける機能も持ちます。加えて、ルーティング機能も持つことがほとんどです。

▼ポリシー
外から内なのか、内から外なのかという方向によって、FWポリシー(ルール)が変わります。
例えば、江戸時代では東海道などに関所が設けられました。
ここでは、「入り鉄砲、出女」が禁止されました。具体的には、江戸方向への鉄砲を禁止し、江戸から出る女性を厳しくチェックしたと聞いてます。
つまり、方向によってルールが異なります。

外部からの攻撃(鉄砲)を防ぎ、内部の重要資産(女性)の流出を防ぐのは、まさにファイアーウォールですね。

▼firewallの方式
・パケットフィルタリングとサーキットゲートウェイ方式、アプリケーションゲートウェイ方式の3つがある。
・パケットフィルタリング方式では、パケットのヘッダ部分(IPアドレスやポート番号など)を見て通信の許可と拒否を判断する。

▼そもそもファイアウォールは必要なのか?
c2f058cb


なくてもいいと思います。
ファイアウォールは関所に例えられることが多い。関所に限らず家の玄関も外と内の分解点という意味ではファイアウォールと役割は似ている。
ファイアウォールはなぜ必要か。結論からいうとセキュリティの一元管理である。
各サーバやパソコンが個々にパーソナルファイアウォールやアクセス権の設定等により、セキュリティの脅威を防ぐことはできる。DMZに公開されているサーバが良い例である。しかし、個別に対策をするのは大変だし、セキュリティ対策忘れなど漏れもある。だからファイアウォールで一元的にアクセス制御をし、集中ログ管理をし、最近ではUTMに代表されるようなウイルスチェックやSPAMチェックなども行うのである。だから、インターネット回線が遅いからといって、複数のプロバイダと契約して複数の出口を持つ企業はかなり少ない。関所もなるべく山奥の人がそこしか通れないところに配置しているのは、それが理由である。
ファイアウォールがなかったらセキュリティは守れないか?そんなことはない。ファイアウォールがなくても企業のセキュリティは守れる。しかし、個々に対策するのはとても大変である。人間がすることなので、大変になるとミスが出る。そういう意味でファイアウォールがあることにより、セキュリティの運用管理が楽になり、結果的に企業のセキュリティレベルが上がる。

▼【午前問題】ファイアウォールにてpingを止めるには?

過去問(H22SC春午前Ⅱ問11)
DMZ上のコンピュータがインターネットからのpingに応答しないようにファイアーウォールのセキュリティルールを定めるとき、“通過禁止”に設定するものはどれか。※プロトコルを答える

ファイアウォールの設定について問われている。
ポイントはpingに応答しないというところ。pingのプロトコルは何かを答えれば、それが正解である。





正解はICMP。

2.DMZ

DMZ(DeMilitarized Zone)とは、militarize(武装する)の否定(de)のZone(地帯)という直訳通り、非武装地帯です。
ネットワークにおける非武装地帯というのがわかりにくいと思います。
一般には争いをしている2国間で存在します。たとえば、某国では38度線を境に、2㎞ずつの非武装地帯があります。衝突をさけるための緩衝区域としての役割です。国や地域によって事情はことなるようですが、DMZは、両国が行き来できるエリアになります。
ef6167f8.jpg 

これと同じことが、ネットワークにもあるんですね!
その通り。インターネット(外部)と内部LANの中間にあり、両者がお互いに行き来できる唯一のエリアがDMZです。ここにはメールサーバやWebサーバなどの公開サーバが設置され、内部からだけでなく、インターネット側(外部)からもアクセスができます。

このようにネットワークをインターネット、DMZ、内部LANに分ける役割を持つものが、ファイアウォールになります。

ネットワークスペシャリストの過去問では、毎年のようにネットワーク構成図があります。たとえば、H26年午後1問3を例にすると、以下のように、ファイアウォールにて、①インターネット、②DMZ、③内部セグメント、の3つが分離されています。

※図を一部簡略化しています。
DMZ_ネットワークスペシャリスト試験

3.Firewallのルール(ポリシー)

1.Firewallのルール(ポリシー)

▼1.ファイアウォールのルール(ポリシー)について
パケットフィルタリング型ファイアウォール(Firewall)のルール(ポリシー)の例を示す。(※出題はH20SV 午前問題 問45より)

Firewallのルールは、以下にあるようにパケットのヘッダ部分を確認し、アクション(許可か禁止)を決定する。
IPパケットのヘッダを合わせて確認したい。

問題にあるように「ファイアウォールでの処理は、ルール一覧に示す番号の1から順に行い、一つのルールが適用された場合には残りのルールは適用されない。」というのが一般的である。
また、これも製品ごとの仕様であって規格などで決まっているわけではないが、ルールが無ければ基本的に拒否である。(※暗黙のDENY(ANY-ANY-DENY)が設定されているとも考えられる。)
rule

▼2.戻りパケットのルール
書く必要はない。NetScreen/SSGの場合、動的フィルタリングにより、戻りのパケットは自動で許可される。例えば、内部から外部のレンタルサーバにPOP3にてメールを受信するとする。この場合、内部から外部へのPOP3(110)のみを許可すればよく、外部から内部へのPOP3は不要だ。 Ciscoのルータなどでフィルタリングを書く場合は、動的フィルタではないので、戻りもきちんと書く必要がある。

▼3.一般的なルールの考え
この考え方は、理解しておきましょう。

❶全般
 ・基本的には全てのパケットを停止させ、必要なルールだけを開ける。
 ・pingによる疎通試験用にICMPをすべて許可するという設計をする人もいるが、不要なポリシーは停止するのが本来である。
 ・IPアドレスでのポリシーが多いが、外部のサイトはURLで指定することもある。その方が便利なこともある。
 ・ポリシーは上から順にチェックし、合致するものがあれば、そのルールを適用する。つまり、それ以降は見ない。なので、順番は大事だ。

❷外部からDMZ
 ・公開Webサーバなどのために必要なポリシーは、必要なだけ許可する。
例えば、Webサーバであれば、HTTP(80)とHTTPS(443)のみを許可する。公開サーバのIPアドレス宛ては全て許可するような設定はよくない。

❸外部から内部セグメントへのアクセス
 ・外部から内部セグメントへのアクセスはすべて禁止する。
 ・たまに、外部から内部へのポリシーを設定している企業を見るが、これは絶対に推奨できない。すべて禁止にすべきだ。
 ・外部からの通信はすべてDMZのサーバとすべきであり、どうしても許可すべきものがあるなら、DMZに配置すべきである。
なんらかの事情でそれができない場合、送信元IPアドレスを固定するべきである。

❹内部から外部へのアクセス
 ・内部からインターネットへの接続も、内部からのアクセスだから何でも許可するのはよくない。不正な情報漏えいを防ぐためだ。
 ・WebアクセスはProxy経由という場合は、送信元をProxyのみに限定する。
 ・また、プロトコルもHTTPなどと具体的に指定する。FTPを使わないなど、使わないプロトコルは拒否。

2-1.Firewallのポリシー(1)簡単な例

以下のように、FWを中心に、ネットワークが①インターネット、②DMZ、③内部LAN、の3つに分けられています。今回はインターネットとDMZ間のFWのポリシーについて考えます。
・公開サーバは、Web、メール、DNSの3つ
・DNSはプライマリDNSサーバで、セカンダリDNSサーバは、クラウド上のサービスを利用している。
この条件で、インターネットとDMZ間のFWのポリシーを答えよ。
dmz
正解例は以下です。
あくまでも部分的に限定しているので、それ以外の通信も発生する可能性があります。一つの注意点は、セカンダリDNSサーバからのゾーン転送がTCPを使うことです。また、ゾーン転送は、セカンダリDNSサーバからプライマリDNSサーバです。また、外部DNSサーバはキャッシュ機能を持たせていないことがセキュリティ的に望まれるので、外部DNSサーバからインターネット上のDNSサーバへのDNS通信は許可していません。

項番 アクセス経路 送信元 宛先 プロトコル/ポート番号
1 インターネット
→DMZ
any 公開Webサーバ TCP/80
TCP443
2 any 外部メールサーバ TCP/25
3 any 外部DNSサーバ UDP/53
4 セカンダリDNSサーバ 外部DNSサーバ TCP/53
6 DMZ
→インターネット
外部メールサーバ any TCP/25
2-2.Firewallのポリシー(2)過去問1

ネットワークスペシャリスト試験では、ファイアウォールのポリシーに関する出題がよくあります。中途半端な理解だと、また間違えます。
ネスペの本試験で、どんな問題が出ても対応できるように、きっちりと理解してしまいましょう。

では、以下の図だけを見て、Firewallのポリシーを作成してください。
とても勉強になるので、答えを見ずに自分で考えましょう。
(出題はH19NW午後1 問3より)

FW

以下にポリシーを当てはめてください。
書き方は1行目(ポート0)を参考にしてください。
1行目がなぜこうなるかをまずは考えましょう。
・まず、ポート0はインターネットがつながっています。
・次にポート1は公開サーバがあるので、DMZです。
・ポート2は内部セグメントです。
・ポート3は監視用サーバのセグメントになります。

mondai

正解は以下です。自分で納得するようにしてください。
書き方は1行目(ポート0)を参考にしてください。
まず,1行目がなぜこうなるかを考えましょう。1行目はインターネットからのアクセスですので,許可するのはDMZの公開サーバのみです。

2行目はDMZからの通信です。
インターネットからDMZへの通信が「DOMAIN,SMTP,HTTP」なので,DMZからインターネットへの通信も同じという単純な内容ではありません。
このFWがダイナミックパケットフィルタリング機能を持たないのであれば,行き帰りのルールは基本的に同じになりますが,今回はダイナミックパケットフィルタの機能を持つので,行きと帰りは別々に考える必要があります。DMZからインターネットへの通信は,以下の3つです。
①DOMAIN:DNSのゾーン転送やDNSの問い合わせなど
②SMTP:内部から外部へのメール転送
③HTTP:プロキシサーバ(元は内部セグメントのPC)からのインターネットアクセス

3行目は,内部セグメントからの通信です。
インターネットから直接アクセスさせることをしないルールになっています(考え方次第なので,企業によって異なります)。内部セグメントからDMZへの通信は,以下の3つです。
①DOMAIN:PCからDNSの問い合わせ
②SMTP:内部メールサーバからメールの送信
③HTTP:インターネットアクセス

内部セグメントから監視セグメントへの通信は,以下の2つです。
 ①内部セグメントの機器から監視サーバへのTrap
 ②監視用PCから監視サーバへ管理画面(WEB)へのアクセス

4行目は,監視セグメントからの通信で,DMZや内部セグメントへのSNMPによるポーリングなどの通信があります。

seikai
2-2.Firewallのポリシー(2)過去問2

R1NW午後2問2の問題です。本文に構成に関する詳細な記載がありますが、今回は構成図だけで考えましょう。
fw構成
では、この構成図におけるFWのルールですが、以下の空欄を答えましょう。

fw_mondai





正解は以下です。
また、空欄アには x.y.x.1(R社DNSサーバ、セカンダリDNS)が入ります。
policy_q

4.動的パケットフィルタリング機能とステートフルインスペクション

■1.動的パケットフィルタリング機能
ファイアウォールには静的フィルタリングと動的フィルタリングがあります。静的・動的ルーティングと同じようなものです。静的フィルタリングは、ポリシーに書いた通りに動作します。よって、戻りのパケットも許可したいのであれば、そのポリシーを記載する必要があります。一方、動的フィルタリングは、戻りのパケットは自動で許可されます。戻りのパケットのポリシーが自動で(動的に)作成されるからです。そして、通信が終了したら、このポリシーは自動で削除されます。
多くのファイアウォール製品では、動的フィルタリングを採用しています。また、動的フィルタリングは、ステートフルインスペクションと呼ばれることもあります。

過去問(H24SC秋午前2問6)では、「ファイアウォールにおけるダイナミックパケットフィルタリングの特徴」として、「戻りのパケットに関しては,過去に通過したリクエストパケットに対応したものだけを通過させることができる」とある。

過去問(H21年春AP問9より)
「社内LAN上のクライアントPCから、TCPを使ったインターネット上のWebサイト参照に関しては、フィルタリングテーブルが表のように設定されている。クライアントPCから図1のWebサーバAを参照した際の応答のパケットを通過させるために、例えばクライアントPC(192.168.10.5)からフィルタリングテーブルの行番号10によって許可されるパケットを送信すると、動的パケットフィルタリング機能では行番号10と行番号20の間に行番号15の行を挿入する。行番号15の行は、TCPセッションの終了パケット受信後に削除する。」

表 フィルタリングテーブル(抜粋)
〔番号〕〔向き〕〔送信元IPアドレス〕〔送信先IPアドレス〕〔プロトコル〕〔送信元ポート番号〕〔送信先ポート番号〕〔処理〕
〔10〕〔OUT〕〔C〕〔anywhere〕〔TCP〕〔any〕〔80〕〔許可〕
〔20〕〔OUT/IN〕〔anywhere〕〔anywhere〕〔TCP〕〔80〕〔any〕〔遮断〕

では、ここで問題。
行番号15のフィルタリングテーブルを書け。但し、WebサーバのIPアドレスは、210.2yy.1yy.100とする。

パケットフィルタリングには、静的と動的の2種類がある。Cisco ルータでの設定例は以下であるが、通信は行きと帰りがあり、両方の設定を考えなければいけない。
※Ciscoルータの場合、デフォルトでは全ての通信を許可するため、行きを許可すれば、戻りは自動で通過する。





正解は以下です。
〔15〕〔IN〕〔210.2yy.1yy.100〕〔220.1xx.2xx.4〕〔TCP〕〔80〕〔1024〕〔許可〕

一般的には、ファイアウォールでは動的フィルタリングで、ルータでパケットフィルタリングを書くときは、静的フィルタリングになります。
ネットワークスペシャリストを目指す女性SEあれ? 

毎回戻りのルールを書くのって面倒ですね
たしかにそう。でも、それほど面倒なことにはならないよ。
少し詳しく説明します。ファイアウォールとルータは用途が少し違います。ファイアウォールは、守るための装置で、パケットは原則拒否し、許可するものだけ通します。ルータはパケットを転送するための装置で、パケットは原則許可し、拒否するものだけ禁止するのが一般的です。よって、ルータでフィルタリングをする場合は、拒否するルールだけを書くことが多いのです。拒否する場合は、行きのパケットを拒否すれば十分です。行きのパケットが無ければ、もちろん戻りのパケットも無いからです。
2
■2.ステートフルインスペクションと動的フィルタリングの違い
まず、ステートフルインスペクション機能について解説します。
ネットワークスペシャリスト試験では、ほとんど問われたことはありませんが、過去問(H21春AP問9)では「パケットの順番を管理するTCPヘッダのシーケンス番号の妥当性を確認して通過させる」とありました。
ステートフルインスペクションに関しては、Check Point社が提唱したと思います。ややベンダ固有の名称でもあるので、今後は問われることはあまりないでしょう。
ただ、多くのファイアウォールで基本的には実装している機能です。なので、言葉と、その仕組みは理解しておきましょう。まずは言葉通り、ステート(状態)をフルに探索(インスペクション)するという意味で考えておきましょう。

ステートフルインスペクション動的フィルタリングの違いは?

両者は明確に分けられるものではなく、一部オーバラップするものである。
文献により両者を分けてるものもあれば、どちらか一方で全てを表しているものもある。
「明確な違いは何か?」「この機能はどっちを指しているのか?」などとあまり神経質に考える必要はない。
しょせんは「ただの言葉」である。
ef6167f8.jpg 


バカボンド(講談社)にて、「天下無双とはただの言葉」と述べられていました。
それと同じかな?
まあ、そんな感じでしょう。
大事なのは言葉が何を意味しているかだ。動的フィルタリングは静的フィルタリングの対としてできた言葉であるし、ステートフルインスペクションとは 状態をフルに探索するという意味だ。
その点をシンプルに考えていただければよい。

5.ファイアウォールの冗長化

1.FWの冗長化

ネスペ26に詳しく解説していますので、そちらもご参照ください。
(1)HA
FWの冗長化はHA(高可用性:High Availability)と呼ばれます。
H26NW午後1問2で詳しく問われました。
(2)ActiveとStandby
FWの動作状態には、Active(活動中)と、Standby(待機中)があります。通常は、問題文にあるように「通常時,  FWは,必ず主系がActive動作になり,副系がStandby動作に」なります。
 しかし、FW1が故障すると,FW1は主系でありながらStandby動作になります。同時に、FW2が副系でありながらActive動作になります。

2.冗長化のプロトコル

 FortiGateによるFWの冗長化の仕組みは、以下の2つがあります。
 ①一般プロコル(VRRP)を利用したもの
 ②独自プロトコルを利用したもの。FortiGateの場合はFGCP(FortiGate Cluster Protocol)です。
 実際の現場でも②の独自プロトコルを使うことがほとんどです。なぜなら、VRRPではセッション情報などの同期ができないからです。
 ここにおいて、セッション情報の同期はとても大事です。
 
■ステートフルフェールオーバ 
 ネットワークスペシャリスト試験の過去問(H26NW午後Ⅰ問2)では、「FWが通信の中継のために管理している情報(以下,管理情報という)を自動的に引き継ぐ〔 イ:ステートフル 〕フェールオーバ機能を動作させている」とあります。イに入る言葉は,ステートフルフェールオーバ機能です。
 他の過去問では「ステートフルフェールオーバの機能」として、「1台のFWが故障したときでも処理を中断させることなく,もう1台のFWで処理を継続させる(H22秋NW試験午後Ⅰ問3)」。
 また、H30秋午後Ⅱ問2でも、ステートフルフェールオーバが、穴埋めで問われました。

3.設定例

FortiGateによるHAの設定例を紹介します。
もちろん、設定を覚える必要も、理解する必要もありません。イメージを掴むものと考えてください。

■主系の設定
config system ha ←HAを設定するモードに入る
set group-name "fw-ha" ←HAのグループ名(※主系と副系で一致させる)
set mode a-p ←Active-Standbyモード
set hbdev "wan2" 0 ←HeartBeatのインターフェースとしてwan2を指定する
set override disable ←自動切り戻しをしない
set priority 200 ←主系は優先度が高い(200)
set monitor "internal1" "wan1" ←監視ポートとして、internalとwan1のインターフェースを設定する。このポートとの通信ができなくなったら、副系にその旨を伝え、副系がActiveに切替わる

6.uRPFによるフィルタリング

uRPFによるフィルタリングに関して、ネットワークスペシャリスト試験の過去問(R1NW午後2問2)を見てみよう。

過去問(R1NW午後2問2)
我が社が利用しているISPでは,①利用者のネットワークとの接続ルータで,uRPF(Unicast Reverse Path Forwarding)と呼ばれるフィルタリングを行っているので,偽装されたパケットが当社に到達することは少なくなっていると考えられる。

設問3(1) 下線①のフィルタリングの内容を答えよ。

uRPFは、過去問にも出たことがないキーワードで、採点講評にも、「設問3(1)は正答率が低かった。uRPF(Unicast Reverse Path Forwarding)は、なじみの薄い技術だったようであるが、送信元を偽装した通信の防御方法の一つであり、是非、知ってほしい」とある。





解答例:ルータが受信したパケットの送信元IPアドレスが,ルーティングテーブルに存在しない場合,受信したパケットを破棄する。

ルータは通常、宛先IPアドレスしか見ませんが、uRPFでは送信元IPアドレスも見る。そして、送信元IPアドレスが偽装されていないかを判断する。

以下の図で解説します。右側にあるW社は、プロバイダPを経由してインターネットに接続しています(図①)。左側の顧客Aも同様で、プロバイダPに接続しています(図②)。プロバイダPのルータR1のルーティングテーブルをみてみましょう。顧客A宛て(1.1.a.0/24)のパケットは、ポートP1から出力します(下図③)。

ここで,顧客Aのネットワークから、送信元IPアドレスが3.3.b.xに偽装されたパケットがISPに届いたとします(下図④)。

urpf
ISPのルータR1は、受信したパケットの送信元IPアドレスが,ルーティングテーブルに存在するかを確認します。今回は、3.3.b.xのIPアドレスがR1のルーティングテーブルに存在しないので、不正なパケットとして破棄されます。

ネットワークスペシャリストを目指す女性SEあれ? 

でも、プロバイダはインターネットという世界中のネットワークにつながっています。デフォルトゲートウェイを含めて、どこかに経路情報が記載されているはずです。
なるほど、3.3.b.xのIPアドレスは、インターネットのどこかに存在するから、R1のルーティングテーブルにあるということですね。しかし、その場合、3.3.b.xの出力インターフェースはP1ではなくP2になるはずです。P1から届くということは、不正なパケットです。このように、uRPFでは、経路情報と出力インターフェースが一致しない場合にも、不正なパケットと判断して破棄します。