サイト表示の高速化支援 CDN, CloudFlare.com の利用とTIPS – .htaccess セキュリティ設定

後日、情報公開したいと思いますが、当サイト含め私が保有するドメインを管理する DNS が DDoS 攻撃の踏み台に利用されていたか、または踏み台にしようとするためのクエリを大量に受信していたことが判りました。
情けないことに、別途契約している VPS サービスの提供元である DTI 社からのご指摘をいただいて気づいた次第です。

無論、JPCERT などから公開されている脆弱性への対処はしていた認識ですが、実機上のログから攻撃の痕跡を確認したため、
対応として自前の DNS を停止することにしました。

実は、ここ数日原因不明で Web サイトへのアクセスが 40 秒くらい遅延するという事象が発生しており原因調査をしていました。
DNS への攻撃に起因しているとは気づくことができずこれは盲点だと思います。
自サイトや保有するドメインの名前解決は正常にできる状態ですから、DNS を疑う視点がなかったのです。

事象としては、”ブラウザで URL を指定してからページがコンテンツが返されるまでの間” が 40 秒~ 50 秒遅延するという状態で、Web サーバや WP のプラグインの見直しなどをしていました。
しかし、そもそも、Web サーバにも大した負荷はかかっておらず、perl や php-cgi プロセスが起動されるまでが遅延するというおかしな状態です。

ウェブサイトの表示について原因不明の遅延が発生している場合、DNS 周りも見直すことも重要だと考えさせられました。

で、前置きが長くなりましたが、そんな経緯があって

・自前でDNSサーバを運用しなくても良い
・サイト表示の高速化
・セキュリティ向上
・無料!

と条件のそろっている CloudFlare.com を導入してみました。一晩で 20 ドメインほど一気に移行しちゃいました。
移行方法などについてはゴリミーさんの記事などを参考にすると良いかと思います。

JavaScript や CSS をキャッシュしてウェブサイトの高速化できることで注目を集める CloudFlare.com ですが、
移行後に変更が必要だった点がいくつかありますので TIPS として。

1. .htaccess
WordPress のログイン画面を表示するのは自宅や自社のIPからのみでも良いわけです。
例えば、ロリポップなどのサービスでは、最近はきちんと対策をしており、 wp-login.php に対してアクセス制限をかけています。
CloudFlare を利用すると、ユーザからのアクセスは CloudFlare からの IP になります。
したがって、.htaccess でログイン画面にアクセス制限をかけている場合は CloudFlare のIP範囲を追加または新規設定する必要があります。

CloudFlare導入後、管理画面にアクセスできなくなった方は .htaccess を確認してみるとよいでしょう。
以下は .htaccess の設定例です。参考にしていただければと思います。

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule . index.php [L]


Order deny,allow
Deny  from all
# CloudFlare IP Ranges
Allow from 199.27.128.0/21
Allow from 173.245.48.0/20
Allow from 103.21.244.0/22
Allow from 103.22.200.0/22
Allow from 103.31.4.0/22
Allow from 141.101.64.0/18
Allow from 108.162.192.0/18
Allow from 190.93.240.0/20
Allow from 188.114.96.0/20
Allow from 197.234.240.0/22
Allow from 198.41.128.0/17
Allow from 162.158.0.0/15
Allow from 104.16.0.0/12
Allow from 2400:cb00::/32
Allow from 2606:4700::/32
Allow from 2803:f800::/32
Allow from 2405:b500::/32
Allow from 2405:8100::/32

なお、最新のIP範囲は以下のURLで確認してください。
https://www.cloudflare.com/ips

2. ftp アクセス
これは CloudFlare の管理画面でも注意喚起が示されていますが、例えば ftp サーバへアクセスする際に
neoflow.jp でアクセスしていた場合、CloudFlare 導入後は ftp.neoflow.jp というサブドメインを設定してアクセスする必要があります。

CloudFlare では「ftp.ドメイン名」はクラウド経由にならないように配慮してくれていますのでこれまで通りアクセスができるようになります。

WordPress の管理画面にアクセスできること、ftp アクセスできることなどを確認しておくことをおすすめします。
あと、Google for your domain 利用環境もそのまま問題なく移行できますよ!

今回はこのくらいで^^ノ

スポンサーリンク