HTTP POST 制御

HTTP POST メソッドを禁止することによって、読み取り専用の公開 HTTP サーバのセキュリティを強化できます。

最初に、メモ帳などのテキスト エディタを使用して、以下の HTML コードが含まれる Post.htm という名前の新しいドキュメントを作成します。このファイルをデスクトップなどの都合のいい場所に保存します。

<FORM action="http://www.yahoo.com/" method="post">

<p>Please enter your name:<input type="Text" name="FullName"></p>

<input type="submit" value="Submit"> <INPUT type="reset">

次に、Wireshark ネットワーク アナライザを開き、キャプチャを開始します。Wireshark の使用法については、Wireshark を参照してください。先ほど作成した Post.htm フォームをブラウザで開き、自分の名前を入力して、「Submit」を選択します。キャプチャを終了します。

Wireshark の「Edit > Find Packet」機能を使用して、'POST' という文字列を検索します。

Wireshark は、要求されたデータが含まれる最初のフレームに移動します。次のような画面が表示されます。この画面は、HTTP POST メソッドが TCP ヘッダー情報の直後に送信されていること、および TCP ペイロード (HTTP アプリケーション層) の最初の 4 バイト (504f5354) で構成されていることを示しています。この情報を基に、HTTP POST メソッドを検出する個別一致オブジェクトを作成します。

SonicOS 管理インターフェースで、「ファイアウォール > 一致オブジェクト」を選択し、「一致オブジェクトの作成」を選択します。次に示すような一致オブジェクトを作成します。この特定の一致オブジェクトでは、「設定を有効にする」機能を使用して、ペイロードの特定の部分を照合するオブジェクトを作成します。「オフセット」フィールドでは、ペイロード内のどのバイトから照合を開始するかを指定し、照合をより限定的にすることで誤検出を最小限にします。「深度」フィールドでは、どのバイトで照合を終了するかを指定します。「最小値」フィールドと「最大値」フィールドでは、最小ペイロード サイズと最大ペイロード サイズを指定できます。

次に、「ファイアウォール > アプリケーション ルール」を選択し、「ポリシーを追加する」を選択します。次に示すようなポリシーを作成します。

テストのために、前に作成した Post.htm ドキュメントをブラウザで開きます。自分の名前を入力し、「Submit」を選択します。今回は接続が遮断され、次に示すような警告がログに表示されるはずです。