様々なCMSが開発されている中でもダントツで人気、というかユーザー数が多いのがWordpress。利用者が多いことは色々なメリットもあるのですが、多いからこそ気を付けなくてはいけないこともあります。それはセキュリティ対策。
最低限、admin以外のユーザー名を使い、強力なパスワードを設定するくらいは、Wordpress本体のインストール時にほとんどの方がやっていると思います。
が、これだけで十分か、というと…十分じゃないかもしれない、というのが実のところ。
Wordpressのセキュリティ関連のプラグインが色々出ていて、使用者が多数いることからも、それが推し量れます。
セキュリティ対策は「備えあって憂いなし」のためのものですので、何かあってから「やっとけばよかった!」と後悔する前に、最低限の対策は施しておきましょう。
私も本当に今更ながらですが…先日設定しました。色んなプラグインが出ていますが、私が今回入れたログイン画面を守るための2つのプラグインをご紹介します。15分もあれば設定完了できますので良かったら使ってみてください。
何のためにログイン攻撃をするのか
どこかで「ブルートフォース攻撃」という言葉を見たことがあるかもしれません。これはログイン画面でユーザ名とパスワードを何度も変えながら総当たりでログインを試み、Wordpressを乗っ取ろうとする攻撃のことを言います。
簡単に言うと、あなたのサイトを乗っ取って悪用したい、というのがログイン攻撃をする主な理由のようです。乗っ取って何をするのか…、というと、サイトの内容を改ざんしたり、マルウェアの配布に使ったり迷惑メールの配信元にしたり・・・などといった「悪モノ」サイトとして利用されます。自分が育ててきたブログやサイトが他人によって悪用されるなんて許せないですよね!
なので、そんな悪用をされないためにログイン画面を守る必要があります。
ログイン画面を守る方法
ログイン画面を守る方法はいくつかあります。
- adminというユーザー名を使わない(ある場合は変更するかそのユーザーを削除)
- Webサイトにユーザー名が表示されないようにする(管理画面のユーザーのところから設定できます)
というのは絶対条件です。
(えっ、adminでログインしている?今すぐ変更してください!)
これに加えて
- ログイン試行回数を制限する(短時間にログイン試行できる回数を減らして総攻撃から守ります)
- wp-login.phpを他のファイル名に変更する(wp-login.phpを別のファイル名にすることで、ログイン画面自体へアクセスしにくくします)
- 画像認証CAPTCHAを導入する(コンピュータによるログイン試行を防御)
- 2段階認証(Basic認証、携帯電話番号の利用などで、ログインを2段階にして安全度を高めます)
などの方法があります。
今回はログイン画面のセキュリティを総合的に行ってくれるプラグインSiteguard WP Pluginを導入しました。
Siteguard WP Pluginでログイン画面を守る
プラグインのページ: http://www.jp-secure.com/cont/products/siteguard_wp_plugin/index.html
このプラグインでは以下のことができます。
- ログインページ変更(wp-login.phpを他のファイル名に)
- CAPTCHA(画像認証)の導入(ひらがな、または、英数字を選べる)
- ログイン試行回数の制限
- ログインアラートの送信
このほかに、管理画面へのアクセス制限や、Wordpress本体やプラグインを常に最新に保つために更新通知を管理者にメールで送るなどの設定も可能です。
日本人の方が作成されているプラグインなのでインストールすると、各設定項目に分かりやすい日本語の解説が付いてきます。それを見ながら設定すればOKです。デフォルトでOnになっているものだけでも十分でしょう。
Basic認証で二段階認証をする(プラグインなしでOK)
この方法も良く使われています。ログインファイル(wp-login.php)をパスワード保護する方法です。Basic認証をつけると、ログイン画面が開かれる前にブラウザのポップアップでユーザー名とパスワードの入力が必要になります。
プラグインなしで.htaccessに記述する方法でできるので、プラグインを増やしたくない方はこれがいいかもしれません。
参考: ログイン画面が危ない!WordPressの「wp-login.php」をBASIC認証でアクセス制限する方法
Basic認証は、投稿や固定ページにパスワード保護をかけたい場合は要注意
あまりないケースかもしれませんが、一つ注意点があります。投稿や固定ページでパスワード保護をかけると、パスワード入力後にBasic認証を求められる可能性があります(私はそうなりました)。特定の人だけにページを公開したい場合にパスワード保護をかけられますが、Basic認証で管理者用のユーザー名とパスワードの入力を求められるなんて困りますよね。。
これは投稿やページのパスワード入力後に
(SiteURL)/wp-login.php?action=postpass
が呼び出されているためのようです。
パスワード保護された投稿や固定ページを公開することを考えている方は、Basic認証との相性が悪いことを頭の片隅に入れておいたほうがいいと思います。
Edit Author SlugでURLからユーザ名を抜き取られるのを防ぐ
実はもう一つ抜け穴が…
これ、最近知ったんですが、結構衝撃でした。
管理画面からユーザーの設定画面で、サイト上の表示名をユーザー名以外にしても、ユーザー名(=ログインに使うやつ)がURLからばれてしまうらしいです。
どうするのかというと、
サイトの記事URL+/?author=1
と試しにブラウザのアドレスバーに入力してEnterを押してみてください。
なんと、URLに自分のログイン用のユーザー名が表示されてしまうんです!
(設定によってはされないこともあるみたいですが・・・試してください。私のところでは表示されちゃいました>_<)
参考: 不正ログイン・改ざんを防ぐWordPressのセキュリティ術
知る人ぞ知る抜け穴…。でもこれは以下のプラグインを入れて設定することで即解決できます。
Edit Author Slugのプラグインページ
プラグインをインストールして、ユーザー > あなたのプロフィール を開き、一番下のほうにあるAuthor Slugをユーザー名とは別の物に設定します。これだけでOKです。
ということで、今回はWordpressのセキュリティ対策で簡単に使えるプラグインをご紹介しました。
そのほかに基本的なこととして、バックアップをしっかりとる、Wordpress本体やプラグインを定期的に更新するといったことも忘れないようにしましょう!
コメント