WordPressのセキュリティ対策・画像直リンク禁止・User-Agent 拒否等【Apache2.4系】

WordPressのセキュリティを高めるために、Apache2.4系で推奨される.htaccessの記述方法。画像直リンク禁止、管理画面アクセス制限、User-Agent 拒否などを行う。

画像直リンク禁止


# Referer Deny
<FilesMatch "\.(gif|jpg|jpeg|png)$">
  SetEnvIf Referer "http://sunakoto.come" authoritative_site
  Require env authoritative_site
</FilesMatch>

SetEnvIf Referer リンク元情報 設定する環境変数

ヘッダーに含まれる「Referer」を確認して正しいリンク元情報と比較する。正しい場合には環境変数を設定するauthoritative_siteは任意の環境変数

Require env 環境変数

指定の環境変数が定義されていれば許可する

User-Agent 拒否


SetEnvIf User-Agent "SemrushBot" deny_bot
SetEnvIf User-Agent "BLEXBot" deny_bot
SetEnvIf User-Agent "DomainCrawler" deny_bot

<RequireAll>
    Require all Granted
    Require not env deny_bot
</RequireAll>

SetEnvIf 属性 属性値

SetEnvIf ディレクティブはリクエストに含まれる属性が別途指定した正規表現を使った属性値とマッチした場合に環境変数を定義する

Require all Granted

すべての接続元を許可する

Require not env 環境変数が定義されていればアクセスを拒否

環境変数deny_botが定義されていればアクセスを拒否

管理画面のアクセス制限


<Files ~ "^(wp-login\.php|wp-config\.php)$">
  Require host XXXXX.jp
</Files>
<Files ~ "^(mlrpc\.php|wp-cron\.php|wp-config\.php)$">
  Require all denied
</Files>