WordPress用の.htaccess設定

WordPress

レンタルサーバーなどでブログを運営しているとセキュリティの問題についても考えなければなりません。自分のブログが改竄されるだけでなく、他のブログをサイバー攻撃する踏み台にされてしまい、その結果加害者になってしまう恐れもあるからです。

そこで、WordPressのセキュリティ強化向け .htaccess 設定をまとめました。

アクセス制限 (セキュリティ対策)

wp-config.php へのアクセス禁止

<Files wp-config.php>
    Require all denied
</Files>

wp-login.php へのアクセス制限

xx.xx.xxのところにはアクセスを許可したいIPアドレスを入れてください。

<Files wp-login.php>
    Require all denied
    Require ip xx.xx.xx.xx
</Files>

ワームからのアクセスを拒否

SetEnvIf Request_URI "^/(mem_bin|_mem_bin|vti_bin|_vti_bin|c|d|msadc|MSADC|scripts|default\.ida|NULL\.IDA|cmd\.exe|root\.exe)" worm
Require not env worm

悪質なボットからのアクセスを拒否

BrowserMatchNoCase (nabot|dloader|digext|openbot|archiver|crawler|spider|scooter|zyborg) refuse_malicious_bots
Require not env refuse_malicious_bots

.htaccess .htpasswd .bak .BAK へのアクセスを拒否

<FilesMatch "(^\.ht|~$|\.bak$|\.BAK$)">
    Require all denied
</FilesMatch>

WordPressの重要なファイルへのアクセスを拒否

<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>

指定した接続元からのアクセスのみ許可

IPアドレス指定

<RequireAny>
    Require ip xx.xx.xx.xx
</RequireAny>

ドメイン指定

以下の例では、example.jp というドメインからのアクセスのみ許可しています。

<RequireAny>
    Require host example.jp
</RequireAny>

指定した接続元からのアクセスを拒否

IPアドレス指定

<RequireAny>
    Require not ip xx.xx.xx.xx
</RequireAny>

ドメイン指定

以下の例では、example.jp というドメインからのアクセスを拒否しています。

<RequireAny>
    Require not host example.jp
</RequireAny>

その他の役立つhtaccess設定

画像への直接リンク禁止

以下の例では「https://www.xxx.yy」というドメインのサイト上にある gif、png、jpg 画像への直接リンクを禁止しています。

RewriteBase /
Options FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_URI} ^(.*)\.(gif|png|jpg)$ [NC]
RewriteCond %{HTTP_REFERER} !^https://www.xxx\.yy/.*$ [NC]
RewriteRule ^(.*)$ - [F]

301リダイレクト

301リダイレクトについては、こちらの記事をご覧ください。

httpをhttpsに301リダイレクトする
レンタルサーバーではSSLを利用できるところも多いと思います。しかし、SSLを有効化した後、忘れてはいけない設定があります。それは http へのアクセスを https に301リダイレクトさせることです。そもそも301リダイレクトとは?分...

参考にさせていただいたサイト様

極力危機を回避するための!【WordPressセキュリティ対策まとめ】 | LINKSTORY LIBRARY
目次wp-config.phpへの対策wp-config.phpへのアクセスを不可にするwp-config.php を1つ上の階層(非公開ディレクトリ)へ移動wp-login.phpにアクセス制限をか
あなたのホームページは大丈夫?WordPressのセキュリティを高めるためにやっておきたい7つのこと
今回は、WordPressのセキュリティを高めるために2017年にやっておきたい対策方法を7つのポイントに絞ってご紹介していきます。何も対策せずにWordPressで作成したホームページを放置しておくのは、鍵を開けたまま家を外出するのと同じ...

コメント