WordPressは非常に人気のあるCMSであり、そのため多くのセキュリティ脅威の対象となります。多くのユーザーはプラグインに頼ってセキュリティを強化していますが、さらに堅牢なセキュリティを求める場合、.htaccessやwp-config.phpといった核心的なファイルを直接編集する方法を紹介します。
.htaccessとwp-config.phpファイルへのアクセス
- ファイル管理ツール(例: cPanelのFile Manager、FTPクライアントなど)を使用して、WordPressがインストールされているディレクトリにアクセスします。
- ルートディレクトリに .htaccessとwp-config.php ファイルがありますので、これを編集モードで開きます。
.htaccessによるセキュリティ対策
「.htaccess」ファイルは、ページやファイルへのアクセスを制御するWebサーバー用の設定ファイルです。
WordPressをインストールした直後の.htaccessは以下のようになっているはずです。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^index\.rdf$ /feed/rdf/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule >
# END WordPress
1. ディレクトリのリストを無効にする
ディレクトリの内容を外部に公開しないようにするために、以下のコードを.htaccessに追加します。
Options -Indexes
2. wp-config.phpへのアクセスを制限する
wp-config.phpは非常に重要な情報が含まれています。
外部からのアクセスを制限するため、以下のコードを追加します。
<files wp-config.php>
order allow,deny
deny from all
</files>
以下は、上記の .htaccess
ファイルにセキュリティ対策を追加する一例です。
# 1. ファイルのアクセス制限
<FilesMatch "\.(htaccess|htpasswd|ini|log|sh|inc|bak)$">
Order Allow,Deny
Deny from all
</FilesMatch>
# 2. ディレクトリリスティングの無効化
Options -Indexes
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^index\.rdf$ /feed/rdf/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
対策を行う際、一般的には # BEGIN WordPress
と # END WordPress
の間に直接コードを追加することは避け、その外側に追加するのが推奨されます。
注意点として、.htaccess
ファイルを編集する前に、必ずファイルのバックアップを取るようにしてください。そして、編集後はサイトの動作を確認して、問題が発生していないかをチェックすることが重要です。
wp-config.phpによるセキュリティ対策
wp-config.php
は、WordPressのインストールディレクトリ(通常はルートディレクトリ)に存在する重要な設定ファイルです。このファイルには、データベースの接続情報やユニークキー、その他の設定が含まれています。
データベース接続情報の保護
wp-config.php
にはデータベースのユーザー名やパスワードなどの情報が含まれています。これを更にセキュアにするため、以下の対策が考えられます。
DB_NAME
,DB_USER
,DB_PASSWORD
などの情報を複雑なものに変更する。
公式のキー生成ツールを利用して、新しいキーと塩を生成します。そして、wp-config.php
の AUTH_KEY
、SECURE_AUTH_KEY
、LOGGED_IN_KEY
、NONCE_KEY
などの部分を更新します。
デバッグモードの無効化
ファイル内に define( 'WP_DEBUG', true );
という行がある場合は、true
を false
に変更してデバッグモードを無効にします。
define( 'WP_DEBUG', false );
ファイル編集の無効化
wp-config.php
の最後に、以下のコードを追加することで、WordPressのダッシュボードからのファイル編集を無効にします。不正な変更を防ぐことができます。
define( 'DISALLOW_FILE_EDIT', true );
コメント