WordPressは使い勝手も良く、世界的に人気があるため、攻撃を受けやすいツールでもあります。そこで、初期状態のまま置いておくのではなく、セキュリティをいくつか強化しておいた方が良いところがあります。
しかし、何事もメリットデメリットがあります。あまりにガチガチに堅めすぎると、運用の手間が増えてしまうという問題も起こります。
そこで、今回は簡単かつ手間があまり増えることのない対策をいくつかご紹介。
【ファイルパーミッションの変更】
昨年秋、ロリポップやinterQのサーバー群が、クラッカーの不正アクセスで乗っ取られ、改ざんを受けたのが記憶に新しいところです。かなりの数の被害が出たようです。
あの攻撃に関しては、ファイルパーミッション変更をやっておくだけでも多くが防げるような内容だったので、少なくともこれを確認し、必要なら変更しておくことをお奨めします。
.htaccess
主にIPやホストによるサイトアクセス制限を設定するファイル。他の機能にもありますが詳細は割愛。
パーミッションは「604」に。
多くのレンタルサーバーでは元々そう設定にされてることが多いかと思いますが、一部なってないこともあるようですので、その場合は変更を。
wp-config.php
WordPressが使っているデータベースへアクセスするための設定などが入っているファイルです。このファイルをクラッカーに触られますと、最悪乗っ取られます。
パーミッションは「404」か「400」にします。
「400」の方がより堅牢ですが、実行時にエラーを起こす可能性も多少あるようなので、不安な場合は「404」で。
ロリポップの事件では、このパーミッションのデフォルトが「644」になっていたために、多くの被害が出ました。
パーミッションの変更方法については、各レンタルサーバーのヘルプか、FTPクライアントの使い方を見てください。
【プラグインを使用する対策】
その名の通り、非常にシンプルな不正ログイン対策プラグインです。パーミッション変更が裏口対策とすると、こちらは正面玄関(ログイン画面)に対する対策ですね。
同一IPから短時間に複数回ログイン失敗すると、一定時間ログインできなくなるというものです。例えば、5回連続でログイン失敗すると2時間ログイン動作自体を不可(ロックダウン)にする等。この回数と時間は設定することできます。
これによって、ブルートフォースアタック(総当たり攻撃)などを防ぐことができます。
ただし、あまり厳しい設定にすると、自分がパスワードを忘れて、何度か打ち直してるうちに、ロックダウンされてしまうことがあるので、一応、ご注意(会社のひとがやらかしたことが)。
ダッシュボードの「ユーザー」画面から「ログイン履歴」を見ることができるようになります。ログイン時間、ログインIP、ユーザーエージェントを記録します。またログインエラーを起こした場合はそのログも。
こちらは直接の対策ではなく記録を取るものです。
同じ所から何度も不審なアクセスがあった場合に.htaccessで遮断するときの情報収集などに使います。ブルートフォースアタックなどがあった場合に履歴を見ることができるようになります。
ちなみに「狂骨」というのは妖怪の名前だそうです。
こちらはセキュリティ対策というよりは、コメントスパム対策です。
ですが、このプラグインは、スパム判定された投稿者のIPが記録されるので、攻撃者と併せてブロックするための情報を取れるというのが大きいです。
(私はあまり.htaccessでブロックしすぎるのも好きではないのですが、
海外からのスパムや攻撃も多いので、多少はやむなし)
日本語が1文字も入っていないコメントをスルーしたり、ダミー書き込み画面を生成する機能もあり、セキュリティ対策のみならず優秀なプラグインです(人間には見えないが、スパムロボットにはあるように見えるフォームを作ります)。
ちなみに日本製。
結論のようなもの
- セキュリティに完全というものはありません。しかし、ひとまずこのあたりの対策だけでも、簡単にはやられないようにはなるでしょうか。
- 他にもWordPressの管理画面にログインすることのできるIPを制限をしてしまう、ワンタイムパスワードを導入するなど、より堅牢にする方法はあります。
- しかし、環境によっては運用が少々面倒になるので、私は他の方法は見送りました(いずれ導入を検討するかもしれませんが)。
- 対策をしても、乗っ取りや改ざんを受ける可能性はどうしてもあるわけで、やられても復旧可能なようにバックアップをできるだけ取っておくことを忘れずに。