全1285文字
PR

 ステートフルインスペクションもほぼすべてのファイアウオール製品が備える方式である。通信手順などの状態に応じて通過させるパケットを決める。ステートフルとは通信の状態を検知するという意味合いだ。

 例えばTCPで通信を開始するときには、必ず3ウエイハンドシェークという手順を実行する。この手順でやってくるパケットや、3ウエイハンドシェークで通信路を確立した後の通信は自動的に通信を許可する(図4)。逆にこうした手順を無視して送られてくるパケットは自動で遮断する。

図4●ステートフルインスペクションの動き
図4●ステートフルインスペクションの動き
ステートフルインスペクションでは通信の状態に応じてパケット通過の可否を決める。ここではTCPによる通信開始の場合を示した。
[画像のクリックで拡大表示]

 アプリケーション制御も多くのファイアウオール製品が取り入れている方式だ。パケットフィルタリングやステートフルインスペクションのようにパケットのヘッダー部分だけで通信の可否を決めるのではなく、実際にやりとりするデータも利用する(図5)。パケットのデータ部分はペイロードと呼ばれる。

図5●パケットの中身を見て制御
図5●パケットの中身を見て制御
アプリケーション制御はパケットのデータ部分(ペイロード)を見て、そのパケットを通過させるかどうかを決める。パケットフィルタリングやステートフルインスペクションでは対応できないルールを設定できる。
[画像のクリックで拡大表示]

 ペイロードを参照するため、アプリケーションやサービスを判別できる。アプリケーションでどのような操作をしようとしているかも把握できる。

 例えば同じ443番ポートを使用するアプリケーションであっても、Facebookは許可してSkypeは許可しないといった制御が可能になる。

 さらに同じFacebookを利用する場合でも、閲覧や書き込み、写真などのアップロードは許可するが、ダウンロードや設定変更は禁止するといった細かい制御が可能だ。

▼TCP 443番ポート
TLS(Transport Layer Security)またはSSL(Secure Sockets Layer)を利用する場合の標準ポート番号。80番ならばHTTP(Hyper Text Transport Protocol)になる。TCPはTransmission Control Protocolの略。
▼3ウエイハンドシェーク
TCPで通信路を確立する手順。まず送信元が宛先に「SYN」と呼ぶ開始要求を送る。宛先が通信を受け入れる場合は「SYN+ACK」を返す。これに送信元が「ACK」を返答すると、通信路が確立される。