OnishiいくらWordPressをホストするサーバーのセキュリティを高めたところで、WordPressが脆弱だと意味がありません。WordPressのセキュリティ対策をまとめてみます。それぞれの先頭の★は、3段階でその対策の効果を元にしたお勧め度を表します。管理用のユーザー名を変更する(★★★)ログインする際のユーザー名は管理画面の設定から変更することができません。新しくユーザーを作成し、古いユーザーを削除する方法で管理用のアカウントを作り直すことができます(記事は引き継げます)。adminのような脆弱なユーザー名を使っているのであれば、今すぐにでも変更すべきです。当然ですがパスワードは使い回さず、堅牢なものを設定しましょう。ログイン時に2段階認証を行う(★★★)2段階認証というのは、IDとパスワードの他にワンタイムパスワードを入力する方式のことです。管理画面へのブルートフォース攻撃対策にとても有効です。Authenticator」プラグインがお勧めです。ユーザー毎に二段階認証の有効無効を切り替えることができます。Authenticator」のアプリをインストールして、WordPressのユーザー管理画面に表示されたQRコードをスキャンして紐付けます。ちなみに、有料版の1Passwordなど一部その他ワンタイムパスワード用のアプリでも利用可能です。アクセスすることでログインページが表示されますが、このログイン用のファイル名を変更してしまうことでそもそも不正なログインを試される可能性がぐんと下がります。直接コードに手を加えて実現することも可能ですが、日本語対応のお勧めプラグインもあります。これも簡単に実装可能な上、効果はとても大きいので是非実装しましょう。他のセキュリティ系プラグインとの相性が悪いこともあるのでその点は要注意です。wp-config.phpファイルを守る(★★☆)このファイルはWPがデータベースに接続するための接続情報などが含まれ、流出などに一番気をつけなくてはいけないファイルです。PHPのコードになっているため、PHPファイルが正しく処理される環境下では基本的に問題になることはありませんが、万が一PHPが正常に処理されなかった場合に備えてウェブサーバー側で対策を講じておきましょう。nginxの場合、/etc/nginx/nginx.confのserverセクションに以下を記述します(ただしphpをハンドリングしている箇所より上に書く必要があります)。}apacheの場合、WPルートにある.htaccessに下記を追記します。all</files>xmlrpc.phpを無効化する(★★☆)WordPressは3.5以降、デフォルトでXML-RPCの機能が有効になっています。これはpingbackやメール投稿などの機能をサポートするものですが、pingbackの悪用によりDoS攻撃の踏み台にされることがあります。Forbiddenが返されるはずです。WordPressのバージョンを隠す(★☆☆)WordPressで生成されたページのソースコードには、metaタグやcssのサフィックスとしてWordPressのバージョン番号が記載されています。バージョン番号が知られてしまうと、既知の脆弱性を用いた攻撃が容易となります。悪意のある攻撃者へ情報を与えないために、バージョン番号を出力しないようにしましょう。これもプラグインを用いることで用意に実現できます。Version」というプラグインをインストールして有効化するだけで、ソースコードにバージョン番号が出力されなくなります。readme.htmlを削除する(★☆☆)インストールする際のreadme.htmlがルートディレクトリに残っていたりしませんか?このファイルにもWordPressのバージョン番号が含まれています。存在するようなら消しておきましょう。テーブルのプレフィックスを変更する(★☆☆)データベースのテーブルに割り当てられるプレフィックスです。設定されているのであれば、これも別のものに変更されることをお勧めします。SQLインジェクションの対策になります。インストール済みのWPでプレフィックスを変更することも可能ですが、手を入れなければならない箇所が多く、長くなるので割愛します。管理画面からソースコードの編集を禁止する(★☆☆)wp-config.phpに次の行を追記することで、管理画面からテーマやプラグインのソースコードを編集できなくすることができます。true);これは管理権限を持つユーザーの不正なコードの改竄を防ぐ効果があります。不正に第三者に管理画面にアクセスされた際にも限定的ながら有効です。その他wp-adminのホスト制限これも良い対策の一つですが、私の場合は外出先からでも執筆のためアクセスすることが多く、IPを固定できないため敢えて導入していません。その場合でも、国外からのアクセスなど出来るだけ絞り込むというのは十分にアリな対策です。HTTPS化DBユーザの権限設定ファイルパーミッションなどまとめいくつか対策を挙げてみました。WordPressを用いたサイトを運用する上での、セキュリティ対策の一助になれば幸いです。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。