WordPressのセキュリティをアップする11のポイント
Post on:2008年12月17日
WordPressのセキュリティをアップする11のポイントをPro Blog Designのエントリーから紹介します。
11 Best Ways to Improve WordPress Security
- セキュアなデータベースを構築する。
- 他のアプリケーションと共有しないWordPressのためだけのデータベースを使用する。
- データベースへのアクセスは限定する。
- データベースのパスワードは強固なものにする。
- 「wp-config.php」の設定。
- セキュリティキーを設定する。
セキュリティキーツール 1.1でランダムなキーが生成されます。 - テーブル名の接頭辞($table_prefix)を「wp_」以外のものに変更する。
- セキュリティキーを設定する。
- 管理画面のユーザー名にデフォルトの「admin」を使用しない。
ユーザー名はphpMyAdminなどで変更できます。 - 管理画面のパスワードは複雑なものにする。
英数記号文字、小文字、大文字などを混ぜて作成します。 - SSLが可能な場合は、管理画面へのアクセスはSSL経由で行う。
その場合は、「wp-config.php」に下記を記載します。
1 2 3 |
<textarea name="code" class="html" cols="60" rows="5"> define('FORCE_SSL_ADMIN', true); </textarea> |
- 常に新しいバージョンのWordPressを使用する。
バージョンアップの内容が機能面で必要ない場合でも、セキュリティの修正がされていることがあります。 - データベースはバックアップをする。
セキュリティとは関係がないかもしれませんが、プラグインなどを利用して定期的にデータベースはバックアップします。 - ディレクトリにアクセスできないようにする。
ディレクトリのルートに直接アクセスされないように「.htaccess」に下記の設定を行います。
1 2 3 |
<textarea name="code" class="html" cols="60" rows="5"> Options All -Indexes </textarea> |
- 「wp-admin」を保護する。
「wp-admin」内のファイルは管理者しか使用しないので、アクセス制限をします。
「.htaccess」で制限をする場合は「.htaccess」を「wp-admin」に設定し、IPの制限やパスワードの制限をします。
IPで制限
1 2 3 4 5 |
<textarea name="code" class="html" cols="60" rows="5"> Order Deny,Allow Allow from 000.000.000.000 Deny from all </textarea> |
- 「wp-content」を保護する。
「wp-content」内のファイルに一般ユーザーがアクセスするのは、使用しているテーマとプラグインだけのため、拡張子でアクセス制限をします。
「.htaccess」を「wp-content」に設定し、アクセス可能な拡張子を指定します。
1 2 3 4 5 6 7 |
<textarea name="code" class="html" cols="60" rows="5"> Order Allow,Deny Deny from all <files ?.(jpg|gif|png|js|css)$? ~> Allow from all </files> </textarea> |
- WordPressのバージョンを表示しない。
head内のWordPressのバージョンを表示させないためには、使用しているテーマファイルの「function.php」に下記を指定します。
「function.php」無ければ、新しく作成します。
1 2 3 |
<textarea name="code" class="html" cols="60" rows="5"> <?php remove_action('wp_head', 'wp_generator'); ?> </textarea> |
- 追記:
- 11番目の「function.php」を適用する際は、最初と最後に改行が入らないように注意してください。
- つい末尾に改行を入れてしまったら、feedのxmlに空白行が入ってしまい、エラーになってしまいました。
sponsors