WordPressのセキュリティ対策とそれに伴うsitemap.xmlの導入

最近、twitterで話題になっていた記事が気になったので、調べてみた。

 
元ネタはコチラ
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対応も近々やります。
今回は、リンクのコピペばっかだな。
ま、備忘録なので勘弁してください。

コメント

タイトルとURLをコピーしました