みなさま、こんにちは!
本記事は、簡単に始められるWordPressのセキュリティ対策のひとつであるブルートフォースアタック(総当たり攻撃)対策についてのご紹介をしていきます。
WordPressを使っているサイトは数多くあり、世界でもっとも利用されているCMSであるがゆえに、悪質な攻撃を仕掛けられる場合もあります。
例えば、WordPressのログインID・パスワードを不正に奪取しようとする、「ブルートフォースアタック(総当たり攻撃)」これは、IDとパスワードを総当たりで試してこじ開けWordPressの管理を乗っ取ろうとする攻撃です。
もし、WordPressサイトを乗っ取られてしまった場合、改ざんされたり、踏み台にされて大量の迷惑メールを配信されたり、さまざまな悪影響を与えます。
セキュリティの対策として、パスワードを強固なものに変更するだけでもセキュリティ強化となりますので、大前提としてパスワードを強固なものに変更しておくことが大切です。
今回は、セキュリティ対策の一例として、「ブルートフォースアタック(総当たり攻撃)」などの不正ログイン対策に焦点をあてて、WordPressでできる対策をご紹介していきたいと思います。
それでは早速みてまいりましょう!
・ブルートフォースアタック(総当たり攻撃)などの不正ログイン対策について
・パスワード強度について
・WordPressログインパスワードの設定方法
・WordPress管理・ログインページの保護プラグイン「SiteGuard WP Plugin」
・管理画面へのアクセス制限の設定
■ブルートフォースアタック(総当たり攻撃)などの不正ログイン対策について
ブルートフォースアタック等の不正ログインの対策として、下記が有効となります。
パスワード強度をあげる
パスワードロックなどログイン失敗後に連続してパスワード入力をさせない
パスワード入力の他に「画像認証」などを取り入れる
WordPressの管理画面URLに不用意にアクセスさせない
それでは、①から④についての有効な対策についてご紹介します。
■パスワード強度について
よく「パスワードを強化しましょう」といわれていますが、パスワードが長いと覚えられないので、桁数は短く設定している場合があると思います。パスワード桁数をなぜあげたほうが良いのか?
古いデータとなりますが、パスワードの桁数で解読されるまでの時間をあらわしたデータがあります。このデータをみると最低でも8桁以上必要というのがわかりますが、2008年のデータであり現在ではPCの性能もあげっているため、解読時間はさらに短くなっています。
WordPressのログインパスワードも8桁以上が必要というのがわかりますね。
※情報処理推進機構(IPA)「今一度、パスワードを点検しましょう!」より引用(2008年10月2日)
自身の設定したパスワードがどれくらいの強度をもっているか不安な方は、Webで調べることができます。
カスペルスキー社が提供しているパスワードチェッカーは、どれくらいで解読されるかも調べることができます。
こんな感じで解読される年数が表示されます。
不安な方は、ぜひ活用してみてください。
■WordPressログインパスワードの設定方法
パスワードの強度をあげることで、セキュリティ強化につながることがわかったと思います。それでは、WordPressの管理画面にログインパスワードの設定変更方法についてご紹介します。
WordPressのパスワード再設定にはパスワード強度も表示されるので、再設定の際、活用してみてください。
STEP1
WordPressの管理画面にログインし、[ユーザー]メニューにカーソルをあてるとメニューが表示されるので[プロフィール]をクリックします。画面を下にスクロールして、[新しいパスワード]欄の横の[パスワードを生成する]をクリックします。
STEP2
自動生成されたパスワードが表示されますので、以下のどちらかの操作を行います。
A:表示されているパスワードを忘れないようにお手元に控えてから[プロフィールを更新]ボタンをクリックします。
B:「強力」と表示される任意のパスワードに入力しなおし、[プロフィールを更新]ボタンをクリックします。
※パスワードの強度は[非常に脆弱]、[脆弱]、[普通]、[強力]と強さが表示されます。
セキュリティ強化のため、強力と表示されるパスワードを設定してください。
STEP3
管理画面の上部に「プロフィールを更新しました。」と表示されたら、パスワードの変更完了です。
パスワードの強化だけでもセキュリティ強化になりますが、
WordPressの管理画面にログインページのセキュリティ対策をすることでさらにセキュリティ強度が増します。
次にWordPress管理画面・ログインページの保護プラグイン「SiteGuard WP Plugin」をご紹介します。
■WordPress管理・ログインページの保護プラグイン「SiteGuard WP Plugin」
「SiteGuard WP Plugin」は簡単に利用できる保護プラグインで、以下の攻撃を防ぐことができます。
・不正ログイン
・管理ページ(/wp-admin/)への不正アクセス
・コメントスパム
【注意事項】
「SiteGuard WP Plugin」はインストールして有効化すると、自動的にログインページのURLを変更します。
(WordPressのログインページ(wp-login.php)を「login_<5桁の乱数>」に変更します。)管理画面の「SiteGuard」>「ログインページ変更」をクリックして、新しいログインページを確認してブックマークしてください。
「ブルートフォースアタック(総当たり攻撃)などの不正ログイン対策について」でご紹介したセキュリティ対策の内、②から④のはこのプラグインで行えます。
「SiteGuard WP Plugin」のその他の機能も含めて機能一覧をご紹介します。
管理ページアクセス制限 | ログインしていない接続元から管理ディレクトリ(/wp-admin/)を守ります。 |
ログインページ変更 | ログインページ名を変更します。 |
画像認証 | ログインページ、コメント投稿に画像認証を追加します。 |
ログイン詳細エラーメッセージの無効化 | ログインエラー時の詳細なエラーメッセージに変えて、単一のメッセージを返します。 |
ログインロック | ログイン失敗を繰り返す接続元を一定期間ロックします。 |
ログインアラート | ログインがあったことを、メールで通知します。 |
フェールワンス | 正しい入力をおこなえっても、ログインを一回失敗します。 |
XMLRPC防御 | XMLRPCの悪用を防ぎます。 |
更新通知 | WordPress、プラグイン、テーマの更新を、メールで通知します。 |
WAFチューニングサポート | WAF (SiteGuard Lite)の除外リストを作成します。 |
次に「SiteGuard WP Plugin」のインストール方法についてご紹介します。
◆SiteGuard WP Pluginのインストール方法
「SiteGuard WP Plugin」のインストールはWordPressのプラグインから行います。
WordPressのダッシュボードの左側メニューより
「プラグイン」 > 「新規追加」 と進んでください
「プラグイン追加」画面が表示されます。
右上のキーワード検索より「SiteGuard WP Plugin」と入力すると自動てきに検索が開始します。
「SiteGuard WP Plugin」が検索結果に表示されていますので、「今すぐインストール」をクリック
インストールが始まります。
インストールが完了すると「有効化」のボタンが表示されますので、
クリックして「SiteGuard WP Plugin」をスタートします。
s
有効化するとWordPress管理画面へログインするURLが自動的に変更されます。
▼WordPress管理画面ログインURL
【変更前】https://ドメイン名/wp/wp-login.php
↓
【変更後】https://ドメイン名/wp/login_xxxxx ※xxxxx=5桁の乱数
URLの設定を確認するにはプラグイン有効後にあらわる「こちら」または、
「SiteGuard WP Plugin」のメニュー[ログインページ変更] をクリックしてください。
ログインページ変更から変更されたURLの確認と変更が可能となります。
変更後のWordPress管理画面ログインURLへアクセスすると画像認証が追加されていることが確認できます。
ログイン失敗後に連続してパスワード入力をさせない、パスワードロック機能は「ログインロック」から設定できます。
ONとOFFを切り替えます。デフォルトはONです。
ログインロックの[期間][回数][ロック時間]を設定します。
デフォルト設定は下記となっています。
▼ログインロックデフォルト設定
[期間]
5秒(デフォルト)
[回数]
3回(デフォルト)
[ロック時間]
1分(デフォルト)
※プラグインの利用は、Webサイトのパフォーマンス低下につながる可能性がありますので、注意が必要です。
※WordPressがバージョンアップした際は、プラグインが対応しているか、またはプラグインのバージョンアップが必要か確認する必要がありますので、ご注意ください。
WordPress管理画面へログインするURLを変更せずにセキュリティを強化したい場合には、その他の方法として、WordPress管理画面へログインするURLにアクセス制限を設定する方法があります。
WordPressのディレクトリ「/wp-admin/」にアクセス制限を設定すれば、良いのですが、一般的な方法として、
.htaccess および .htpasswd ファイルを作成したユーザー名とパスワードにてアクセス制限をかけるBASIC認証が一般的ですが、 .htaccess および .htpasswd ファイル作成のための記述が難しいため、初心者にはハードルが高いものとなります。
もし、ご利用サーバーがサーバー管理ツールPleskをご利用の場合、アクセス制限が簡単に設定できるので、今回はPleskを使ったアクセス制限方法をご紹介します!
■Plesk管理画面から設定する、アクセス制限の設定
STEP1
Pleskにログインし、対象ドメインの[ウェブサイトとドメイン]画面に進み、[パスワード保護ディレクトリ]を開きます。
※Pleskの、Web Pro EditionおよびWeb Host Editionをご利用のお客さまは、ログイン後に契約をクリックし
対象ドメインを選択してファイルマネージャを開きます。
STEP2
[保護ディレクトリを追加]をクリックします。
STEP3
[ディレクトリ名]欄に保護したいディレクトリを入力し、[保護エリアのタイトル]欄に保護対象の名称を設定し、[OK]をクリックします。
本事例では、「/wp/wp-admin/」を保護ディレクトリに設定します。
STEP4
[情報:保護ディレクトリ/・・・・/を作成しました。]と表示され、対象ディレクトリが一覧に表示されます。
STEP5
続いて、保護ディレクトリにアクセスできるユーザを登録します。
登録したディレクトリ名部分、または保護エリアのタイトル部分をクリックします。
STEP6
[ユーザを追加]をクリックします。
STEP7
[ユーザ名]、[パスワード]、[パスワードの確認](パスワードの再入力)欄をそれぞれ入力し、[OK]をクリックします。
本事例では、「academy_gmo2021」というユーザ名を設定します。
※パスワードは、[強]と表示されるものを設定します。
STEP8
「情報:保護ディレクトリ academy_gmo2021 にアクセスするユーザアカウントが作成されました。」と表示され、
一覧にユーザ名が表示されたら、登録完了です。
STEP9
設定したディレクトリにアクセスして、保護されているか、登録したユーザ名とパスワードを設定してアクセスできるか確認しましょう。
また、PleskにはWordPressを便利に利用できる機能があり、WordPressのセキュリティに関する機能もあります。Pleskの「Web Pro Edition(30ドメイン)」「Web Host Edition(無制限ドメイン)」または「WordPress Toolkit」の有償版をご利用の場合には、Pleskの管理画面でWordPressのセキュリティの強化も行えますので併せてお試しください。
※注意 一部のセキュリティ措置は、適用した後でロールバック(設定を元の状態に戻す)できますが、できないものもあります。WordPress インストールのセキュリティを強化する前に、契約をバックアップしておくことをおすすめします。
STEP1
[wp-admin]をクリックします。
STEP2
「セキュリティステータス」画面で、それぞれのセキュリティステータスが表示されます。
STEP3
セキュリティ強化する項目にチェックを入れ、[セキュリティ強化]をクリックします。
STEP4
「セキュリティ措置を適用しました。」とあらわされ、ステータス欄が緑のマークに変わったら完了です。
以上、セキュリティ対策は難しい印象があるかと思いますが、このように10分かからずに設定できるものもありますので、ぜひお試しください。
みなさま、最後までご覧いただきありがとうございました!