WordPressサイトのセキュリティ対策方法まとめ

hetemlを利用したWordPressサイトのセキュリティ対策についてまとめています。

詳しくは、hetemlのサイト改ざんの予防策およびWordPressの安全性を高めるをご確認ください。

1. パーミッションを適切に設定する。

wp-config.php 400

2. ログイン画面(http://URL.com/wp/wp-admin/)にBasic認証を設定する。

3. Pingback機能、コメント機能を利用しない。

WordPress > 設定 > ディスカッション > 投稿のデフォルト設定 から以下のチェックをはずして保存します。

・新しい記事に対し他のブログからの通知(ピンバック・トラックバック)を受け付ける
・新しい投稿へのコメントを許可する

4. 「.htaccess」ファイルでアクセスを制限する。

wp-config.php
wp-comments-post.php(コメント機能を利用しない場合)
wp-includes

これらと同じ階層の「.htaccess」ファイルを編集します。WordPressの記述の前(上)に以下のコードを追記します。

<Files wp-config.php>
order allow,deny
deny from all
</Files>
<Files wp-comments-post.php>
order allow,deny
deny from all
</Files>

# Block the include-only files.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>
# BEGIN WordPress
...

# END WordPress

5. WordPress本体、テーマ、プラグインは最新バージョンにする。

6. 公式のテーマ、プラグインを利用する。

WordPressの管理画面から検索してインストールできるテーマ、プラグインは公式ディレクトリに登録されています。セキュリティプラグイン、バックアッププラグインの導入をおすすめします。

7. 使用していないテーマ、プラグインは削除する。

8. WAFの設定を有効にする。

hetemlではWAFは「有効」が初期設定です。

9. XML-RPCを無効にする。

hetemlではXML-RPCは「無効」が初期設定です。

10. SSHまたはSFTP/FTPSで接続する。

11. WordPressダッシュボードでファイル編集を無効にする。

wp-config.phpに以下のコードを追記します。

define('DISALLOW_FILE_EDIT', true);

12. 認証用ユニークキーを変更する。

認証用ユニークキーを変更するとWordPressにログインしているすべてのユーザーを強制的にログアウトさせることができます。 以上、とても簡単にセキュリティ対策できました。