Limit Login Attempts Reloadedで不正ログインを防止する話

元の記事は2013年に書いたものである。2021年に(ほぼ)全面的に書き直した。

ブルートフォースアタックの経験がある

2013年だったか、2012年だったか、WordPressで構築されているサイトにブルートフォースアタック(総当たり攻撃)を仕掛けるのが流行っていた。一番被害が大きかったのがロリポップだったかな。

私も経験がある。持っているサイトのうち、一つが非常に遅くなっていた。サーバーHPを見ると、「そのサーバーにあるWPサイトが攻撃されているので、防衛しています」だった。

自動化して総当たり攻撃を行なって乗っ取りを図るということは、そんなにハードルの高いものではない。犯罪だが、向こうさんは気にするものでもなかろう。

サーバー側で、ログイン画面への規制はされているのだが、不十分である

2021年現在、多くのサーバーでは海外IPからログイン画面へに入ることを規制している。このサイトは規模からしてスターサーバーという、スペック低めのレンタルサーバーに入れている。この、スペックがあまり高くないレンタルサーバーですら、海外IPからのログイン画面に入ることを規制している。

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

ところが、海外からVPNを通して日本からの接続に偽装すれば、(多少接続が遅くなるのだが)ログイン画面に入ることが可能だ。

実際に、海外でぶらぶらしていた頃の私が散々やったことでもある。

確かに、私は2011年くらいからWordPressサイトを作っていじくり回しているのだが、そこまで技術力があるように見えるだろうか。これは反語である。見えるわけがない。私ですらVPN接続で偽装できるのだから、技術力がほんの少しあって、悪いことを考える連中なら、お茶の子さいさいだと考えて良い。

VPNに関しては、少なくとも企業情報を隠しているようなところは有料・無料問わず、使われないように。

Limit Login Attempts Reloadedで、ログイン試行の回数を制限する

2013年くらいからずっと入れていたのが、Limit Login Attemptsである。

どういうことができるのかというと、「ログイン試行の回数制限」である。

ところがこのプラグインは開発が止まったのか、フリーソフトだから、そういうことはよくある。2021年は、「Limit Login Attempts Reloaded」という別のプラグインを使っている。

やることは同じく、ログイン試行の回数制限なのだ。

ブルートフォースアタックは、短時間に何回も何回も何回も何回もトライしてくる。

そうすると、このプラグインを使っておけば同じIPアドレスからはX分間にX回しかリトライできないという規制をかけられる。上のスクショはデフォルトのものだが、実際の運用はもっと厳しくしている。

IPアドレスの変更にはそれなりにコストがかかる。私の作るサイトなど、何度も何度も何度もIPアドレスの変更を行い、狙うような価値あるサイトではない。踏み台にされるのが関の山だと思っているが、実際に踏み台にされたら大変困る。

そこで出てくるのが非力なスターサーバーである。

何度も何度も何度もIPアドレスの変更を行い、ログインリトライを繰り返すようなことをされれば、503エラーを吐くのが目に見えている。早めに死んだふりをしてくれればそれで良い。

エックスサーバー、wpXシンと、三つサーバーを契約しているのは、そういう理由がある。一つ死んでも他が生きていればなんとかなる。

Limit Login Attemptsに記録された生の攻撃情報をお見せする(2013年のもの)

どういう攻撃を仕掛けられるのか参考までに生の攻撃情報(2013年)をお見せしよう。

今は、上述のようにサーバー側が規制をしているので、そんなにこのプラグインが役に立っているわけではないのである。2013年当時は、実際にLimit Login Attemptsに攻撃の記録が残っていた。
攻撃
画像だけではなく、テキストでも晒したろ。

146.0.79.23 admin (3 lockouts), welcome (1 lockout), also (1 lockout), statusreviews (1 lockout)
72.233.119.245 username (8 lockouts)
72.232.113.70 username (8 lockouts)
66.155.8.206 username (4 lockouts)
65.202.199.3 Admin (1 lockout)
85.233.90.81 Admin (1 lockout)

どういうことかというと、攻撃はよく言われるような、Adminだけではないのである。usernameに、welcomeだのつまり、固有名詞ではなく、一般的に使われているようなものが狙われやすい、と思って良いでしょう。Guestもあったかな。

Limit Login Attempts ReloadedでIPブロック可能。

botなのでIPアドレスで一つずつ排除しても意味がないとも言われますが、たくさん攻撃が加えられたIPアドレスに関しては排除しても良いのでは?と思う。

当時は、Limit Login AttemptsにIPアドレスでの排除機能がなかったので、WP-Banというプラグインを組み合わせていた。

ところが、2021年に使っているLimit Login Attempts Reloadedでは、ブロック機能も搭載しているので、これを活用できる。

それでも、情報を抜こうとしているなあと思われるbotを排除したりと、WP-Banはまだ十分使えるので、使っている。