HTTP POST メソッドを禁止することによって、読み取り専用の公開 HTTP サーバのセキュリティを強化できます。
HTTP POST を禁止するには、以下の手順に従います。
メモ帳などのテキスト エディタを使用して、以下の HTML コードが含まれる Post.htm という名前の新しいドキュメントを作成します。
<FORM action="http://www.yahoo.com/" method="post">
<p>名前を入力してください: <input type="Text" name="FullName"></p>
<input type="submit" value="Submit"> <INPUT type="reset">
このファイルをデスクトップなどの都合のいい場所に保存します。
Wireshark ネットワーク アナライザを開き、キャプチャを開始します。Wireshark の使用法については、「Wireshark」を参照してください。
先ほど作成した Post.htm
ファイルをブラウザで開きます。
自分の名前を入力します。
「送信」をクリックします。キャプチャを終了します。
Wireshark の「Edit > Find Packet」機能を使用して、POST
という文字列を検索します。
Wireshark は、要求されたデータが含まれる最初のフレームに移動します。以下に示すような画面が表示されます。Wireshark の画面。この画面は、HTTP POST メソッドが TCP ヘッダー情報の直後に送信されていること、および TCP ペイロード (HTTP アプリケーション層) の最初の 4 バイト (504f5354
) で構成されていることを示しています。この情報を基に、HTTP POST メソッドを検出する個別一致オブジェクトを作成します。
SonicOS で、「オブジェクト | 一致オブジェクト > ユーザ定義一致」に移動します。
「+ 追加」をクリックします。
次に示すような個別一致オブジェクトを作成します。
この特定の一致オブジェクトでは、「設定を有効にする」オプションを使用して、ペイロードの特定の部分を照合するオブジェクトを作成します。「オフセット」フィールドでは、ペイロード内のどのバイトから照合を開始するかを指定し、照合をより限定的にすることで誤検出を最小限にします。「深度」フィールドでは、どのバイトで照合を終了するかを指定します。「最小値」フィールドと「最大値」フィールドでは、最小ペイロード サイズと最大ペイロード サイズを指定できます。
「ポリシー | ルールとポリシー > アプリケーション ルール」に移動します。
「+ ルールの追加」をクリックします。
次に示すようなポリシーを作成します。
テストのために、前に作成した Post.htm
ファイルをブラウザで開きます。
自分の名前を入力します。
「送信」をクリックします。今回は接続が遮断され、次に示すような警告がログに表示されるはずです。