.htaccessファイルでのセキュリティー対策

更新日: 2022.04.24

下記一括記述

##################################################
# セキュリティ
##################################################
# ディレクトリ閲覧防止
Options All -Indexes

# .htaccess をアクセス不可にする
<Files ~ "^.*\.([Hh][Tt][Aa])">
	deny from all
</Files>

# config.phpをアクセス不可にする
<Files wp-config.php>
	deny from all
</Files>

# wp-includes フォルダにアクセス制限をかける
<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>

HTTP経由でのファイルのアクセス制限

.htaccess

# .htaccess をアクセス不可にする
<Files ~ "^.*\.([Hh][Tt][Aa])">
	deny from all
</Files>

wp-config.php

# config.phpをアクセス不可にする
<Files wp-config.php>
	deny from all
</Files>

HTTP経由でのフォルダーのアクセス制限

wp-admin/includes, wp-includes配下

# wp-includes フォルダにアクセス制限をかける
<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>

解説

  • ハイフン(-)はフラグの操作だけを実行したい(置換しない)場合に使う。
  • F(forbidden):ステータスコード「403」(Forbidden)を返す。
  • L(last):ルールにマッチしている場合は、URLの書き換え処理を終了する。
  • S=num(skip=num):ルールにマッチしている場合、数値に指定した数の後続のルールの適用をスキップする。

HTTP経由でのファイル・フォルダーの閲覧制限

# ディレクトリ閲覧防止
Options All -Indexes

参考

https://www.blogging-life.com/htaccess-wordpress-security-setting/

https://www.webdesignleaves.com/pr/html/htaccess.html

https://www.webdesignleaves.com/pr/wp/wp_user_enumeration.html