エス技研

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.

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

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

  関連記事

Comment Rating FieldでWordPressのコメントに口コミサイト機能を追加

口コミサイトを構築するためのプラグイン。評価点を投票する仕組みをコメント投稿機能に追加する方法で実現。口コミサイトを構築するには十分な機能を提供。

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

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

ショートコード+ウィジェットでサイドバーに人気記事を表示させる方法

WordPressのサイドナビゲーションに人気記事を編集する方法です。プラグインを使わずウィジェットにショートコードで任意のPostIDを指定することで編集する方法です。

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

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

WordPressの投稿プレビューのURLを変更する方法

プレビューを表示する際のURLを変更する方法の解説。「サイトアドレス (URL)」に基づいて編集されるURLを任意のURLに変更する場合の方法とその解説を行います。

Rating-Widgetは超簡単設定のWordPress口コミサイト構築プラグイン

口コミの評価点を投稿する機能に特化したプラグインで、多様なイメージの投稿方法や一覧ページ、コメントなどにも投稿機能を追加することができます。

技術ブログの悲劇。複数ブログをWordPressに引越して分かったこと

ブログによってユーザ層が違う。ユーザ層が違えば検索エンジンやブラウザ等が違うため、まずアクセス解析をやってみることが大事。一つの分析方法を紹介。

WP Customer ReviewsでWordPressにオリジナルの口コミサイトを構築

口コミサイトを構築するためのプラグイン。独自フォームによるレビュー、評価点を投稿でき、入力項目の追加もできます。

WordPressのコメントスパム対策 3つのプラグイン

対策なしではコメントスパムがやってきます。その対策方針としてプラグインを提示しながら解説します。いずれかの対策は必須です。

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

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