WPサイトへの意図せぬログイン試行の考察と対策:パート1

皆様こんにちは。

VPSサーバーに乗り換えて、順調にwordpressのサイト作成をちゃくちゃくと進めております管理人です。

「順調に」と言いましたが、実は最近気になる重大な問題が浮かび上がってきていたのでした!

それはこちら側では全く意図していなかった「悪意あるログイン試行」ってやつです。

VPSサーバーには、今は記事更新を休止しているブログも入れているのですが、いつの間にやら特にそのブログに集中して「悪意あるログイン試行」が見過ごせない数になってきているのでした。

このブログはそれなりにアクセスもあったブログなので、活動を休止している今でも比較的いろいろな人の目に触れることが多いブログと言えそうです…(^_^;)

…アクセスの多いブログなら当然、ログインしようという輩も多いのかもしれません。

でもどちらかというとそれまでは「悪意あるログイン試行」よりも、コメントスパムの方が深刻(51万件以上)だったので、「悪意あるログイン試行」の方はそれほど気にもしていませんでした。

ところが、2017年4月に入って「悪意あるログイン試行」の数が、19,000件を超え、はっきり言って無視できない状況であることが判明したのです。(4月20日には20,000件超え!)

悪意のあるログイン試行ってどこでわかるの?

ワードプレスでサイトを運営するときにakismet やJET PACKっていうプラグインを導入する人がほとんどだと思いますが、akismetがコメントスパムを、JET PACKが「悪意あるログイン試行」をそれぞれはじいてくれて、その数をカウントしてくれるんですよ!

190111akismet01

数字の多少はともかくも、ワードプレスの管理画面にこんな表示があるはずです。

…しかし何をもって「悪意あるログイン試行」としているの?

うーむ、これがちょっと謎だったりします。

「ログイン試行」というからには、ログインページ(wp-login.php)や管理ページ(wp-admin)への侵入のことを意味すると思いますが…ログインページのアドレスを変えたり、自分のPC以外は入れないように設定しているにもかかわらず、「悪意あるログイン試行」の数が減らなかったんです(どういうこと?)

当初はの対策としては…

  • パスワードやユーザーIDをやたら長くて複雑なものに変更
  • プラグイン「Login Lockdown」導入
  • プラグイン「SiteGuard WP Plugin」導入

この三つをやるだけでもかなり強烈な対策になり、悪意ある人たちがログイン試行しようにも、ログインページへたどり着くことすらほぼ不可能なんじゃないか!と思えたほどでした。

それに加えて、VPSサーバーのログインページのIP制限ももちろんしましたよ~

パスワードなんかは、自分で考えるよりもRoboformなどのパスワードマネージャーを使うといくらでも複雑なものがホイホイできます。

…でも…でもですよ!

そこまでやったのに「悪意のあるログイン試行」は減ってはくれなかったのです。1日にして大体100件くらいずつ増えていく。。1日100件なら、10日で1000件、1か月で3000件ですからね!これは…ど、どう考えたってヤバイですよね~(;^_^A

あと、できることはあるのかいな?

あと、やってないことといえば… … … ありましたよ!

海外からのアクセス制限!

コメントスパムや不正アクセスは大抵は海外からといいますよね!

海外からのアクセス制限についてネットで検索してみると…フムフム。結構ありますね。

>>私が参考にしたのはこちらのサイト<<

なるほど、「.htaccess」に結構、大がかりな記述を追記すればいけそうですね。(大がかりと言ってもコピペするだけですが…)

ただ、問題になるのはこちらはサイトの運用をNginxで行っているという点です。

「.htaccess」設定はApacheで運用する場合には有効でもNginxには効かなかったような…

でもPLESKには「.htaccess」の設定記述をNginx用に書き換えてくれる「htaccess to nginx」という優れた拡張機能があるんです!

なので大船に乗ったつもりでこの拡張機能をONにして「.htaccess」に海外アクセス禁止の記述を追加したところ…

うーむむむ。

何かが違うのか「悪意あるログイン試行」は一向に減らなかったんです。

しばしそこで止まって考えてもみましたが…とりあえず今は活動を休止しているトレンドブログのことでもあるし、止まっている時間がもったいないので、このサイトに限っては思い切ってNginxからApacheでの運用に切り替えることにしました!

NginxからApacheにwebサーバーを変えるとき、nginx用の追加ディレクティブの記述を消したりなんだり…と、ちょっとした手間はかかりましたが。。

なんとかApacheでの運用に切り替えると…

お見事!「悪意のあるログイン試行」は20,178件でストップしたのでした!

…やったね!

Nginxでの運用はまた時間があるときに考えよっと(;^_^A