パケットフィルタリングの必要性
ファイアウォールのアクセス制御の基本となるのが、「パケットフィルタリング」と呼ばれる技術だ。パケットフィルタリングでは、パケットのヘッダに書かれている宛先や制御情報を条件に管理者がルールを設定し、不要なパケットを遮断する(図3)。
パケットフィルタリングで用いられるアクセス制御の具体的なルールは、「ポリシー」と呼ばれる。このポリシーを構成するための要素となるのは、まず攻撃とおぼしきパケットを特定するための条件である。これは、①宛先と送信元のIPアドレス、②送受信の方向、③プロトコル種別、④ポート番号のおもに4つとなる。
そして、通信やパケットを識別する条件を指定したら、次は具体的な動作を設定する。一般的にはパケットの通過と破棄だが、その他ログを取ったり、最近ではトラフィック量などで通信を制限するといった指定も可能だ。
こうしたフィルタリングルールは、管理者によって通常複数設定されている。そのため、ファイアウォールは並べられた順でこれらを適用し、通過と遮断の可否を判断する。
パケットフィルタリングの設定
具体的なパケットフィルタリングのポリシー設定を見ていこう。
ファイアウォールには大きく2つのポリシーがスタート地点として用意されている。すべてを遮断するのが前提で、必要な通信だけ通すという「Deny All」、そして基本的にはすべてを通過させておき、遮断したいものを指定するという「Allow All」である。セキュリティの高さでいえば、前者のほうが強固で一般的だが、設定を間違えると通信ができなくなる。そのため、個人ユーザーにとっては、後者のほうが利用しやすい。
設定の条件のうち、IPアドレスは範囲によってLAN内のクライアントと、インターネット上のサーバを指定するのに利用する。通常、LANのクライアントはプライベートアドレスを割り当てているので、その範囲を指定すればよい。一方、インターネットのホストはIPアドレスが不定なので、「ANY(どれでも)」などという指定を用いる。
具体的なアクセス制御の設定は、TCP/UDPのポート番号によるサービスの指定が一番よく用いられる。これは主要なアプリケーションのサーバ側の待つ受けポートがウェルノウンポートとしてあらかじめ決められているからだ。たとえば、FTPは20/21番、POP3は25番、HTTPは80番、SMTPは110番といった具合である。そのため、宛先となるポート番号を指定すれば、サービスをある程度特定できる。これに対して、破棄や通過といったアクションを組み合わせれば、比較的簡単にポリシーが作成できる※3わけだ。
*3:ポリシーが作成できる たとえば、Webサイトへの利用を禁止するのであれば80番ポート、メールサーバからの受信を遮断するなら25番ポートを閉じればよい。
また、TCPの制御情報であるフラグやICMP、IPsecなどの制御情報もフィルタ設定に利用できる。たとえば、LAN側から送信されたTCPの応答のみを通過させたいとする。この場合は、TCPのコネクション※4が確立した以降にACKのフラグが立つので、これを通過させるように指定すればよい(図4)。一方、インターネット側からのTCP接続要求は、SYNのフラグのみで、ACKフラグはないので、攻撃とみなしてパケットを破棄する。
*4:TCPのコネクション TCPのスリーウェイハンドシェイクにおける、送信元からの接続要求は、宛先のSYNフラグの送信で始まり、宛先側のマシンからの応答以降はACKが挿入される。
(次ページ、「パケットフィルタリングの限界」に続く)
この連載の記事
-
第11回
TECH
正規のユーザーやPCを判断する認証製品 -
第10回
TECH
社内の安全を守るセキュリティ製品の進化を知ろう -
第9回
TECH
検疫からシンクライアントまで!情報漏えいを防ぐ製品 -
第8回
TECH
ITでどこまで実現する?情報漏えい対策の基礎 -
第7回
TECH
インターネットで構築するVPNの仕組み -
第6回
TECH
通信サービスを安価にしたVPNの秘密 -
第5回
TECH
メールソフトのセキュリティとメールの認証 -
第4回
TECH
メールが抱える根本的な弱点とスパム対策 -
第3回
TECH
拡がるWebの脅威と対策を理解しよう -
第2回
TECH
巧妙化する不正プログラムを防ぐには? - この連載の一覧へ