WordPressのログイン画面 URLを変更する 管理画面に Basic認証を設定する
2017/03/07
WordPressのセキュリティ対策
2014.08.04 追記
6月に記事中に書いていた参考サイトがなくなっていることに気づきました。
それに伴い、改めて記事を書き直しましたので、下記の記事もあわせて参考にしてください。
WordPressのユーザ名を後から変更する方法。adminの使用は危険。
WordPressの管理画面ログインURLの変更方法解説
WordPressの管理画面ログインURLファイルにBasic認証を設定する方法解説
Basic認証をファイル単位・URL単位で設定する方法の解説
また、ファイル単位で Basic認証を設定するためのツールも作成し、下記に記事を書きましたので、あわせて参考にしてください。
Basic認証の.htaccess、.htpasswd生成ツールと解説
WordPressを使うことのリスク
WordPressは、利用しているユーザも多いために、アタックの対象になりがちです。
特に、デフォルトでは管理画面の URLは決まっていて、IDが adminになっていますので、そのまま利用している場合は非常に危険です。
総当たり攻撃と呼ばれるブルートフォースアタックを仕掛けるためには、ログイン画面の URLが分からなといけないわけですが、WordPressの場合はデフォルトの URLは誰でも知っているわけですから。
さらには、IDが adminだと分かっていればさらにアタックの成功率を高めてしまいます。
そのためにやるべきこととして簡単に思いつくのは、下記の 3点です。
- 管理者のアカウントを admin から変える
- 管理画面の URLを変更する
- 管理画面に Basic認証を設定する
管理者のアカウントを admin から変える
これに関しては、別ページ「WordPressのユーザ名を後から変更する方法。adminの使用は危険。」にページを分けて詳しく書いていますので、そちらを参考にしてください。
管理画面の URLを変更する
WordPressの管理画面のデフォルトの URLは、以下のいずれかです。
http://{WordPressが入っているURL}/wp-admin
http://{WordPressが入っているURL}/wp-login.php
「wp-admin」は管理画面の処理が入っているフォルダがこの名称ですので、分かりやすい URLとしてはこちらの方ではないかと思います。
ですが、実際のログイン処理をしているファイルという意味では「wp-login.php」になりますので、こちらでもログインできます。
実際に利用する場合はどちらでも問題ありません。
上記の通り、WordPressは、デフォルトのままではログイン URLがどのサイトも同じになっていますので、そのサイトが WordPressを利用している、ということが分かれば管理画面の URLも分かってしまうということになります。
そうすると、そのログイン画面に対してブルートフォースアタックを行うチャンスを与えてしまうことになります。
そうしないためには、ログイン画面の URLを変更してしまえばいいわけです。
そして、その作業をするのに参考になるサイトが下記です。
ログインページを変える
http://elearn.jp/wpman/column/c20121118_01.html
このサイト通りに進めていけば問題なく対応できると思いますが、いくつか補足説明をしてきます。
最初に作る「anywhere-login.php」がログイン URLになりますので、好きなファイル名を付けましょう。このファイルは、新たに作成するファイルになります。
そして、ここで作成したファイル名をその次に記述する「functions.php」の 1行目の「anywhere-login.php」を書き換えることになります。
※「functions.php」は下記の場所にあります。
/{WordPressがインストールされている場所}/wp-content/themes/{テーマ名}/functions.php
「WordPressの functions.phpがある場所」に詳しく書いていますのでそちらも参考にしてください。
ログイン画面の URLを変更するにはプラグインを用いる方法もありますが、プラグインでは処理がブラックボックスになりがちのため、こちらの方法がいいと感じています。
処理の意味が分かっていれば、何か不具合があった時にも対処のしようがあるというものでしょう。
また、次の Basic認証を設定するためにもログイン画面を表示するファイルの確認等が必要になりますので、その意味でもこの方法をお勧めします。
管理画面に Basic認証を設定する
続いて、Basic認証を設定する方法です。
Basic認証と言えば、フォルダ単位で認証設定をする際によく用いられるものですが、ファイル単位での設定も可能です。
そこで、Basic認証を利用して、管理画面のログインに使うファイルにだけ Basic認証を設定し、ログイン画面にアクセスする際に認証をさせよう、という処理です。
これにより、2回のログイン認証を通らないと管理機能を利用できるようになりませんので、セキュリティの強度はぐっと増加します。
2回もパスワードを入力する必要がありますので、日々の運用の際の面倒さは増えますが、ブラウザに記憶させておけば全く気にならない問題かと思います。(より高いセキュリティを求めるなら、ブラウザに記憶させておくべきではないですが...)
具体的な設定は下記サイトを参照してください。
http://www.saases.jp/blog/wordpress/375/
このサイトも詳しく説明がされていますので、読みながら設定していけば問題ないと思いますが、Basic認証設定ファイルの説明を少ししますと、下記のような感じです。
フォルダ単位の Basic認証の設定は以下の感じです。
.htaccess
————————————————-
1 2 3 4 5 |
AuthUserFile /wordpress/wp-admin/.htpasswd AuthGroupFile /dev/null AuthName "Member Only" AuthType Basic require valid-user |
————————————————-
ファイル単位での Basic認証の設定(URLを変更しない場合の指定は下記になります。)
.htaccess
————————————————-
1 2 3 4 5 6 7 |
<Files wp-login.php> AuthUserFile /wordpress/wp-admin/.htpasswd AuthGroupFile /dev/null AuthName "Member Only" AuthType Basic require valid-user </Files> |
————————————————-
こんな感じで「<Files wp-login.php>」の部分を追加します。
ここで設定したファイル単位で個別の処理を追加していくことが可能です。
また、ここで記述するファイル名(wp-login.phpの部分)は、前の項目で指定した「wp-login.php」から変更したファイル名になります。それを指定してください。
Basic認証関連の記事まとめ
Basic認証関連の記事もいろいろと書いていますので、あわせて参考にしてみてください。
ロリポップで baserCMSを利用する際の Basic認証の設置には注意しましょう
WordPressのログイン画面 URLを変更する 管理画面に Basic認証を設定する
WordPressの管理画面ログインURLの変更方法解説
WordPressの管理画面ログインURLファイルにBasic認証を設定する方法解説
Basic認証をファイル単位・URL単位で設定する方法の解説
ロリポップでWordPress+Basic認証で不具合発生!回避方法解説
Basic認証の.htaccess、.htpasswd生成ツールと解説
WP Basic AuthなどWordPressにBasic認証を設定するプラグインのまとめ
WordPressのカテゴリ単位・フォルダ単位でBasic認証を設定する方法
WordPressで特定のURL、ページ、ファイル単位でBasic認証を設定する方法
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
Theme My Loginの日本語翻訳ファイル Ver.6.4.5対応
Theme My Loginの日本語翻訳ファイルのダウンロードページ。WordPressの翻訳ファイルの設置方法、注意点、翻訳ファイルの作成方法なども解説。
-
Advanced custom Fieldsのフィールドグループを簡単に複製する方法
Advanced custom Fieldsのフィールドグループの複製の方法の解説。XMLのExport、インポートする機能を利用して複製します。
-
WordPressプログラム全体で定数や変数を利用する場合の設定方法
WordPressで関数を追加するときなど、全体で同じ変数を使いたいと思う場面の対処方法です。変数を記述する関数はfunctions.php、wp-config.phpのいずれか。
-
WordPressの管理画面ログインURLの変更方法解説
管理画面のログインURLの変更は極めて有効なセキュリティ向上の方法ですので、その解説を行います。
-
BackWPupでバックアップ・全体バックアップ具体的設定例
BackWPupその7。ファイル、DB全体をバックアップする具体的事例での説明です。
-
WordPressの 外観のテーマのための関数の並び順
WordPressのカスタマイズの際にテーマのテンプレートを編集しますが、そのテーマファイルの並び順の解説です。
-
WordPressで WPtouchを入れたら「このウェブページにはリダイレクト ループが含まれています」と表示されてページが表示されなくなった
WPtouchを入れたら「このウェブページにはリダイレクト ループが含まれています」のエラーでページが表示されない。その解決法の解説です。
-
Advanced Custom Fields(ACF)のアドオン・ギャラリーの使い方解説
Advanced Custom Fieldsのアドオン・ギャラリーの解説記事。複数の画像を入力できる優れもので、画像のサイズ、容量などでの制限ができ、より厳密な管理が可能。
-
Better Delete Revisionを使って WordPressのリビジョンを削除する方法
自動的に溜まるリビジョンは Better Delete Revisionを使うことで簡単に削除することが出来ます。表示の重さを軽減したり、バックアップファイルのスリム化に貢献します。
-
WordPressのスラッグとは?
WordPressのスラッグって何?それを解説している記事です。なんとなく分かっている気になっているものを改めてしっかり確認をしてみませんか?
Comment
http://blog.s-giken.net/74.html
この通りanywhere-login.phpをログインページにしたあとGoogleのモバイルフレンドリーテストを行うと、”このページはモバイル フレンドリーではありません”と出ます。
ページ自体、管理画面の URLを変更するまではモバイルフレンドリーテストをクリアしてました。
原因がわからないのでメッセージを送らせてもらいました。
筒井さん、コメントありがとうございます。
コメントをいただきましたが、どのような回答を期待されていますでしょうか?
書き込みいただいた文章を読んでも何を望まれているのかが分かりかねるのですが...
少なくとも当ブログの環境を改めてモバイルフレンドリーテストを実施してみましたので、利用されているテーマなどで影響を受けている可能性もあるんじゃないかとは思いますが...