無理しないでゆっくり休んでね!

セキュリティ対策: .htaccessとwp-config.phpの直接編集でWordPressを守る

WordPressは非常に人気のあるCMSであり、そのため多くのセキュリティ脅威の対象となります。多くのユーザーはプラグインに頼ってセキュリティを強化していますが、さらに堅牢なセキュリティを求める場合、.htaccessやwp-config.phpといった核心的なファイルを直接編集する方法を紹介します。

.htaccessとwp-config.phpファイルへのアクセス

  • ファイル管理ツール(例: cPanelのFile Manager、FTPクライアントなど)を使用して、WordPressがインストールされているディレクトリにアクセスします。
  • ルートディレクトリに .htaccesswp-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 の間に直接コードを追加することは避け、その外側に追加するのが推奨されます。

これは、WordPressの自動アップデートやパーマリンクの設定変更時に、このセクション内のコードが自動的に上書きされる可能性があるためです。

注意点として、.htaccess ファイルを編集する前に、必ずファイルのバックアップを取るようにしてください。そして、編集後はサイトの動作を確認して、問題が発生していないかをチェックすることが重要です。

wp-config.phpによるセキュリティ対策

wp-config.php は、WordPressのインストールディレクトリ(通常はルートディレクトリ)に存在する重要な設定ファイルです。このファイルには、データベースの接続情報やユニークキー、その他の設定が含まれています。

データベース接続情報の保護

wp-config.php にはデータベースのユーザー名やパスワードなどの情報が含まれています。これを更にセキュアにするため、以下の対策が考えられます。

  • DB_NAME, DB_USER, DB_PASSWORD などの情報を複雑なものに変更する。

公式のキー生成ツールを利用して、新しいキーと塩を生成します。そして、wp-config.phpAUTH_KEYSECURE_AUTH_KEYLOGGED_IN_KEYNONCE_KEY などの部分を更新します。

デバッグモードの無効化

ファイル内に define( 'WP_DEBUG', true ); という行がある場合は、truefalse に変更してデバッグモードを無効にします。

define( 'WP_DEBUG', false );

ファイル編集の無効化

wp-config.php の最後に、以下のコードを追加することで、WordPressのダッシュボードからのファイル編集を無効にします。不正な変更を防ぐことができます。

define( 'DISALLOW_FILE_EDIT', true );

コメント

タイトルとURLをコピーしました