.htaccessでログイン画面にアクセス制限をかける話

2013年の、ブルートフォースアタックで、ロリポップが狙われたときの話がこの記事のもともとの話である。書いたのは2013年9月3日。2021年9月3日に少し綺麗にする。

2021年現在、これを踏まえて日本の各サーバーはログイン画面にアクセス制限をかけている。しかし、私も海外サーバーを使っていたこともあるし、様々な理由で海外サーバーを選択することがあると思う。そういう場合のために情報を整理した上で残しておく。

これがきっかけでロリポップ系のサーバーは使わないことにするようになった。今、小さいサイトはスターサーバーにおいている。

>>月額138円(税込)からのクラウド型高速レンタルサーバー、スターサーバー

ログインページに制限をかける

2013年8月28日付けのロリポップの「【重要】WordPressをご利用のお客様へ」にあったように、.htaccessにアクセス制限をかけてみました。ブルートフォースアタック対策になります。

一度目は推奨されているように自分のIPアドレスで制限をかけたのですが、そもそもIPアドレスが変わります。変わるごとにわざわざ?というわけで、ホストネームで制限してみました。

まず、「日本」のみで制限してみました。

<Files wp-login.php>
Order deny,allow
Deny from all
Allow from .jp
</Files>

これでは日本からのアタックがあった場合には排除することはできないのですが、少しは減ります。

これでもまだLimit Login Attemptsでログインを試みられたという記録が来たので、次に「ne.jp」で制限をかけてみました。

<Files wp-login.php> 
Order deny,allow 
Deny from all 
Allow from .ne.jp </Files>

一時期これで随分と減りましたが、やはりログインされようしている記録が残ります。それで、自分の使うプロバイダーのみを許可しました。

<Files wp-login.php> 
Order deny,allow 
Deny from all 
Allow from .XXX.ne.jp </Files>

合わせてLimit Login Attempts Reloaded、Redirection、WP-Banで防御力を高める

2021年では、ブルートフォースアタックのような攻撃はあまり聞かなくなった。

しかし、最も初歩的な攻撃方法でもあるので、いつまた大規模攻撃があっても変ではない。

合わせて、Limit Login Attempts Reloadedというプラグインを導入して不正ログインを防止することをお勧めする。詳しくはこちらに。Limit Login Attempts Reloadedで不正ログインを防止する話

Limit Login Attempts Reloadedで捕捉したIPアドレスは、WP-Banというプラグインでアクセス制限をかけている。シンプルなプラグインなので、特に読む必要はない。WP-Banで嫌なお客さんをお断りする話

Redirectionというプラグインは403リダイレクトをかけてくれるのだが、404ログをみると怪しげなbotが来ている履歴が残る。botはhtaccessで排除し、IPアドレスしか残らないものはやはりWP-Banをかけたり、スパムの多い国からの(サイト全体への)アクセスを拒否している。詳しくはこちらへ。404の記録をとって、悪質なbotなどを洗い出して対処する話

Related posts