最近、twitterで話題になっていた記事が気になったので、調べてみた。
WordPress:WordPressをセキュアに保つための10の方法 http://t.co/sCcJcdHH
— Webクリエイター ボックス (@webcreatorbox) October 17, 2012
元ネタはコチラ
Web活メモ帳 – WordPressをセキュアに保つための10の方法
非常によくまとまっていて、わかりやすかったんだけど
導入するにあたって、いくつかハマった点があったんで備忘録。
まず、記事に書かれていた内容をざっくりと。
1.WordPressを常に最新版に
これは、まぁやってるからよしとしよう。
2.不要な情報は表示しない
これは、記事の通り”Secure WordPress“っていうプラグインを導入して解決。
プラグインの導入にあたっては、コチラの記事を参考にしました。
と言っても、インストールして全部チェックしただけだけど。
セキュリティを強化する”Secure WordPress”|プラグイン|情報商材レ
3.SSLを使用する
こちらはちょっと思うところがあって、また今度。
4.wp-config.phpを.htaccessで保護をする
当然やります。
これしとかないと、wp-config.phpにアクセスできちゃうってことなんでしょか?
いや、さすがにそんなことはないと思うんだけど・・。
具体的な効果はよくわからないけど、念のため。
5.攻撃者のIPを拒否
今んとこ、そんな殊勝な方はいらっしゃいませんので割愛。
6.スクリプトインジェクションを防ぐ
ハマったのはここ。
記事には以下のように記述するように書かれていたんだけど・・・
[code lang=”bash” line=”1″]
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]
[/code]
ウチのサイトはマルチサイトなんで、以下の記述を追加する必要があった。
[code lang=”bash” line=”1″]
RewriteBase /
[/code]
もうひとつ。
ウチのレンタルサーバはOptionsによるオプションの書き換えを許していないっぽぃ。
おかげで、500エラーが出て困った。
まぁ、ここは特に書き換える必要がないので、コメントアウト。
7.ユーザー名にadminを使用しない
当然していませんので、割愛。
8.ディレクトリの参照を防止
これも、オプションの書き換えができないんで割愛。
幸い、Secure WordPressが対応してくれるし。
9.不要なクロールされないようにrobots.txtを設置
robots.txtに関しては、記事のネタ元のコリスさんとこを参考にしました。
コリス – WordPressで作ったサイトを最適化するためのrobots.txt
まぁ、そうは言っても変えたのは
[code lang=”bash” line=”1″]
User-agent: Googlebot
Sitemap: http://example.com/sitemap.xml
[/code]
を
[code lang=”bash” line=”1″]
User-agent: *
Sitemap: /sitemap.xml
[/code]
に変えただけだけど。
User-agentは全てのagentに対応させるもの。
Sitemapは自分のトコのサイトマップにしとかなきゃね。
後はsitemap.xmlの作成。
sitemap.xmlについては、”google-sitemap-generator“プラグインを使用。
このプラグインも、マルチサイトに対応している的な記事に惑わされたけど、
一部、コアソースを修正しないとマルチサイトに対応しない(もしくは警告が出る?)と言う点で30分くらいハマった。
これについては、こちらの記事を参考に。
WEB備忘箱 – WordPressプラグインGoogle XML Sitemapsを使うとき、マルチサイト互換性のエラーを解決する方法
これで、無事にセキュリティ対策が完了。
SSL対応も近々やります。
今回は、リンクのコピペばっかだな。
ま、備忘録なので勘弁してください。
コメント