WordPressのセキュリティ対策
WordPressのセキュリティ対策を行った時のメモ
インストールすべきプラグイン
■WordPress セキュリティプラグイン
プラグイン名:iThemes Security (formerly Better WP Security)
※基本的にはインストールのみで大丈夫です。詳細の設定をしたい人は、他サイトを参照してください(多くの情報がアップされています)
注意
このプラグインは一部設定によっては、管理画面にログイン出来なくなることがありますので、必ずバックアップ(ファイル・SQL)してから作業してください。
■スパム対策
プラグイン名:Akismet
※こちらはデフォルトで入っているので、そのままで良いです。
スパムメールが大量に来るようでしたら「有効化」しましょう。
■WordPress のログイン履歴を保存するプラグイン
プラグイン名:Crazy Bone
※基本的にインストールするのみで設定は不要です。ダッシュボードの「ユーザ」>「ログイン履歴」が表示される様になります。
■ウィルス感染や悪意のあるコードが設定されていないかをチェックするプラグイン
プラグイン名:AntiVirus
※ダッシュボードの「設定」>「AntiVirus」を選択して設定します。
「マルウェアのテーマテンプレートをチェックする」をチェックして「通知用のメールアドレス」を入力してください。
■ログインページを隠す
プラグイン名:Login rebuilder
※ダッシュボードの「設定」>「ログインページ」を選択し設定します。
「新しいログインファイル」に【任意のログインファイル名】を指定してください。
次に「ステータス」を「稼働中」にしてから「変更を保存」ボタンを押します。
すると以下のURLにアクセスしないとログインできなくなります。
http://「あなたのWebサイトURL」/【任意のログインファイル名】
その他
■パーミッションの設定
上記でインストールした「iThemes Security」の中でパーミッション設定をチェックできる機能があります。
こちらが全て「OK」となるように設定してください。(上記、図の例では「.htaccess」のパーミッションを「444」に設定しなおす必要があります)
■xmlrpcへのアクセス禁止
WordPressには「xmlrpc.php」を使用してメールで投稿する機能があり、そこを経由してブルートフォースアタックを仕掛けパスワードを盗み取ろうとする方法があります。
そこで、もしメール投稿する必要が無ければ、こちらへのアクセスを禁止してしまいます。
まず考えられるのが「xmlrpc.php」へのアクセスを禁止する方法です。以下の様に「.htaccess」ファイルに記述します。
<Files xmlrpc.php> Order allow,deny Deny from all </Files>
これでも良いのですが、これだと攻撃を受けたログを拾えなくなります。そこで、ヒポラボは以下の様に「0.0.0.0」へリダイレクトさせています。
RewriteRule ^xmlrpc\.php$ "http\:\/\/0\.0\.0\.0\/" [R=301,L]
これならログにリダイレクトの301が記録されているはずです。
■アップデート
基本的な事ですが、まめにWordpressを更新しましょう。
■不要なテーマやプラグインの削除
不要なテーマやプラグインは有効にしていなくても、思わぬセキュリティホールになる事があります。また動作が重くなる原因になる可能性があります。
できるだけ不要なテーマやプラグインは削除してください。
■サイトのSSL化
サイトをSSL化(https化)させてください。管理画面をSSL経由で操作できる様にしておけば途中でsniffingされる危険性が無くなり、SEO評価も上がる効果もあります。
詳細は別記事「さくらインターネットでWordPressをSSL化する。」で紹介しています。