ログインリンクを変更したり、2段階認証をつけたり、セキュリティプラグインの設定を見直したりと、色々対策はしてますが、それでもアタックが激しく、心配になる今日この頃。
プロキシ経由なのか、現地からなのか不明ですが、海外IPからのブルートフォース攻撃が本当にしつこくて困ってます。
そこで、更なる対策としてログイン画面へのアクセスを制限しようと思います。
対策
ぱっと思いつく方法として、.htaccessに許諾する自分のIPを記載する方法がありますね。
しかし問題になるのが、固定IPでないと、プロバイダによってグローバルIPが一定間隔で変化してしまいます。
IPが変わるたびに定義を更新するのは大変です。
※ 固定IPは「IPを固定化するオプション」としてプロバイダと別途契約(有料)する必要あります。
そこで手っ取り早く、自分が使っているプロバイダ(ホスト名)経由のアクセスのみ許可するようにしました。
プロバイダという大枠での制限になりますが、これでほぼ海外からの不正ログイン(アタック)を押さえることに成功しました。
ポイントはログイン画面だけに制限設定が効くことです。フロントページのほうに制限をかけたくないので。
前置きがかなり長くなりましたが、以下詳細となります。
.htaccessの編集
.htaccessはサイトのルートフォルダ直下にあります。
※wp-config.phpファイルやwp-adminフォルダがある場所です。
※.htaccessはコピーなどしてバックアップをとっておきましょう。
.htaccessに以下ブロックを追記します。
環境に合わせて適宜値で差し替えてください。
<files ログインファイル名>
Order deny,allow
Deny from all
Allow from プロバイダ(ホスト)名
</files>
具体例で差し替えると以下のようになります。
<files wp-login.php>
Order deny,allow
Deny from all
Allow from msf.spmode.ne.jp
</files>
files
「files」に指定しているファイル名はログイン画面のファイル名です。
デフォルトはwp-login.phpはですが、プラグインとかで変更している方がほとんどだと思いますので適宜差し替えてください。
Allow from
「Allow from」で指定している箇所に使用しているプロバイダを指定します。
プロバイダは以下サイトから確認できます。
ドコモのテザリングで接続したときに表示される例です。
赤枠箇所を適宜値で指定します。
設定は以上です。(とっても簡単ですね!)
この例だとドコモのネットワーク以外で管理画面のログイン画面にアクセスしてもForbiddenと表示されます。
固定IPを用意するのが大変な場合があるので「プロバイダ」という大枠でアクセスを制限する形になりますが、不正ログインアタックの防止効果として絶大ですよ。