情報セキュリティにおいてもはや必要不可欠の技術である、ファイアウォールの仕組みについて具体的に説明します。
ファイアウォールには以下の2種類があります。
パケットフィルタリング型
パケットには次の4つの情報が含まれています。
・送信元のIPアドレス
・送信元のポート
・送信先のIPアドレス
・送信先のポート
パケットフィルタリング型のファイアウォールはこの4つの情報を元に、外部から流れてくる不要なデータを遮断したり、内部から外部へデータが漏洩したりすることを防ぐことができます。
ただ、データについては確認しないので、データの改ざんを検知することができません。
また、きちんと許可されているIPアドレスやポートを使ってリクエストしてくる、クロスサイトスクリプティングやSQLインジェクション等の攻撃を防ぐこともできません。
アプリケーションゲートウェイ型
このタイプのファイアウォールはHTTPやFTPなど、アプリケーションごとに別々のプロキシサーバというものを使ってフィルタリングを行います。
プロキシは中継専用のプログラムで、クライアントからの接続はこのプロキシ(=ファイアウォール)で確立され、そこから目的の接続先への接続が再度確立されることになります。
パケットフィルタリング型との違いは、送信先、送信元情報だけでなく、パケットのデータの中身もチェックできますが、その反面、処理に時間がかかるという短所もあります。
ファイアウォールでフィルタリングの定義情報をACL(Access Control List)で設定します。
ACLの設定方法としては2つの考え方があります。
・ ポジティブセキュリティモデル
すべての通信を「拒否」し、そこに通信を許可するルールを追加していきます。
このルールは「ホワイトリスト」と呼ばれます。
・ネガティブセキュリティモデル
この方法では、まずすべての通信を「許可」し、そこに通信を拒否するルールを追加していきます。
このルールは「ブラックリスト」と呼ばれます。
ファイアウォールは情報セキュリティの基本技術ですが、必ずしも万能ではありません。
例えば、ファイアウォールのACLによって正当なアクセスだと判断されれば、DoS攻撃の対象となり、ネットワークやサーバがダウンすることもあります。
情報セキュリティに対する脅威の多様性に合わせて、それを防ぐ手段も色々な技術を組み合わせて対応していく必要があるでしょう。