不正アクセス対策:特定の国のIP制限を実施

IT

こんにちはますのです。
最近国外からの不正アクセスが多く、お問い合わせの自動返信メールまで悪用される始末。
検索エンジンからも見放されたのか検索流入が激減したので対策をしようと決意しました。

更新履歴的なメモとなりますがどなたかの参考になれば幸いです。

.htaccessファイルの更新

設定方法は契約しているレンタルサーバに公開されていた設定方法を参考にします。
特定のホスト、IPの許可/制限

レンタルサーバによって設定方法が異なる可能性があります。
契約しているレンタルサーバにやり方が記載されていることが多いので、公式案内に従うことをオススメします。

ドメインをアクセス拒否とする

以下で実施しようとしましたが、うまくいかないという記事もいくつか確認できました。
全てのアクセスを許可、denyで設定したドメインからはアクセス禁止という設定です。

記述が短くなるので良いですが今回は使用を控えます。

order allow,deny
allow from all
deny from .cn
deny from .hk
deny from .ru
deny from .in

国別のIP毎にアクセス拒否とする

今回は国別で利用されているIP毎に制限を記述することにします。
全てのアクセスを許可、denyで設定したIPアドレス範囲はアクセス禁止という設定です。

以下のように指定し、最終的に3万行近くの設定となりました。

order allow,deny
allow from all
deny from 1.0.1.0/24
deny from 1.0.2.0/23
deny from 1.0.8.0/21

国/地域ごとのIPアドレスを取得する

国ごとのIPアドレスは以下のサイトから取得しました。

国/地域別IPアドレス割り振り一覧(ipv4.fetus.jp)

選定するのが面倒だったので既に管理者の方がひとまとめにしてくれているものから設定しました。
https://ipv4.fetus.jp/krfilter

  • サイトにアクセスする
  • 特定の国一覧の「アクセス制御用ひな形」をクリック
  • 「Apache(.htaccess)」を選択
  • denyリストのIPアドレス一覧が表示される
  • .htaccessの最終行などに追記していく

本作業によってWebサイトにアクセスが出来なくなるケースがあります。
.htaccessは元データをコピーするなどの対策、ならびに予期せぬアクセスブロックによって閲覧出来ない方が出るケースもあります。
設定に関しては自己責任でご注意ください。
お問い合わせフォームを利用した対策はreCAPTCHAの導入、ならびに問い合わせの自動返信メールを停止しました。
これで少しは不正アクセスが落ち着きあわよくば検索流入が戻ってくれることを期待します。
最新情報をチェックしよう!