エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


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点です。

  1. 管理者のアカウントを admin から変える
  2. 管理画面の URLを変更する
  3. 管理画面に 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
————————————————-

————————————————-
 
 
ファイル単位での Basic認証の設定(URLを変更しない場合の指定は下記になります。)
.htaccess
————————————————-

————————————————-
 
こんな感じで「<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認証を設定する方法

 - WordPress

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Comment

  1. 筒井 より:

    http://blog.s-giken.net/74.html
    この通りanywhere-login.phpをログインページにしたあとGoogleのモバイルフレンドリーテストを行うと、”このページはモバイル フレンドリーではありません”と出ます。
    ページ自体、管理画面の URLを変更するまではモバイルフレンドリーテストをクリアしてました。

    原因がわからないのでメッセージを送らせてもらいました。

    • エス技研 より:

      筒井さん、コメントありがとうございます。
      コメントをいただきましたが、どのような回答を期待されていますでしょうか?
      書き込みいただいた文章を読んでも何を望まれているのかが分かりかねるのですが...
       
      少なくとも当ブログの環境を改めてモバイルフレンドリーテストを実施してみましたので、利用されているテーマなどで影響を受けている可能性もあるんじゃないかとは思いますが...

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

Export to Textで WordPressを csv出力

WordPressのデータを csv出力する Export to Textの使い方を解説しています。

WordPressに Favicon(ファビコン)を設定する(プラグイン必要なし)

WordPressに Favicon(ファビコン)をプラグインなしで設定する方法をサンプルソース付きで説明します。

WordPressの Google XML Sitemapsで WebMaster Tools用の sitemap.xmlを生成

WordPressの Google XML Sitemapsで WebMaster Tools用の sitemap.xmlを生成する方法を説明しています。

WordPressで WPtouchを入れてモバイルテーマを「OFF」にしたら元に戻れなくなった

WPtouchを入れてモバイルテーマを「OFF」にしたら元に戻れなくなった。これは「wp_footer」の設定に問題があるからだった。

WordPressのサイトマップ生成ツールPS Auto Sitemapの使い方

サイトマップを PS Auto Sitemapで自動生成する方法を説明します。このプラグインは Google用のサイトマップではなく一般ユーザが見るためのサイトマップページを作ります。

ショートコードで簡単解決!WordPress固定ページにカテゴリ一覧を編集する方法

ショートコードを使って固定ページや投稿に特定のカテゴリ一覧を編集する処理を作りました。プラグインなしで30行くらいのソースコピペで実現できます!

WordPressの記事編集で文字が自動変換される要注意な文字列

記事を編集する際、入力した文字とは違う表示のされ方をする文字、アポストロフィ、ダブルクォート、円マーク、三点リーダ(…)など、その解説と対応方法です。

WordPressは危険?最新バージョンにアップデートして利用しよう

WordPress最新バージョン使ってますか?WordPressのバージョンアップをしないリスクを説明し、バージョンアップの手順、バックアップの重要性を解説しています。

BackWPupでバックアップ・全体バックアップ具体的設定例

BackWPupその7。ファイル、DB全体をバックアップする具体的事例での説明です。

Crayon Syntax Highlighterでソースコードをキレイに編集する設定方法

PHP、HTMLなどのソースコードを紹介する際に見やすく編集してくれる Crayon Syntax Highlighterの設定の方法、利用方法の解説です。