ファイアウォール(Firewall)というと防火壁のことだが、コンピュータの世界では、ネットワークの境界でアクセス制御を行うことにより、インターネット等の外部ネットワークから、社内LANなどの内部ネットワークを保護する仕組みのことである。
ファイアウォールは、パケットフィルタリング型とアプリケーションゲートウェイ型の二つに大別される。
いずれの型も、どの通信を許可または禁止するかのルールに基づいてアクセス制御を行うのである。
・パケットフィルタリング
パケットフィルタリングを語る前に、まずは「パケット」とは何ぞやだ。
パケットとは、データをある程度のサイズに分割したもののことである。
パケット単位で小分けにして通信を行うことで、通信途中でエラーが起こっても、エラーが起きたとこのパケットから通信を再開できる利点がある。
パケットは、ヘッダーとデータから構成され、ヘッダーには送信元・宛先IPアドレス等の情報が保存され、これらを用いてパケットを宛先に送信する。
パケットフィルタリングは、パケットのヘッダー情報(IPアドレスとポート番号の組合せ)からパケットの通過可否を判断する。
ここで簡単に、
IPアドレス・・ホストを識別
ポート番号・・アプリケーションを識別
MACアドレス・・ノード(機器)を識別
と認識するとよい。
パケットフィルタリング型のファイアウォールは、フィルタリングテーブルという表を設定して、どの通信を通過させるかを定義する。
送信元IPアドレス | 宛先IPアドレス | 送信元ポート番号 | 宛先ポート番号 | 動作 |
Any | W | Any | 80 | 通過 |
W | Any | 80 | Any | 通過 |
A~C | Any | Any | 80 | 通過 |
Any | A~C | 80 | Any | 通過 |
Any | Any | Any | Any | 禁止 |
パケットを受け取ったファイアウォールは、パケットのヘッダーに記録された送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号と、フィルタリングテーブル各行を上から順に比較し、最初に一致した行に定義された動作を行う。
上図でいうと、上4行に該当しないのは、禁止という動作になるわけだ。(通過させないということ)
パケットフィルタリングは、パケットのヘッダー情報のみを検査し、パケットの内容そのものは検査しない。
このため、IPアドレスやポート番号を偽造したパケットや、悪意のあるデータ(ウイルス込みなど)を含むパケットを通過させてしまう欠点がある。
パケットの内容(データ)に基づく制御は不可能ということだ。
・アプリケーションゲートウェイ
アプリケーションゲートウェイ(ALG: Application Level Geteway)は、プロキシサーバの機能を利用する方式のファイアウォールである。
なお、プロキシサーバとは、代理(proxy)のサーバであり、クライアントからの要求を受けてクライアントの「代理」として他のサーバにアクセスするサーバのことである。
アプリケーションゲートウェイでは、クライアントからの通信要求を受けると、それが許可された通信であれば、通信を代替することによりアクセス制御を行う。
上図のように、アプリケーションゲートウェイでは、アプリケーション層の情報を参照・解析してアクセス制御を行うことができる。
このため、パケットに含まれるURLを検査して特定のURLへの接続を禁止したり、特定の操作を禁止したりと、パケットフィルタリングでは不可能な制御が可能となっている。
ちなみにパケットフィルタリングを同じような図で表現すると以下のようになる。
・ネットワークにおける配置
ファイアウォールやサーバを、ネットワーク上のどこに配置するかで、その安全性を更に高くすることができる。
ネットワークをいくつかのセグメント(領域)に分け、サーバをどこに設置するかを決めていく。
設置領域として、外部セグメント、内部セグメント、DMZ(DeMilitarized Zone:非武装地帯)などが挙げられる。
・外部ネットワーク
ファイアウォールと外部接続用ルータの間にあるネットワーク。サーバ自体はファイアウォールで保護できない。
・内部ネットワーク
ファイアウォールの内側にある保護されたネットワーク。非公開サーバ等を配置する。
・DMZ
外部からも内部からもファイアウォールを介してアクセス可能なネットワーク。サーバが乗っ取られても内部への攻撃はファイアウォールで防げる。
・IDS(侵入検知システム)
ファイアウォールでは、すべての不正なアクセスを遮断できるとは限らない。
そこでIDS(Intrusion Detection System:侵入検知システム)を用いることがある。
IDSは、システムを監視し、不審なアクセスを検出した場合は管理者に警告を発する仕組みである。
IDSは、その監視対象によりNIDS(ネットワーク型IDS)とHIDS(ホスト型IDS)に大別される。
・NIDS
NIDSはネットワーク上(回線上)を流れるパケットを監視し、不正アクセスが検出された場合は管理者に警告する。
NIDSは監視対象によって設置場所が異なる。
IDSの設置場所 | 監視対象 |
ファイアウォールの外側 | ファイアウォールがブロックする攻撃を含んだすべての攻撃 |
ファイアウォールの内側 | 内部の利用者が行う攻撃 |
DMZ | ファイアウォールを通過した公開サーバをターゲットとした攻撃 |
NIDSは、パケットをリアルタイムで受信・解析・記録するための高い性能が要求される。
故に、どのような攻撃を対象とするのかの絞り込みや、配置場所の検討が重要である。
・HIDS
HIDSは監視対象のホストにインストールされ、監視対象のホスト以外の攻撃は検出できない。
・終わりに
安倍総理が退任し菅内閣が誕生した。
この政権で特筆すべきは「行政のデジタル化」を目指そうとしているところだ。
デジタル化に伴い、情報セキュリティの教養を高めることが極めて重要だと思われる。
孫子の兵法で、己を知り敵を知れば百戦危うからず、という格言がある。
セキュリティについて知れば、デジタル化に向けて、少なくとも何も恐れる必要は無いはずだ。