最近,Webサーバーのアクセスログを見ているとブルートフォース攻撃と見られるアクセスを発見した。

攻撃に対して403エラーを返してしまうとそのコンテンツがサーバー上に存在することがわかってしまうのでよろしくない。

そこで代わりに404エラーを返すように設定した。

仮に下記の条件で実施したとする。

  • WebサーバーはApache
  • (DocumentRoot)/error/を作り,表示可能な設定にしている
  • PHPが使用できる

まず,Apacheのコンフィグファイル(httpd.conf等)に下記を追加する。

次に(DocumentRoot)/error/404.phpを作成する。

Apacheの404エラーページを真似た表示にしてみた。

ちなみにサーバーシグネチャを入れるとバージョンがわかってしまうのでセキュリティ上入れない方が良いと思われる。
(HTTPレスポンスのServerヘッダの設定も変更してバージョンを表示させないほうが良い)

これでOK。