セキュリティは万全ですか?

佐野

佐野 2014年7月31日

最近、ブルートフォースアタックがWordPress間で流行っているらしいのです。

ブルートフォースアタックとは、総当り攻撃という意味で、
プログラムにより、ユーザー名やパスワードを自動生成しながら、
片っ端から自動的にログインを試みる攻撃です。

これが成功してしまうと、アカウントハックが行われ、
WordPressの改ざんが行われてしまいます。
最悪、情報の漏洩の原因にもなり得ます。

私の知っている範囲での事象では、
元の投稿から似たような言葉を見つけ出し、
あたかもその投稿に関係あるかのように商品のリンクを貼るという、
いわゆる広告スパムのようなものでした。

元の商品の知名度に便乗したかったのか、
発見される事を恐れて、改変を控えめにしておいたようなのですが、
この程度で助かって、まだ運が良かったというべきでしょう。
もしブログを完全に乗っ取られ、その他の情報も抜き出されでもしたら・・・

うちの管理下のお客様のサイトも、このような事象が発生しないように、
随時WordPressの更新などを行っております。
もちろん、お客さんの許可を得てですが。
ただ更新だけでなく、パスワードも複雑かつ長めに設定する必要もあります。

さらに、セキュリティのプラグイン導入も行っております。
現在、導入を進めているプラグインは、
「All In One WP Security」というプラグインです。
その名の通り、複数のセキュリティシステムがひとつになった豪華なプラグイン。
最初から入っている「All In One SEO Pack」と似ている名前ですが、お間違いなく。

「All In One WP Security」は、日本語化こそ不可能であるものの、
GUIや見た目が優れているため、
少しよく読めば、けっこうわかりやすいプラグインだと思います。

20140730183119
プラグインのダッシュボードは、こんな感じです。
これはすでに、設定を行った後ではありますが、
ここまで行ったほうがいいと思います。

未設定の状態だと、おそらく左上のメーターが0~10程度かと思われます。
左下にスイッチのようなものがありますが、
せめてこれだけでも対策を立てておきたい部分ではあります。

「Admin Username」は、ユーザー名に「admin」が使われていないかどうかです。
「admin」というアカウント名は、
WordPressなどに対する総当り攻撃の的のひとつになっているため、
このスイッチで、ユーザー名の変更が可能です。
普通の状態ではユーザー名は変えられないのですが、これはありがたいです。

「Login Lockdown」は、これこそまさしくブルートフォース対策になる要素。
まさにポパイにホウレン草です。
ログイン失敗を繰り返すと、指定時間そのIPアドレスからのログインを
ロックするという機能です。

20140730183151
これを設定するだけでも、ブルートフォースアタックは防げるはずです。
これも完璧とは言えなくとも、いずれは確実に当たるものから、
回数の限られた、おみくじ になるわけですから、その結果は劇的に変わるはずです。

また、画面上のタブからログインしようとしたIPアドレスも確認できるので、
それを基にアクセス制限をかける事も可能です。

話はダッシュボードのスイッチに戻りまして、「File Permission」は、
WordPressの各ファイルのパーミッションを理想的な形に設定してくれます。

パーミッションは権限であり、
サーバーによっては「777」にするように言われる事もあるでしょうが、
これは第三者にも権限を与えるという、ハッカーにとってはラッキーセブンな状況です。
これが危険な一例としては、共用サーバーを利用する際に、
別ユーザーに書き換えされる可能性があるからです。
最もこれは、共用サーバー運用側にも、責任があることでもありますけどね。
特に「wp-config.php」はデータベースのパスワードなども記録されているため、
これは絶対に「777」にするべきではないでしょう。

「Basic Firewall」については、まだ詳しくはわかっていませんが、
これもオンにしておく方がいいと思います。

以上の設定を行うだけでも、メーターは100ぐらいのグリーンゾーンまでに上昇するはずです。

それ以外の設定には、データベースのバックアップを行い、
通常ユーザーにはアクセス不可能な領域にSQLファイルを保存、
または指定のメールアドレスでSQLファイルを送信するシステムや、
データベースの接頭辞である「wp_」を変更する機能、
IPアドレスを基に、アクセス不能にする機能もあります。

また、「Brute Force」という項目もあり、
ダッシュボードのスイッチから飛ぶ「Login Lockdown」だけでも充分効果はあるのですが、
これにさらに、ブルートフォースアタック用の対策を取る事が可能となります。

主な機能としては、ログイン画面のURLを変更する、
ログイン時、パスワード再発行時に、「キャプチャ」という認証を追加するというものです。
「キャプチャ」は画像ではなく、簡単な計算式が表示され、
それに数字で答えるという仕組みですが、
ログインにおけるプロセスが1つ増える事になるので、設置しておけば少し安心です。

また、各ページの設定は、最上段のチェックを入れておかないと起動しない場合があるので、
設定終了時には要注意です。

このプラグインだけでも、かなりのセキュリティ強化は可能です。
他にも、多機能セキュリティのプラグインは色々存在しますが、
複数インストールすると、処理の競合が起きて不具合の元になりかねないので、
いずれかひとつに絞るか、または1つの機能のみを別のプラグインで行うなら、
多機能プラグインの機能のうち、それに類する機能だけを止めて、
別のプラグインで行うという事も考えたほうがいいでしょう。

WordPressは確かに、様々なハック方法が確立されており危険だという声も聞きますが、
それは、どんなCMSだって同じ事が言えるのではないでしょうか。
単にWordPressが有名すぎるだけで、他にもログイン機能を有しており、
「admin」のようなアカウント名であったり、ブルートフォース攻撃に無防備であったり、
的確なパーミッションを設定しなかったりすれば、どんなものでも同じ事です。
他のCMSがマイナーだから狙われにくいという事は、セキュリティ対策にはなりません。
しっかりとした運用こそが、最高のセキュリティだと思います。