WordPressのダッシュボードに「ブロックされた悪意あるログイン試行」という項目があります。
悪意ある……ということで、恐らくWordPressに不正にログインして、記事の改ざんなどの悪さを行うスパムのことだと思われます。
この数が2016年末から2017年のはじめにかけて突如として急増したので、対策を行うことにしました。
目次
プラグイン「WP-SpamShield Anti-Spam」
スパム対策としてプラグイン「WP-SpamShield Anti-Spam」を使用しています。
Jetpackにも「プロテクト」という機能があるのですが(詳しくは「使用中のJetpackの機能」をご覧ください)、これだけでは「悪意あるログイン試行」の数があまり減らなかったので、「WP-SpamShield Anti-Spam」もあわせて使うことにしました。すると「悪意あるログイン試行」の数が激減しました。
しかし2016年末になって、「WP-SpamShield Anti-Spam」をもすり抜けて、「悪意あるログイン試行」がまた増え始めたのでした……。これは他にも何か対策を講じねば、と調べてみることにしました。
「.htaccess」でアクセス制限
プラグインで対処できると手軽でいいのですが、いろいろ調べた所、「.htaccess」ファイルでアクセス制限をするのが一番効果がありそうだったのでやってみることにしました(本当はあまりいじりたくないファイルなのですが……)。
先に「.htaccess」に追記する記述を載せておきます(下の方にも再度同じ記述を載せています)。
以下は、参考にさせて頂いたページや、どのような問題点があったかなどということを備忘録的に書いた文章になりますので、ご興味がある方はお読みください。
まずはじめに参考にさせて頂いたページには、「wp-cron.php」「xmlrpc.php」「wp-login.php」の3ファイルへの海外からのアクセスを禁止する方法が書かれていました。
で、その後どうなったかというと……。
「ブロックされた悪意あるログイン試行」の数 | |
---|---|
対策直後 | 5833 |
2時間後 | 5838 |
あれ……2時間で5個も増えてる……???
記述を少し変更
その後また調べて、
というページを見つけました。このページの回答を参考にさせて頂きまして、記述を少し変更しました。
またサーバーのアクセスログを調べて、「admin.php」ファイルへのアクセスも弾くことにしました。
Jetpackとの連携がおかしくなるのでその対策
上記の記述の変更を行ってからスパム対策としてはなかなか調子がよかったのですが、しばらくしてJetpackの「パブリサイズ」が使えないことに気付きました。
調べてみた所、下記のページを発見しました。
WordPressでJetpackプラグイン連携エラーがでる場合
「xmlrpc.php」ファイルをブロックしているとJetpackとの連携がエラーになってしまうとのこと。
という訳で、「xmlrpc.phpファイルへのJetpackからのアクセスは許可する」という記述を「.htaccess」に追加しました。
上記ページではIPアドレスで許可を出しているのですが、
という記述でも大丈夫でした(この記述はどこのページを参考にしたのだか失念……。「Jetpack Debug」でエラーを調べて、そこに出てきた文章を検索してどこかのページに辿り着いたような気が……)。
最終的な「.htaccess」の記述
以下に改めて最終的な記述を載せておきます。
WordPressのフォルダがある階層に「.htaccess」ファイルがあるので、その最後に上記の記述を追記しました。
効果
「ブロックされた悪意あるログイン試行」の数 | |
---|---|
1月14日 | 5838 |
3月26日 | 5877 |
増えとるやん……!
と思う方もいらっしゃるかもしれませんが、それまで1日100個とか200個とか増えていたので、それに比べればだいぶマシになったかと……。
約70日で39個増……1日1~2個のペースで増えている感じでしょうか。
その間も「WP-SpamShield Anti-Spam」(※)が更新されて、そうするとスパムがピタッと止んだりもするのですが、またすぐにパラパラッと増えて……の繰り返しです。
スパムを完全に防ぐのはやはり難しいのでしょうか……。
上記の記述がどなたかのお役に立てば幸いです。また、他にもっといい方法がある場合には教えて頂けると嬉しいです。
(※)その後訳あって「WP-SpamShield Anti-Spam」から「Limit Login Attempts Reloaded」というプラグインに乗り換えました。詳しくは下記の記事をご覧ください。
おすすめのWordPressプラグイン―不正ログイン対策「Limit Login Attempts Reloaded」―
追記:ブログをSSL化した所……
2017年9月のはじめ頃にブログをSSL化した所、その後「ブロックされた悪意あるログイン試行」があまり増えなくなりました(ここ3週間くらいで1つ増えたのみ)。SSL化はスパム対策になるのでしょうか……?
tag Jetpack