WordPressのログイン画面へ対するブルートフォースアタックは最もポピュラーな攻撃です。
ブルートフォースアタックとは
ブルートフォースアタックとは、ありとあらゆるユーザーIDとパスワードを使ってログインを試みる手法です。ユーザーIDとパスワードの桁数が少なくて単純なほど突破されやすくなります。
BASIC認証とは
BASIC認証は設定が簡単な事から使われる事が多い認証方法で、BASIC認証がかかっているページにアクセスすると、ユーザーIDとパスワードの入力を求められます。
ブルートフォースアタックにBASIC認証が有効な理由
ログインURLを変更してもログイン画面は表示できる
まず、ログインURLを変更するという手法が手軽でメジャーだったりしますが、
サイトURL/wp-admin/
にアクセスしたら結局ログイン画面表示されてしまいます…。
サーバーに負荷がかからない
ブルートフォースアタックはユーザーとパスワードを何回もサーバーにリクエストされるので大量に来られるとデータベースにも負荷がかかってしまいます。
その点BASIC認証はログイン画面を表示する時点で認証画面を出して一度ブロックし、BASIC認証のユーザーID及びパスワードの送信はDBには送信されないので、サーバーにやさしいと考えられます。
htaccessと.htpasswdによるBASIC認証の設定
パスワードの生成
とりあえずBASIC認証のユーザー名とパスワードを記載した .htpasswdファイルを作成します。
BASIC認証は盗聴や改竄が簡単であるという欠点を持っていますが、これらを防ぐため、Digest認証というユーザ名とパスワードをMD5でハッシュ化して送る方法が考えられていますので、パスワードをMD5でハッシュ化した.htpasswdを作成します。
.htpasswsファイルを作成するジェネレーターは「MD5 BASIC認証 ジェネレーター」などで検索すれば出てきますが、今回はとりあえず
こちらのサイト(htpasswdジェネレータ)で説明します。
下記の画面で、[1]の部分にユーザー名とパスワード(半角英数字+記号)を入力して『暗号化』ボタンを押すと、[3]のようにすぐ下にユーザー名とパスワードが変換されたテキストが表示されます。
パスワードファイルのアップロード
次に htpasswd.txt などの名前のファイルを作成し、その中に[3]で表示されるテキストを貼り付けて
FTPなどでサーバーにアップします。
アップ先は本当は公開ディレクトリでない方が望ましいですが、よくわからなければ最初はWordPressをインストールしたディレクトリで結構です。
アップした後にファイル名を .htpasswd に変更します。
ログイン画面にBASIC認証をかける
次に ログイン画面にBASIC認証をかけます。
wp-login.phpがあるディレクトリにある .htaccess ファイルのバックアップをとった上で、.htaccessファイル(なければ新規作成)に下記を追記してアップロードします。
※ 必ず .htaccess ファイルのバックアップをとった上で行ってください。
サーバーのパス の部分は、公開URLではなくて、例えばffftpなどのFTPアプリケーションでサーバーに接続した時に表示されるパスです…が、サバーによってはそれとも違う場合もあります。
500 Internal Server Error が出る場合
ログイン画面にアクセスしようとして 500 Internal Server Error と表示されてしまう場合はサーバーパスが間違っている事が原因である可能性が高いです。サーバーパスがわからない場合は path.php というファイルを作成して、以下の内容を貼り付けてサーバーにアップしてください。
そして、公開URL/path.php をブラウザで表示するとサーバーパスが表示されますので、.htaccessに記載したサーバーパスとあっているか確認してください。
管理画面全体にBASIC認証をかける
次に管理画面全体(/wp-admin/)にもBASIC認証をかけます。
以下の内容を記載した .htaccess ファイルを作成して、 /wp-admin/ にアップします。
これで管理画面にアクセスしようとすると
管理画面を表示するためのIDとパスワードを求められます。
設定していない方は是非設定してみてください。
この記事を書いた人
-
名古屋のウェブ制作会社数社に10年程度務めた後、株式会社ベクトル設立。
企画・運営・コンサルティング〜WordPressを中心としたシステム開発まで幅広く携わる。
[ 著書 ]
・いちばんやさしいWordPressの教本(共著)
・現場でかならず使われているWordPressデザインのメソッド(共著)
[ 最近のWordPressコミュニティでの活動 ]
WordCamp Tokoy 2023 セッションスピーカー
WordCamp Asia 2023 セッションスピーカー(LT)
WordCamp Niigata 2019 セッションスピーカー
WordCamp Haneda 2019 セッションスピーカー
WordCamp Osaka 2018 セッションスピーカー
WordCamp Kyoto 2017 セッションスピーカー
他
最近の投稿
- WordPress2024年12月1日ベクトル製品リリースタイムラインから見る開発の裏話と進化の歴史
- WordPress2024年10月30日ブロックテーマで編集権限のユーザーでもメニューを編集できるようにする
- WordPress2024年4月9日WordPress 6.5 で導入された新しい翻訳システムへの対応方法
- WordPress2024年3月16日WordCamp Asia 2024 振り返り
フルサイト編集対応ブロックテーマ
WordPress テーマ X-T9 は、WordPress 5.9 から実装されたフルサイト編集機能に対応した「ブロックテーマ」と呼ばれる新しい形式のテーマです。
ヘッダーやフッターなど、今までのテーマではカスタマイズが難しかったエリアもノーコードで簡単・柔軟にカスタマイズする事ができます。
パターンを使って
よりクオリティの高いサイトに
パターンとは、WordPressのブロックを組み合わせて作ったデザインテンプレートのようなもの。プロのデザイナーが制作したパターンを300以上公開中!コピペしながら高品質なサイトを簡単に作れます。
ブロックエディターで
ABテストを
自由に作成できる VK AB Testing
VK AB Testing は、ABテストを実施するための WordPress 用プラグインです。ブロックエディターでテストパターンを自由に作成でき、ランダム表示とクリック計測が可能です。Webサイトや広告などの施策の改善にぜひご活用ください。