第16回 FWにおけるパケットフィルタリング(その2)

photo-1476087433162-979f1a57093f

前回の「FWにおけるパケットフィルタリング(その1)」ではパケットフィルタリングによる概要を紹介しましたが、今回はTCP通信でのパケットフィルタリングと静的フィルタリングのデメリットについて紹介します。

その1では、パケットフィルタを構成する具体的な4つの要素を挙げましたが、そのうちの「ポート番号」に着目して考えていきたいと思います。

  • ここでいうポート番号とは、TCP/UDPにポート番号によるサービスが一番良く用いられる。
  • これはFTPやHTTPなどの主要なアプリケーションのサーバ側の待ちうけポートがウェルノウンポートとしてあらかじめ決められており、宛先のポート番号を決めればある程度のサービスの特定が可能となる。

また、TCPの制御情報であるフラグやICMP、IPsecなどの制御情報もフィルタ設定可能です。

たとえば、「LAN側から送信されたTCPの応答のみを通過させたい」とすると、TCPのコネクションが確立した後にACKのフラグが立つので、このACKのフラグが立ったTCP通信のみを通過させるようにすればよいわけです。

もし、インターネット側から悪意のある攻撃者ーがLAN内に侵入しようとしても、攻撃者のTCP接続要求はSYNのフラグのみで、ACKフラグはないので、攻撃とみなしてパケットを破棄します。

下図は、スリーウェイハンドシェイクにおけるTCP接続要求用いて上記を図示したものです。

fw

クライアントのTCP接続要求に対してスリーウェイハンドシェイクを確立して、ACKフラグを挿入したパケットは許可をし、攻撃者のACKフラグのないパケットは通信を遮断しています。

このようなパケットフィルタリングはシンプルかつ処理も高速ではありますが、デメリットもあります。

これまでレイヤー3、4レベルお話させて頂きましたが、より上位のレイヤーになると通信のコントロールが上手くできないという問題もあります。

例えば下図はLAN側からインターネットのFTPサーバに対して行う通信の例となります。

fw

FTPでは、クライアントからFTPサーバにまずコントロールコネクションという制御コマンド用のコネクションを構築します。

これはサーバの21番ポートに対してTCP接続を行なうことで実現し、実際のデータを送受信するデータコネクションの構築をFTPサーバ側から20番ポートを用いて行います。

しかし、通常のパケットフィルタリングでは、ペアで行なわれるFTPのこうしたコネクションを別々に扱うため、データコネクションの構築はLANからのリクエストの応答と認識されません。

通常のパケットフィルタリングでは、TCPのフラグにACKがないことから攻撃の疑いがあるとして、パケットを破棄してしまいます。

だからといってポート20を開放してしまうと、攻撃者から狙われてしまいます。

そこでFWとしての機能を果たすのがその1でも紹介した下記の3つの機能となります。

  • ダイナミックパケットフィルタリング
  • ステートフルインスペクション
  • アプリケーションゲートウェイ

次回はこれらの機能を用いたFWとしてのパケットフィルタリングを紹介します。

仮想化セキュリティの決定版 CS-TWiSt

Page Top

Copyright © 2017 (株)テイルウィンドシステム All rights Reserved.