WordPressのセキュリティーまとめ

2016.9.5 (月)

ここ最近のWordpressへの攻撃はかつてのWindos XPへの攻撃と同じで「いっぱい使われているから」っていう理由です。特にめちゃめちゃWordpressがセキュリティーホールがあるっていうんじゃなくて、あんたが作ったショボイCMSまがいのものにセキュリティーホールがあったとしても「誰も狙わない」というだけの話しです。そんなわけでかつてのWindows XPも相当に苦労しておりました。(Service Pack2とかでめちゃめちゃ長い更新かけられたりしましたよね。)
で、Wordpressのセキュリティーまとめです。

インストール時のテーブルのプレフィックス(接頭語)はwp_以外にする

wpのphpコード内にはデータベーステーブルの情報は格納されていません。なので、接頭語を変えておくだけで全く推測できないテーブル名になります。もし仮にwp_のままインストールしてしまうとちょっと詳しい人だったらどのテーブルに侵入すればよいのかすぐにわかります。

管理画面はIP制限しておく

WordPressのクラッキングで一番楽しいのは管理画面に入ってみることです。なのでクラッキング以前にIP制限を行っておいた方がいいです。これでとりあえずは入ってこれないです。Wordpressがインストールされているディレクトリにある.htaccessに以下を追加します。

<Files wp-login.php>
Order deny,allow
Deny from all
Allow from 12.34.56.78
Allow from 87.65.43.210
</Files>

wp-config.phpは400にしておけ

特に問題なければ、

/blog/wp-config.php [400]

にしておけってことです。実行ユーザーがApache(www)だったりする場合はそれなりのパーミッションが必要ですが、レンタルサーバーとかだったらだいたい400でOKです。これやらないと稀にDBの接続情報盗まれますよ。(場合によっては404じゃないと読み込み自体しない時があります。)

install.phpは000にしておけ

よっぽどのことのがない限り、再インストールなんてしないので、install.phpは概ね不要。削除するのも何だと思う方はパーミッション000にしておくべきです。

/blog/wp-admin/install.php [000]

おまけみたいなもので、wp-admin/update.phpも問題なければ000にしちゃってください。この方が安心です。

FTPなど使うな

いろいろ事情があると思いますが、FTPなんて使っていたらダメです。FFFTPなんかをクライアントソフトに使っていたらもっとおかしなことになります。パスワードなんて誰でも盗めちゃうのでFTPは場合によってはスッカスカです。できるだけSFTPとか使いましょう。認証鍵で通信を暗号化すること。2048bit長の鍵はそんじょそこらの8文字パスワードなんかと比較できないぐらいセキュリティー的には抜群です。基本FTPはナメておくこと。

Crazy Bone (狂骨)プラグイン

ログイン履歴とそのIPが記録されます。管理画面に複数のIPアドレスで接続する再には都度警告のバルーンが出ます。またログインしようとしている変な外国のIPとかはhtaccessとかでブロックしたりいろいろしておいたほうがいいです。(上記でログイン部分のIP制限している場合は除く)そこら辺ちゃんとしておきましょう。面倒くさいですが。
もっと自信のない人は、Wordpressのアクセスを丸々日本のIPアドレスだけに限定しちゃうのも手です。

SSLにしてしまいなさい

問題なければWordpressは全部SSLにしてしまいないさい!

デフォルトユーザーのadminは削除しないさい

WordPressのデフォルトの管理者ユーザーはadminになってしまいます。なので、新規ですべての権限を与えたユーザーを作成してadminは削除してください。ユーザー名がバレているだけクラッキングは相当に楽になります。(これは最新付近のバージョンでは改善された模様です。)

使ってないテーマは削除しなさい

とある勉強会で使ってないテーマのホールを突かれて侵入された話聞きました。テーマもシステムファイルの一部ということなのでご注意。

wp-login.phpのファイル名を変更する

だいたいの人が/wp-login.phpか/wp-admin/にアクセスしちゃうので、login_HcbbK.phpとかにしておけばよいです。login_<5桁の乱数>にしてくれるプラグインがあります。またログイン時にひらがなの入力を求められます。完全に日本人向け。
SiteGuard WP Plugin
SiteGuard WP Plugin Download