エス技研

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.

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

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

  関連記事

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

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

WordPressの管理画面ログインURLファイルにBasic認証を設定する方法解説

管理画面のログインURLにBasic認証を追加することでさらなる極めて高いセキュリティ向上の方法を解説します。

WordPressのカテゴリ単位・フォルダ単位でBasic認証を設定する方法

カテゴリ単位でBasic認証を設定する方法の解説。WordPressのカテゴリはフォルダの実態がないですが、実は簡単な方法でプラグインも使わずにBasic認証を設置できます。

WordPressのインストール方法・セキュリティ重視 3つのポイント

WordPressのインストールをセキュリティ重視の視点から3つのポイントの解説と設定方法です。

アクセス5倍増!FC2、seesaaからWordPressに引越結果をレポート

FC2、seesaaからWordPressに引越しでアクセス数がどう変わるかのレポート。canonical、meta refresh設定とWordPressの集客力の検証しています。

シンタックスハイライトの5システム比較のまとめ・WordPressでも使える

シンタックスハイライト5種の比較検討のまとめ記事。WordPressで使う目的だがプラグインの比較検討ではないのでどのサイトでも導入可能。

WordPressのSEOタイトル、キーワード、ディスクリプション編集解説

ヤフーやグーグルの検索結果を見ながらSEO視点でタイトル、ディスクリプションを書く際の基準を解説!スマホ対策も解説!

WordPressのテーマ管理方法とテーマのHTML編集のポイント解説

テーマ変更で無限の可能性!テーマの選び方と設定方法、デザイン修正のためのHTML修正のポイントを解説。

WordPressの画像ファイルアップロード・メディアの使い方解説

画像ファイルをアップロードするメディアの使い方解説。アップロードしたファイルの管理や編集、ファイルのURL、アップロード先の解説。

Advanced Custom Fields(ACF)のアドオン・繰り返しフィールドの使い方解説

Advanced Custom Fieldsのアドオン・繰り返しフィールドについて解説。繰り返しフィールドは投稿者が入力フィールドを追加しながら情報を入力できるフィールドを提供。