WordPressはブログ作りに必須のツールと言っても過言ではありません。
でもそれだけ広く普及していてからこそセキュリティの穴をついて不正ログインしようとする攻撃者が多いのが現実
不正ログインされてしまうとブログを乗っ取られたり、他サイトへの攻撃の踏み台にされ加害者にもなってしまうこともあります。
ここではその被害を防ぐためのWordPress向けセキュリティ対策をまとめました。
目次
不正ログイン防止の6つの対策
不正ログイン防止のために "絶対" しておきたいのが次の対策
1.ログインパスワードを使いまわさない
ここでいうパスワードとはWordPressにログインするときにユーザー名と一緒に入力するパスワードのことです。
このパスワードを考えるのが面倒だからと言って他のサイトやサービスで使っているパスワードを使いまわすと「パスワードリスト攻撃」のターゲットになってしまいます。
パスワードリスト攻撃とはあるサイトのパスワードを見破り、他サイト入力にも不正ログインしようとする攻撃手法のことです。
例えばあなたがサイトAとサイトBとWordPressで同じIDとパスワードを使いまわしたとします。その時攻撃者は一番セキュリティの低いサイトAのパスワードをまず見破り、その後芋ずる式に他のサイトBとWordPressに不正ログインできてしまいます。
なのでパスワードを考えるのが面倒くさいとしても使い回しだけは絶対にやめましょう。
もしパスワードを覚える手間を減らしたいならパスワードを一括で管理できる1passwordどのパスワード管理ツールを使うのが良いと思います。
2.パスワードを強力にする
パスワードは当然ながら強力なものにすべきです。
では強力なパスワードを作るための重要なポイントは何かというと次の3つ
- 個人情報を元にパスワードを作らない
誕生日や住所などの元にして作ったパスワードは推測しやすいのでつけるべきではありません。また家族の誕生日などにするのも同じです。
- 辞書にある単語を使わない
辞書に載っている英単語などはコンピュータが推測しやすいのでそれをそのままパスワードに含めるのは危険です。
- 桁数が長く文字種類の多いパスワードを使う
桁数の短い1桁~8桁のパスワードは総当たりで解析すればすぐに見破られてしまいます。また小文字だけしか使わないという場合はさらに破られるスピードが速くなります。なるべく安全なパスワードを作りたいなら半角小文字+半角大文字+数字+記号を全て含むものにするべきです。
ここでパスワードの強度と解析にかかる時間に関する調査結果を紹介します。
以下の表は株式会社ディアイティが調査した圧縮時にパスワードを設定したZipファイルのパスワード強度とその解析にかかる時間の関係を表したものです。
「7ケタで英小文字のみ」しか使用していないパスワードではなんと2秒で破られてしまいます。また桁数が10桁と多くても小文字しか使っていない場合でも見破るのにわずか10時間です。
上の表では緑色で囲んだ部分が安全だと思われる桁数と文字種類です。10桁で英数字+記号を使った場合は解析に527年かかるので、安全なパスワードを目指すなら少なくとも10桁以上でなるべく多くの種類の文字を使うという事が重要だと分かります。
3.ログインIDを外部から隠す
実はWordPressのログインIDというのは外部から丸見えです。
しかもブラウザのURL欄で「あること」をするだけでバレてしまいます。
そのあることとはトップページURLに「?author=1」をつけてアクセスすること
例えば次がアクセスするURLの例です。
https://example.com/?author=1
何も対策されていないならURL欄で次のようにユーザー名が丸見えで表示されます。
http://example.com/author/ユーザー名/
これだとセキュリティ的にかなり危険ですよね。
なのでユーザー名は外から見えないように対策しておきましょう。
その詳しい手順については次記事で解説しました。
プラグインを導入すれば数分でできるので、是非お試しを
4.SiteGuard WP Plugin を使う
WordPressではログイン画面が誰にでもアクセスできるようになっているのでその時点で不正ログインがされるリスクが高まります。
そこでログイン画面を隠し、セキュリティを高めたいなら「SiteGuard WP Plugin」というプラグインを導入するのがベストな方法です。
このプラグインの導入や使い方は次記事で解説しました。
導入すると次のような不正ログイン対策が可能になります。
ログイン画面を隠す
WPログインページのURLは次のように「wp-login.php」という部分が共通しています。
http://[ドメイン名]/wp-login.php
そのためログイン画面だけなら誰でもアクセスできてしまうのが問題点
しかしプラグインを有効化するとログインページURLが次のように置き換わります。
http://[ドメイン名]/login_[数字列]
数字列には「12605」などの不規則な数字列が入るので攻撃者がログインページを推測しにくくなるという訳です。
ログイン画面での画像認証
次のようにログイン画面でアカウント名とパスワードに加え、画像表示されている文字列を入力しなければログインできなくなります。
攻撃者はBotと呼ばれるプログラムを使ってセキュリティを突破することがあるのでこのようにログイン時に人間でないとできない画像認証を設定しておくとセキュリティも強まります。
ログインロック
不正ログインしようとする攻撃者がよく利用するのがパスワードを総当たりで入力していくブルーフォースアタック(力任せ攻撃)と呼ばれる攻撃方法
この攻撃を防ぐために SiteGuard WP Plugin ではログインに失敗しすぎると一定時間ロックがかかってログインできなくなる「ログインロック」という機能がついています。
上の画像は実際にログインロックがかかった時の画面
このように専門知識が無くても簡単に不正ログイン対策が行えるので「SiteGuard WP Plugin」はおススメです。
5.ログイン時の二段階認証の導入
セキュリティを万全にするなら絶対に導入しておきたいのが二段階認証
これは言葉通り、ログイン時にパスワードだけではなく他の認証情報を求めて2段階の認証をさせることです。
例えば従来のログインだと次のように1段階の認証だけで本人確認ができてしまいました。
- IDとパスワードを入力
- 正しければログイン成功
これだとIDとパスワードを特定されてしまったら終わりです。
二段階認証の場合はパスワードの入力に加えて本人にしかできない認証が求められます。
例えばその例を挙げるとすると・・・
- 登録したメール宛てに届いた認証コードを入力
- 音声通話でパスワードを受け取り入力
- 認証アプリを使って受け取った認証コード入力
・・・などなど
メールや音声通話や認証アプリというのは本人しか受け取ることができないので、なりすましによるログインを防ぎやすくなるという訳です。
WordPressでこの二段階認証を設定するにはminiOrangeプラグインが一番おすすめです。
その導入手順と二段階認証の設定手順について次の記事でまとめたので是非ご覧ください。
ログイン時に手間が増えますが、それだけでセキュリティが抜群に高まります。なので不正ログインの被害にあわないためにも、絶対に導入して損はありません。(負担が大きすぎるなら無理にまで導入しなくてもいいです)
6.こまめにプラグインを更新
長い間更新されていないプラグインは脆弱性(セキュリティ的に弱いところ)を持っていることがあるのでこまめに更新した方が良いです。
更新手順ですがまずメニューから「プラグイン」ー>「インストール済みプラグイン」と進みます。
そしてインストール済みプラグインの一覧画面の「利用可能な更新」の横に(3)などの数字がかかれていたなら更新しなくてはならないプラグインがあるという事なのでそのリンクをクリックしてください。
利用可能なプラグインが一覧表示されるので次のように全てのプラグインをチェック
そして「一括操作」のプルダウンメニューから「更新」を選び、「適用」ボタンを押すとプラグインの更新が始まります。
更新が完了するとプラグインの下に「更新しました」というメッセージが表示されます。
まとめ
WordPressの不正ログイン対策をまとめると次の通り
ブログやサイトを乗っ取られて嘘の情報を発信するための踏み台にされたり、加害者にならないように普段からセキュリティ対策はしっかりしておきましょう。
フク郎
最新記事 by フク郎 (全て見る)
- トレンドブログが資産に?放置でアクセス急増の事例 - 3月 14, 2024