【決定版】ファイアウォールの概要

【決定版】ファイアウォールの概要

ファイアウォール

ファイアウォールとは、「外部からの攻撃を防御すること」を目的としてコンピューター上にインストールするソフトウェアや、ネットワーク上に設置するハードウェアの総称です。詳しくは本章で後述しますが、ファイアウォールには、ソフトウェア/ハードウェアを含め、さまざまな形態のものが存在します。たとえば、「パケットフィルター型ファイアウォール」や「アプリケーションゲートウェイ型ファイアウォール」などがあります。

次項で説明する「Webアプリケーションファイアウォール」などもその一例です。昨今は、インターネット経由で攻撃を仕掛けられるのが当たり前という状況なので、システムのセキュリティを確保するうえでファイアウォールは不可欠です。ちなみに「ファイアウォール」とは、本来は外部の火災から身を守るための「防火壁」のことです。この「火災」をインターネット上の外敵になぞらえて、その敵から守るシステムのことをファイアウォールと呼んでいます(由来は諸説あります)。

ファイアウォールによる通信可否の制御

ファイアウォールは、ネットワーク間の通信可否を制御します。このとき対象となるネットワークの種類は、基本的な製品の場合は「内部ネットワーク」と「外部ネットワーク」の2種類です。事前にこの2種類のネットワークを定義したうえで、ネットワーク間の通信可否を制御します。より高機能な製品の場合は、上記の2種類に加え、さらに「DMZ」(DeMilitarized Zone) と呼ばれるネットワークを加えた3種類のネットワーク間での通信可否を制御できます。

通常、ファイアウォールは、TCP/IPヘッダーに含まれる IPアドレスや TCP/UDP ポート番号、通信状態などを利用して通信可否を制御しますが、高機能な装加ではヘッダー以外の通信データを手がかりにして通信制御を行うことも可能です。ファイアウォールは、現在のインターネット利用を考えると、必要不可欠な機能ですが、きちんと導入するためには、適切なネットワーク設計が不可欠ですし、適切に稼動させ続けるためには運用を考慮する必要もあります。

Webアプリケーションファイアウォール

Web アプリケーションファイアウォール (Web Application Firewall : WAF)は、Web アプリケーションの通信の制御に特化したファイアウォールです。とはいえ、処理内容自体は、基本的には一般のファイアウォールと同じで、「外部ネットワークからの通信を決められた通信可否を判断するルールに従ってフィルタリング」します。WAF と一般のファイアウォールとの違いは「ルールのもとになる情報源」にあります。一般のファイアウォールが TCP/IP ヘッダーに含まれる各種情報に基づいてルールを決めるのに対して、WAF では Web のプロトコルである HTTPのフォーマットに基づいてルールを決めます。

WAFによる悪意のある者からの攻撃の防止

SQLインジェクション やOSコマンドインジェクション、クロスサイトスクリプティングで解説したように、Web アプリケーションに対する攻撃は HTTP 通信の形でやってきます。SQLインジェクションが「SQL文を変える」という特徴を持っているように、攻撃となる通信には典型的なパターンが存在します。WAF はこれらの攻撃のパターンを「NG ワード」としてルール登録することで、攻撃が Web サーバーに届かないようにするのです。

WAF の長所と短所WAF の最大の長所は「導入のしやすさ」です。上記のとおり、攻撃の典型的なバターンをルールに登録するだけで通信を防ぐことが可能です。一方で短所もあります。WAF は、ルールに登録されていない攻撃は遮断できないため、網羅的に検知できるようにルールを継続的に更新する必要があります。また、遮断ルールの設定の仕力によっては、正常なアプリケーションの通信も遮断してしまう可能性があるので、ルール設定には注意が必要です。WAF は、ルールのカスタマイズや設定(チューニングと呼ばれる)にコストがかかるといわれています。

セキュリティカテゴリの最新記事