WordPress のセキュリティ強化のために「BulletProof Security」というプラグインを入れてみた。インストールは簡単だが,有効化するについては,いくつか気を付けたほうがいいところがある。
- Network / Multisite 上で使用可能なプラグインだが,「ネットワークで有効」にしてはいけない。「ネットワークで無効」のまま,親サイトでだけ有効にする。
- BulletProof Security は .htaccess を使うので,当然ながら,サイトの .htaccess が書き換えられてしまう。前もって, WordPress ルートと wp-admin 内の .htaccess をバックアップしておこう。
- .htaccess を利用するので, BulletProof Security が自分の WordPress で使えるかどうかは,サーバのコンフィグ次第ということだ。うちの場合だと,途中でエラーが出たので, Apache のログを見て, httpd.conf の <Directory> にある AllowOverride ディレクティブ に Options=Indexes を付け加えた。
ところで, BulletProof Security のページで, Sucuri SiteCheck Scanner を見つけたので,スキャンしてみた。怖いものは見つからなかった。まあ,「Sucuri SiteCheck は無料のリモートスキャナです。できる限り正確な情報をお届けできるように努めていますが,スキャン結果に間違いがないことを保証するものではありません。」てスキャンのサイトに書いてあったけど,それは当たり前のことだから。
追記(12/2):
なんか ‘Broken Link Checker’ プラグインが下記のメールをくれましてん。自ブログの存在するファイルのことなので,ビックリ。
Broken Link Checkerは、あなたのサイトに新しいリンク1がリンクエラーと検出されました。
リンクエラーの一覧 :
リンク テキスト: Asus ,HCL X51C (T12C) Motherboard schematic
リンクのURL : /blog-j/files/Asus_HCL_X51C_(T12C).pdf
ソース : ノートをWin8 Proにアップグレード。
すべてのリンクエラーを見ることができます: http://ダッシュボードのツールの URL
何で,どうして??? 10/16 にアップロードしてから全然変えてないし,とか思って,ブラウザからアクセスしたら,別のエラーが出た。こんなの:
o6asan.com 403 Forbidden Error Page
If you arrived here due to a search or clicking on a link click your Browser’s back button
to return to the previous page. Thank you.
調べたてみたら, ‘BulletProof Security’ プラグインが吐くものだった。さらに調べて ‘BulletProof Security’ は,ファイル名に ( ) があると拒否する設定になっていることがわかった。何かセキュリティ上でまずいことでもあるのかな。
安直に, Asus_HCL_X51C_(T12C).pdf を Asus_HCL_X51C-T12C.pdf に変えて解決 (^_^;)。
追記2(12/3):
早速,Version:.49.7 へのアップデートがあり,使えないと書いたばかりの「ネットワークで有効」ができるようになった。もちろん,前のままの方式でも使える。
追記(12/2)の補足だが,ファイル名に半角空白が入っているのもダメなようだ。
追記3(12/4):
なんか毎日ここに追記書いてるよー(苦笑)。 ‘BulletProof Security’ 君,今度は,わがサイトの Flash Movie をブロックしてやんの。お蔭さんで,高住神社のなんかで,「ムービーが未ロード」とか出た。ご本尊の Adobe Flash Player がらみでもよくある話なんで,疑っちゃったじゃないの,今回は無実なのに-ハハ。
解決方法は, Flash swf 403 error – Flash slideshow blocked で,どんぴしゃり。 Root の .htaccess に我が家の swf を足してやった。こんな感じ。太字のイタリックですね。
RewriteRule .* index.php [F,L]
RewriteCond %{REQUEST_URI} (flvplayer.swf|timthumb.php|~~|thumbs.php) [NC]
追記4(2014/7/14):
最近気づいたんだが,サーバのログにかなりな数の 500 Internal Server Error が出ていた。しょっぱなの見た目では, font-face の IE 用ハックのせいに見えた。しかし,最終的にわかったのは, BPS の .htaccess の フィルターから来ているということだった。 URI の最後に ?
があるとまずいようだった。それで, WordPress 日本語フォーラムと BulletProof Security Free フォーラムに相談に行った。おかげで,無事,解決。パチパチ!!
より詳しい話は,相談先の下記2サイトをご覧ください。
IE11(Win8.1),IE10(Win7)で,アクセスしたとき,font.eotについてエラーがでる。
font-face 500 Internal Server Errors
追記5(7/16):
我が家の http_error_log.txt には,うちのサイト関連の 403 Forbidden Error がズラッと並んできた。 Broken Link Checker が HEAD メソッドを使うせいである。 Broken Link Checker が HEAD メソッドを使うんだということは 2012.12.29 の TODOS の話題で知っていたが,両プラグインとも使い続けたかったので,あきらめて事態を受け入れていた。どうすりゃいいのか,わかんなかったし(爆)。
ところが,今回 500 Internal Server Error の件で, .htaccess を覗いていて,下記の文言を発見。ワォッ!!
# REQUEST METHODS FILTERED
# This filter is for blocking junk bots and spam bots from making a HEAD request, but may also
# block some HEAD request from bots that you want to allow in certain cases. This is not a
# security filter and is just a nuisance filter. This filter will not block any important bots
# like the google bot. If you want to allow all bots to make a HEAD request then remove HEAD
# from the Request Method filter.
# The TRACE, DELETE, TRACK and DEBUG request methods should never be allowed against
# your website.
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(HEAD|TRACE|DELETE|TRACK|DEBUG) [NC]
RewriteRule ^(.*)$ - [F,L]
これって,こっから, HEAD を消しちゃっていいってことだよね?早速,ルートの .htaccess から HEAD を消した。 wp-admin のほうは,そのまま。 Broken Link Checker はここで HEAD をやる必要ないからネ。
思惑通り,ことは進んでいる (*´▽`*)。