WordPress へのブルートフォースアタックに備えて、「SiteGuard WP Plugin」というプラグインを導入しました

Wordpress precaution brute force attack

先日、このブログがブルートフォースアタックを受けまして、攻撃が止むまで半泣きでした。パスワードはかなり長く不規則な文字列で、wp-config.php も外部からアクセス出来ない場所に置いているので、突破される可能や突破されたとしても被害はそれほどないと思われますが。
ログイン画面にアクセスがあった場合、メールでアラートが入るように設定していて、連続で100通メールがきました…。

その間、生きた心地がしませんでした。ずっと、家の鍵穴をガチャガチャとピッキングされているようなものです。

ブルートフォースアタックとは

日本語では、「総当たり攻撃」というそうです。そのままですね。

総当たり攻撃とは、暗号や暗証番号などで理論的にありうるパターン全てを入力し解読する暗号解読法。人間による操作ではとても気が遠くなるほどの時間と肉体的・精神的な負荷がかかるような回数の計算をコンピュータにまかせ、時間の許す限りパスワードの検証等を行う行為がコンピュータセキュリティ分野で良く知られている。時間的制約が無い限りは、確実にパスワードをクラックする方法である。
総当たり攻撃 – Wikipedia

WordPress がブルートフォースアタックを受けやすい原因のひとつとして。ログイン画面が「サイトURL/wp-login.php」であることが広く知れ渡っていることにあります。

恐ろしや。

これが前から気になっていたのですが。「.htaccess」と「.htpasswd」でログイン画面に、Basic認証をかけようとしたら、見事に失敗しまして、原因も分からず。スキル不足で解決できませんでした。
しかしこうして公開しているもののセキュリティを怠ると、見ず知らずの誰かに迷惑をかける可能性もあり、自分のスキルが上がるのを待っていられないので、今回はプラグインに頼りました。

Evernote をあさっていたら、何とも良さそうなプラグインの情報がクリップされていまして。確か、はてブで見てクリップした情報だと思います。

ニュースリリース 「SiteGuard WP Plugin」無償提供開始

SiteGuard WP Plugin で出来ること

SiteGuard WP Plugin
チェックの入っているものはデフォルトで有効になっているものです。

  • 管理ページアクセス制限
    ログインしていない接続元から管理ディレクトリ(/wp-admin/)を守ります。
  • ログインページ変更
    ログインページ名を変更します。
  • 画像認証
    ログインページ、コメント投稿に画像認証を追加します。
  • ログイン詳細エラーメッセージの無効化
    ログインエラー時の詳細なエラーメッセージに変えて、単一のメッセージを返します。
  • ログインロック
    ログイン失敗を繰り返す接続元を一定期間ロックします。
  • フェールワンス
    正しい入力を行っても、ログインを一回失敗します。
  • ピンバック無効化
    ピンバックの悪用を防ぎます。
  • WAFチューニングサポート
    WAF (SiteGuard Lite)の除外ルールを作成します。

詳しくはオフィシャルサイトも確認して下さい。
SiteGuard WP Plugin

ちなみに、私は「画像認証」は外しました。理由としては、ブログエディタの MarsEdit から投稿ができなくなってしまうからです。
セキュリティと利便性のトレードオフと言うのは悩ましいものがあります。

SiteGuard WP Plugin を入れただけでは足りないと思われること

JP-SecureのSiteGuard WP Pluginの機能は不正ログイン防止に役立つか

こちらのサイトで「URL/login」でログイン画面にリダイレクトされることを知りまして、この中でリンクされていた以下のサイトで知った方法で対処しました。

本当は怖い WordPress – ログインURLをwp-login.phpから変更しても、URL/loginからリダイレクトされる

こちらによりますとさらに、「URL/admin」と「URL/dashboard」は、「URL/wp-admin」へリダイレクトされるのだそうです。

これは知らないと、何とも恐ろしい機能です。せっかく変更した ログイン画面の URL が丸わかりです。おそらくブルートフォースアタック対策であれば、わざわざログイン画面の URL を確認している暇があったら、別のサーバを攻撃しに行くと思うので、気にしなくて良いかも知れませんが、せっかくなので、これも対策しておきました。

これを functions.php に記述しておくとリダイレクトされなくなると言うことです。

試して見たところ、「URL/login」「URL/admin」「URL/dashboard」を開いた場合、「404-Page NOT Found」が開くようになりました。
これでさらに安心です。

まとめ

サーバのセキュリティなどは、日々勉強という状況で。これで万全というわけではなと思いますが。専門的な知識が必要なこともあり、完璧にしてからことを運ぼうとすると、何も進まなくなってしまう。だからと言って放置して良いような問題でもないので。こうして、専門知識がなくても、導入できるプラグインを使わせて頂けることや、専門知識をブログなどで、公開してくださっている方に感謝しつつ自分のスキルもあげていければなぁ、と思いました。

MarsEdit – the blog editor for WordPress, Tumblr, Blogger and more.
カテゴリ: ソーシャルネットワーキング
価格: ¥4,000 (記事公開時)
App
スポンサーリンク