WordPressの簡単にできるセキュリティ対策

WordPressは世界中で使われているツールですが、その分狙われ易いターゲットになっているのも事実です。

必要以上に恐れる必要はありませんが、サーバーに詳しくない人でも簡単にできる対策がありますのでいくつか紹介してみようと思います。

WordPress本体やプラグイン、テーマなどはアップデートしましょう

改めて言うまでもないことかもしれませんが、セキュリティパッチは日々更新されています。

WordPressのダッシュボードから簡単に更新できますので、忘れずにアップデートしてください。

使わないプラグインやテーマは削除しましょう

使わないプラグインがセキュリティホールになってしまうことがあります。

特にマイナー系プラグインやテーマの場合は脆弱性が放置されている場合もあります。

必要になった場合は再度インストールできますので、使わないプラグインやテーマは削除しておくのが安全です。

※プラグインは「停止」でなく「削除」しておくことをおすすめします。

デフォルトのadminユーザーは削除しましょう

WordPressの不正ログインで最も狙われるユーザーはadminです。特に残しておく理由もないので、削除しておくことをおすすめします。

adminユーザーは以下のようにして削除できます。

  1. ダッシュボードからadmin以外で権限グループが「管理者」のユーザーを新規登録(既に登録済みの場合は省略してください。)
  2. adminでロクインしている場合はログアウトして追加したユーザーで再度ログインし直す
  3. adminを削除

wp-config.phpやwp-login.phpをアクセス制限する

wp-config.phpwp-login.phpは特に狙われやすいファイルです。

しかし、wp-config.phpはアクセスできる必要がなく、wp-login.phpはWordPressを編集する人だけがアクセスできれば良いファイルになっています。

そこで、.htaccessに次のような記述を追加することができます。

<files wp-config.php>
  Require all denied
</files>

<files wp-login.php>
  Require ip xxx.xxx.xxx.xxx
</files>

xxx.xxx.xxx.xxxの部分は自分のIPアドレスに読み替えてください。

プロバイダによってはIPが固定でなく変動する場合もあります。そういう場合はは次のような感じで範囲指定することになります。

xxx.xxx.0.0からxxx.xxx.255.255までの範囲のIPを許可

Require ip xxx.xxx

.example.ne.jpで終わるドメインを許可

Require host example.ne.jp

ドメイン指定の方が分かり易いかもしれませんが、セキュリティ的にもパフォーマンス的にもIPアドレスで指定した方が良い結果となります。

可能であればIPアドレスで指定するようにしてください。

wp-adminwp-includesのアクセス制限

wp-adminwp-includesのディレクトリも編集する人だけがアクセスできれば良いディレクトリになりますので、wp-login.phpと同じようにアクセス制限を追加することができます。

ただし、wp-admin/admin-ajax.phpについてはアクセス可能にする必要がありますので気を付けてください。

アクセス制限する場合は各ディレクトリに次のような.htaccessを作成します。

Require ip xxx.xxx.xxx.xxx

<files admin-ajax.php>
  Require all granted
</files>

xmlrpc.phpのアクセス制限

xmlrpc.phpもアクセス制限することができます。

ただし、XML-RPCの機能を使っている場合はwp-login.phpと同様に編集者のIPを許可しておく必要があります。

外部アプリケーションなどを使ってブログを更新されている方は良く確認してから設定するようにしてください。

<Files xmlrpc.php>
  Require all denied
</Files>

もしくは

<Files xmlrpc.php>
  Require ip xxx.xxx.xxx.xxx
</Files>

wp-content/uploadsのアクセス制限

WordPressでアップロードした画像やビデオなどのメディアファイルはwp-content/uploadsに保存されます。

これらのファイルは読み取りだけできれば十分です。

万が一、悪意あるPHPファイルがアップロードされた場合にもスクリプトが実行できないようwp-content/uploadsのディレクトリに.htaccessを追加して次のような内容を記述しておくことができます。

<Files *.php>
  Require all denied
</Files>

「テーマの編集」「プラグイン編集」を無効にする

利便性との兼ね合いですが、ローカルで編集したファイルをアップロードできる環境であればダッシュボードから「テーマの編集」と「プラグイン編集」を無効に設定することでセキュリティを向上させることができます。

無効に設定する場合はwp-config.phpに下記の設定を追加してください。

define('DISALLOW_FILE_EDIT', true);

最後に

他にもいろいろとセキュリティ対策はあります。満足できないという方はいろいろ調べてみてください。

それから、バックアップも忘ず行うようにしてください。

最悪、不正アクセスを許してしまったとしても、バックアップを取っていれば以前の状態に戻すことができます。セキュリティ対策に完璧はないということを忘れなく。


VPS活用ガイド‐月額780円からのVPSというサイトで公開していた記事です。誤字脱字などの修正を除いて当時のまま移転していますのでやや古い内容も含まれています。ご理解の上、参照して頂ければと思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です