いくつかの仮想ホスト、site1.comおよびsite2.comを実行しているApache Webサーバーがあります。
サーバーのIPアドレスへのリクエストで何をしますか?
IPによるリクエストを許可するのは安全ですか?ブロック、リダイレクト、または何が必要ですか?
私のerror.log
を見ると:
[Tue Dec 12 12:30:45.211539 2017] [:error] [pid 1681] [client 18x.x1.xx1.xx1:55060] [client 18x.x1.xx1.xx1] ModSecurity: Warning. Pattern match "^[\\\\d.:]+$" at REQUEST_HEADERS:Host. [file "/usr/share/modsecurity-crs/rules/REQUEST-920-PROTOCOL-ENFORCEMENT.conf"] [line "793"] [id "920350"] [rev "2"] [msg "Host header is a numeric IP address"] [data "3x.x1.xx1.xx1"] [severity "WARNING"] [ver "OWASP_CRS/3.0.0"] [maturity "9"] [accuracy "9"] [tag "application-multi"] [tag "language-multi"] [tag "platform-multi"] [tag "attack-protocol"] [tag "OWASP_CRS/PROTOCOL_VIOLATION/IP_Host"] [tag "WASCTC/WASC-21"] [tag "OWASP_TOP_10/A7"] [tag "PCI/6.5.10"] [hostname "3x.x1.xx1.xx1"] [uri "/img/icon_menu_00A3E0.svg"] [unique_id "Wi-gsrgergegraRlUMAAAAE"], referer: `http://3x.x1.xx1.xx1/css/style.css`
私が心配しているメッセージは:msg "Host header is a numeric IP address"
です。
同じサーバー上に複数の仮想ホスト/サイトがある場合、サーバーのIPアドレスへの直接要求をブロックするか、サーバー上の既存のサイトに関連付けられていない他の「デフォルト」(noindex)Webページを提供する必要があります。
サーバー上に複数の異なるサイトがある場合、リクエストをリダイレクトすることはあまり意味がありません。どのサイトにリダイレクトしますか?なぜ?
これらの要求は、実際のユーザー(少なくとも、気になる実際のユーザー)や、重要なボットからのものではありません。
ただし、このIPアドレスに仮想ホスト/サイトが1つしかない場合は、どのサイトにサービスを提供するかについてあいまいさがないため、リダイレクトするのが理にかなっています。