WordPressをセキュアに保つための10の方法
先日ですが、友人のWordPressが攻撃にあい、フィッシングサイトに利用されるという事件がありました。
サーバー会社に問い合わせをした所、FTPのログインが海外から合ったとの事。
パスワードがどこかから漏れていたのかもしれません。
怖いですね・・・
FTPパスワードが漏れた原因は分からなかったのですが、
出来る事はちゃんとやろうと思いました。
何かがあってからでは、遅いのですからね。
・・・という訳で、WordPressで出来るセキュリティ対策を10個ご紹介。
プラグインも探してみたので情報をシェアします。
誰かのお役に立てれば幸いです。
1.WordPressを常に最新版に
一番の対策はこれです。WordPressはオープンソースのため、攻撃者はサーバーにどんなプログラムがあるか分かる状態になっています。
脆弱性が周知されているので、攻撃する側も簡単に出来ちゃうんですね。
必ず、最新版にアップデートしましょう!
最近だと、古いバージョンを使っていると
Googleのウェブマスターツールからメールが来るようになっているようです。
このメールで気づく人も多いかも。
面倒くさがらずに、ここは徹底しましょう。
後から後悔するのは自分ですよ!
2.不要な情報は表示しない
デフォルトでは、バージョン番号をhead内に表示したり、ログインエラー時にユーザー名が存在するかどうかなど、不要な情報を表示しています。
これらを消すのに、Secure WordPressというプラグインが使うと簡単に対応が可能です。
3.SSLを使用する
SSLが使用可能なサイトの場合には、SSLで管理者画面にアクセスするようにします。
wp-config.phpに以下を追記するだけです。
define('FORCE_SSL_ADMIN', true);
4.wp-config.phpを.htaccessで保護をする
wp-config.phpはデータベースなどの重要な情報がありますので、
.htaccessにて全てのアクセスを拒否します。
<files wp-config.php> order allow,deny deny from all </files>
5.攻撃者のIPを拒否
明らかに攻撃者だと分かるIPアドレスを拒否するようにします。
<Limit GET POST PUT> order allow,deny allow from all deny from 123.456.789 </LIMIT>
6.スクリプトインジェクションを防ぐ
攻撃者がscriptタグをフォームから入力しても処理しないようにします。
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]
7.ユーザー名にadminを使用しない
ブルートフォース攻撃(パスワードをランダムにしてログインを何度も試す)を防ぐために
必ずadmin以外のユーザー名を使いましょう。
8.ディレクトリの参照を防止
ディレクトリの一覧を表示しないように、以下の記述を.htacessに追記しましょう
Options -Indexes
9.不要なクロールされないようにrogots.txtを設置
以下のようなrobots.txtを設置します。
User-agent: Googlebot Disallow: /wp-content/ Disallow: /trackback/ Disallow: /wp-admin/ Disallow: /feed/ Disallow: /archives/ Disallow: /index.php Disallow: /*? Disallow: /*.php$ Disallow: /*.js$ Disallow: /*.inc$ Disallow: /*.css$ Disallow: */feed/ Disallow: */trackback/ Disallow: /page/ Disallow: /tag/ Disallow: /category/ User-agent: Googlebot-Image Disallow: /wp-includes/ Allow: /wp-content/uploads/ User-agent: Mediapartners-Google* Disallow: User-agent: ia_archiver Disallow: / User-agent: duggmirror Disallow: / Sitemap: http://example.com/sitemap.xml
詳しくはコリスさんのサイトが参考になります。
WordPressで作ったサイトを最適化するためのrobots.txt
セキュリティ対策のプラグインを導入する
最後に、セキュリティ対策用のプラグインを紹介します。
プラグインをインストールしたら、こちらも常に最新版になるようにチェックをしておきましょう。
セキュリティ対策をするプラグインです。
私は全てのサイトにこれを導入しています。
主な機能は以下の通り
- ログイン失敗時に出るエラーメッセージを無効化
- head内に表示されるWordPressのバージョンの非表示
- プラグインやテーマファイルを格納しているフォルダへのセキュリティ対策
Akismet
コメントスパムを防ぐプラグイン。
標準で同梱されいているので、有効にしておきましょう。
ログインする際に、パスワードをMD5で暗号化してからサーバーに送信をします。
セキュリティに問題が無いかチェックしてくれるプラグイン
URLにユーザー名を表示しないようにするプラグイン
投稿者別アーカイブがあるサイトには導入するべきでしょう。
ユーザー名を知られないようにするために必須です。
以上、WordPressをセキュアに保つための10の方法でした。
最新情報をお届けします