【WordPress】ログイン・管理画面のセキュリティを強化するプラグイン「SiteGuard WP Plugin」
WordPress のサイトを運用していると、日常的に悪意のあるアクセスに晒されるわけですが、そういった攻撃を緩和できるプラグイン「SiteGuard WP Plugin」を紹介しておきます。
<ダウンロード>
<使い方>
基本的には、プラグインをインストールしただけでいきなり、セキュリティが強化されるプラグインです。
使い方に関しては、上記、公式情報が非常に分かりやすいので、そちらを見たほうが網羅的と思いますが、それでは記事にならないので、いくつか注意点と特徴について触れておきます。
一部機能はApacheのmod_rewriteが必須
「ログインページ変更」機能と「管理ページアクセス制限」機能に関しては、Apacheのmod_rewrite環境での動作を前提としているため、nginx では動作しませんでした。
プラグインだけでセキュリティ対策する場合だと、この2機能は有効化したくなるかもなので、注意したいところです。
なお、「管理ページアクセス制限」機能は、未ログイン状態で /wp-admin/ にアクセスすると 404 エラーが出る機能。また、「ログインページ変更」機能はログインURLを変更できる機能になります。
※ひょっとすると nginx 用のドロップインがどっかに隠してあるのかもですが、いちおう、画面上から見えるところには説明がないので。
ボット避けに効く画像認証
うちが今回このプラグインを導入した一番大きな要因がコレ。「画像認証」機能です。
プラグインの「画像認証」機能をオンにすると、こんな感じでログイン画面に画像認証機能が付くようになります。
また、「パスワードをお忘れですか?」をクリックした先のパスワードリマインダ画面にも、こんな感じで画像認証が付いてくれます。
うちは色々対策済みなので、実用上、あまり問題ではないのですが、このところ WordPress のパスワードリセット要求メールが良く飛んでくるのが鬱陶しかったので、パスワードリマインダ画面に画像認証を付けたくてこのプラグインを導入した、というのが正直なところです。
おそらくは、WordPress のパスワードリセット脆弱性を突いてきているものと推測していますが、機械的な攻撃に対する障壁にはなりますので、攻撃頻度の低下が期待できるでしょう。
ログイン履歴機能が便利
SiteGuard で特に便利なのが「ログイン履歴」機能と「ログインアラート」機能です。
こんな感じで、どこからどんな方法で、どんなログイン名でログインを試みたのかが一目瞭然。さらに、ログイン成功時はメールで通知もしてくれます。
正直なところ、うちは既に WP Fail2Ban を導入済みですし、他にも色々と対策済みなので、この手の機能は実用上、あまり意味を成さないのですが、運用上、参考になる情報が取得できるので、まぁ、お便利とは言えます。
この他にも、ログイン成功時でも一度はログインに失敗する「フェールワンス」機能や、ユーザー名の推測を避ける「ログイン詳細エラーメッセージの無効化」機能など、かなり凝った機能が用意されている「SiteGuard WP Plugin」。
ライトユーザ向けかと思いきや、リバースプロキシにぶら下がっているようなネットワークトポロジーでも使えるよう、接続元IPアドレスの取得方法も変更できるなど、良く練られた設計になっていますので、興味のある方は使ってみても良いかもしれません。