このページの本文へ

前へ 1 2 次へ

セキュリティの素朴な疑問を解く 第8回

Q&A形式でセキュリティの基礎を学ぼう

ファイアウォールはどのように動くのですか?

2009年07月08日 09時00分更新

文● 伊藤玄蕃

  • この記事をはてなブックマークに追加
  • 本文印刷

進化するファイアウォール

 初期のファイアウォールは、先述の通りTCP/IPパケットのヘッダ部分の情報だけをキーにして、パケットの取捨選択を行なっていた。しかし、攻撃側のテクニックも日進月歩で巧妙になり、ファイアウォール側もパケットをより細かく解析する必要に迫られた。その結果、現在のファイアウォールには「ステートフルパケットインスペクション機能(SPI)」や「不正アクセス検知機能」などが実装されるようになった。

SPI

 SPIは、パケットフィルタ機能に加えアプリケーション層の通信制御までを行なう。ネットワークの通信状況を細かく監視し、その場面に応じた通信が適切に行われているかをチェックするものだ。

 図2の例は、FTPの通信開始時のパケットの検査手順を示している。クライアントがサーバの21番ポートへ接続要求を出すと、ファイアウォールは「サーバの20番ポートからコネクション要求が戻ってくる」ことを予測し、予測通りのパケットが来れば通過させる。つまり、通信の状態を把握することで、コネクションの文脈上ありえないようなパケットを破棄できる。

図2 ステートフルパケットインスペクションのアクセス制御

不正アクセス検知

 Webサーバなど外部向けのサーバをファイアウォールの内側に設置する場合、SPIを適用することができず、パケットフィルタだけでサーバを保護している状態になる。この場合、Ping of DeathやIPスプーフィングといった「明らかに不正な外部からの攻撃」だが「ファイアウォールのポリシーには合致している」パケットを通過させてしまう。このため、既知の侵入/攻撃パターンと一致するパケットを遮断する「不正アクセス検知」機能が考案された。この機能を実装したファイアウォールは、不正アクセスのパターンデータベースを持ち、パケットと照合して遮断する。そのため、新たに考案された不正アクセス手法に対しては無力で、パターンデータベースをひんぱんに更新する必要がある。

まとめ

 ファイアウォールは、基本的に通信をパケット単位で監視して制御する。そのため、多数のパケットに分割されて送られてくる、ウイルスやスパイウェアなどには対処できない。分割される前のウイルスがいかに危険であったとしても、細かく分割された状態では危険性を検知できないのである。同じ理屈で、スパムメールやフィッシングサイトへのアクセスを止めることもできない。

 これらの攻撃へ対処するには、それぞれのアプリケーション用のゲートウェイを設置する手法が用いられる。最近では、これらのゲートウェイをファイアウォールに統合したUTM(Unified Threat Management:統合脅威対策装置)が脚光を浴びている。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事