前書き
ウェブサイト訪問時にアクセスパスから/が欠けている場合、ほとんどのミドルウェアは自動的にパスを補完し、下図に302または301ジャンプを返します。また、ロケーションのドメイン名はホストヘッダーの値を使います。
この状況は実際にはホストヘッダー攻撃を仕掛けるリスクも低く、困難です。 しかし、ほとんどの脆弱性スキャナーはこの状況をホストヘッド攻撃として検知するため、多くのパーティAは上位検査や各種監査を通過するために脆弱性の修正と問題の完全な解決を必要とします。
ジャンプパスはウェブプロジェクトによって定義されておらず、ミドルウェアによって自動的にジャンプされるため、静的変数を書いても修正できず、ウェブプロジェクトのグローバルフィルターもブロックできません。 これを直すにはウェブサーバーレベルでの設定が必要です。 ここによくあるサーバー参照の修正案を紹介します。もし誤りや不備があれば、遠慮なく訂正してください。
アパッチ:
方法1: \conf\httpd.confファイルを修正してください
例えば、ServerNameをアプリケーションのドメイン名に変更する
次の行を追加してください:
Apacheを再起動すればいいだけです。
修正が成功すれば、サーバー側はセットされたServerNameを使用します。
パラメータの説明:
方法2:
confhttpd.confファイルを修正してください
以下の構成を参照して追加してください:
Apacheを再起動すればいいだけです。
機能:
IPアドレス192.168.0.16を経由した直接のアクセスリクエストを拒否すると、192.168.0.16を使ってアクセスすると拒否の通知が表示されます。 通行許可は通行のみですハイパーリンクのログインが見えます。このドメイン名へのアクセス、メインディレクトリはC:wwwを指しています
方法3:
confhttpd.confファイルを修正してください
「#LoadModule rewrite_module modules/mod_rewrite.so」を見つけて、その前の「#」記号を外してください 以下のような構成を追加してください:
Apacheを再起動すればいいだけです。
機能:
HOSTヘッダーが192.168.0.16でない場合、エラーページにリダイレクトされます。
Nginx:
方法1:
nginx.confを修正してください
デフォルトサーバーを追加すると、ホストヘッダーがサーバーに合わせて変更されると、デフォルトサーバーにジャンプし、デフォルトサーバーは直接403エラーを返します。
例としては以下のものがあります:
ただnginxを再起動してください。
方法2:
nginx.confを修正してください
ターゲットサーバーに検出ルールを追加するには、以下の赤い設定を参照してください。 ただnginxを再起動してください。
トムキャット:
改造tomcatconfserver.xml
以下の場所を探してください:
ホスト内の名前を静的ドメイン名に変更する方法は以下の通りです:
トムキャットを再起動して修理を完了してください。
IIS6.0:
ISAPI_Rewriteプラグインを使ってリクエストパッケージの内容を検出し、URLを書き換えます。
プラグインインストールパッケージとクラックツールのダウンロードアドレス:ハイパーリンクのログインが見えます。
ダウンロードが完了したら、プログラムをダブルクリックして「次へ」をクリックしてインストールしてください。
クラッキングツールの解凍後、3つのファイルが図に示されています
クラックされた3つのファイルを直接ISAPI_Rewriteのインストールディレクトリにコピー&ペーストし、公式の元のファイルを上書きします。もしプロンプトが上書きできない場合は、まず公式の3つのファイル名を別の名前に変え、その後クラックされた3つのファイルをコピーできます。
置き換えが完了したら、ISAPI_Rewrite.dllのSERVICEユーザーグループを追加し、読み取り、実行の各権限を付与する必要があります。 (このステップは非常に重要で、そうでなければ後のISAPI_Rewriteは機能しません。)
IIS管理ツールを開き、ターゲットプロジェクトを選択してください - >プロパティ - > ISAPIフィルター - > 追加 - > インストールしたISAPI_Rewrite.dllファイルのパスを選択する - > OK
IISを再起動し、IIS管理ツールを再開すると、ターゲットproject->プロパティに新しいISAPI_Rewriteタグが表示され、必要に応じて.htaccessルールを直接作成できます。
ホストヘッダーホワイトリストの設定には、以下のルールを参照してください。
設定完了後、リクエストパッケージ内のHostフィールドが192.168.2.141に設定されていない場合、エラーページは自動的にジャンプされます。
IIS7.0/7.5/8.0:
MicrosoftはリクエストURLをフィルタリングできるURLリライトモジュールツールをリリースしました。これはご自身でインストールする必要があります。以下はツールのダウンロードアドレスです:
Microsoftダウンロードアドレス(64ビット): ハイパーリンクのログインが見えます。 Microsoftダウンロードアドレス(32ビット): ハイパーリンクのログインが見えます。
ダウンロードが完了したら、プログラムをダブルクリックして「次へ」をクリックしてインストールしてください。
その後、IIS管理ツールを再起動すると、IISバーの下にURL書き換えツールがあることがわかります。
URLリライト機能をダブルクリックして、URLアドレスの受信ルールバーにルールを追加してください。
ブロックをリクエストする。
下の図を参照してルールを設定し、ホストヘッダーにウェブサイトのドメイン名またはIPを入力し、OKをクリックしてください。
作成したルールをダブルクリックしてください。
リクエストのURL選択で「パターンにマッチしない」を選択し、使用項目で「マッチを完了」を選択し、アクションタイプで「リクエストを中止」を選択し、右上の「適用」ボタンをクリックします。
その後、ウェブサイトを再起動し、再テストするとホストが192.168.124.149でない場合、サーバーはリクエストを中止し、ホストヘッダーに対する予防策として機能します。
転載元:ハイパーリンクのログインが見えます。
|