少し前の話ですが、私が運営しているWordPressを使っているサイトが外部からの攻撃をうけました。
攻撃の内容はあるテンプレートのヘッダーにPHPのスクリプトを埋め込まれるものでした。

WordPressはインストールからテンプレートのカスタマイズ、プラグインの追加とたくさんのことが簡単に出来るCMSです。
その反面、設定の脆弱性を突かれ悪意のあるプログラムを埋め込まれることも少なくありません。セキュリティーについては今後も勉強を常に重ね、万全の状態でサイトを管理するべきだなと痛感しました。
今回はそんな中で施した対策をいくつか上げていこうと思います。。

管理者ユーザー名は「admin」にしない

ログイン履歴を監視できるプラグイン「Crazy Bone」をインストールして1週間様子を見たところ、海外のIPアドレスから管理画面へのアクセスが膨大にありました。
その時、攻撃者は予想しやすいユーザー名を入力してきました。「admin」「administrator」「ドメイン名」などは特に予想されやすく、かなりの数からのアクセスがありました。今のところパスワードでガードできていますが、総当たり攻撃を受けたときにはどうなるかわかりません。
そのためにも管理者ユーザー名はオリジナルの名前で用意しましょう。合わせてID「1」を狙われるケースもあるようなので、インストール時に作ったアカウントは破棄し、新たな管理者ユーザーを作りましょう。
パスワードを破られない方法としてGoogleによる認証システムはオススメです。スマートフォン所有者しか使えませんが、とても強固なセキュリティープラグインです。
Google AuthenticatorプラグインでWordPressブログを2段階認証に設定する方法

ログイン画面のURLを変える

そもそも何故ログイン画面にこられてしまうのか?WordPressはデフォルトの設定だと「ドメイン名 + wp-login.php」を管理画面へのログインページとします。その脆弱性を突かれ、多くの攻撃者が侵入してきます。
入口を知られていることはとても危険なことなので、ログイン画面を違うアドレスにする必要があります。
以下のサイトでは、ログインページのURLを変更するとともに、「wp-login.php」や「wp-admin/」以下のディレクトリにアクセスしたときに404エラーを返す方法を解説しています。
ログインページを変える:WordPress私的マニュアル

使わないテーマは残しておかない。

私が攻撃を受けたとき、2年前から使っていなかったオリジナルのテーマに攻撃をうけました。
フリーのテーマをダウンロード後にカスタマイズしていると、時間が経ったあとに思わぬところで攻撃を受ける可能性があります。
古い使っていないテーマは削除しておくか、ローカルにダウンロードして保管しておきましょう。

バージョンは常に最新版を使う

WordPressはそれほど長くない時間でバージョンアップを行っています。その中にはセキュリティーメンテナンスを兼ねているものもあるので、バージョンは常に最新版にしておくことをオススメします。
それに合わせてプラグイン、テーマも最新版を維持しましょう。あまり、バージョン更新がないものはメンテナンスをしていない可能性もあるので、使うかどうかの判断も必要になってきます。

その他にもデータベースのバックアップをとる、脆弱性をチェックするなどのプラグインをインストールするのも効果的です。
これについては長くなりそうなので、また別の記事で紹介させていただきたいと思います。