エス技研

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


WordPressの管理画面ログインURLの変更方法解説

      2016/07/02

WordPressの管理画面のセキュリティ対策

 

WordPressを使うことのリスクって?

 
WordPressは、全世界で多くのユーザが利用しているシステムですので、不正アタックの対象になりがちです。
特に、デフォルトのままでは管理画面のログイン URLは決まっていますし、IDも adminになっていることをみんなが知っていますので、そのまま利用している場合は非常に危険です。
 
総当たり攻撃と呼ばれるブルートフォースアタックで不正にログインする場合は、まず管理画面のログイン画面 URLが分からなといけないわけですが、WordPressの場合はデフォルトの管理画面のログイン URLは誰でも知っているわけですから、デフォルトのままでは最初のカギを開けてしまっているようなものです。
さらには、IDを adminのままにしているということは、関門としてある管理画面のログイン URL、ID、PASSの 3つあるカギのうち、最初の 2つのカギを掛けていないことと同じことですので、後はパスワードさえわかってしまえば、不正アクセスされてしまうことになってしまいます。
 
 
そうならないためにやるべきことは下記の 3点です。

  1. 管理者のアカウント adminを変更する
  2. 管理画面のログイン URLを変更する
  3. WordPressの管理画面ログインURLファイルにBasic認証を設定

 
 

管理者のアカウント adminを変更する

 
最初の管理者のアカウント adminを変更するという点ですが、これによって、3つあるカギのうち一つのカギをかけることができます。
 
これは誰でも簡単に設定できるものですので、別ページ「WordPressのユーザ名を後から変更する方法。adminの使用は危険。」を参考にしていただきながら是非とも対応してください。
 
 

管理画面のログイン URLを変更する必要性

 
WordPressの管理画面のデフォルトの URLは、以下のいずれかです。
 http://{WordPressが入っているURL}/wp-admin
 http://{WordPressが入っているURL}/wp-login.php
 
上記のいずれの URLでもログインできます。
「wp-admin」は管理画面の処理が入っているフォルダがこの名称ですので、分かりやすい URLともいえますが、実際のログイン処理をしているファイルという意味では「wp-login.php」になりますので、こちらのログイン URLの方がいいかもしれません。
 
また、「wp-admin」の管理画面のログイン URLではトラブルが発生してうまくログインできない場合が起こる場合もありますが、「wp-login.php」では問題なくログインできる場合もありますので、「wp-login.php」の方がよりトラブルに強いともいえるでしょう。
 
実際に利用する場合はどちらでも問題ありません。
 
 
上記の通り、WordPressは、デフォルトのままでは管理画面ログイン URLがどのサイトも同じになっていますので、そのサイトが WordPressを利用している、ということが分かれば管理画面のログイン URLも分かってしまうということになります。
そうすると、そのログイン画面に対してブルートフォースアタックを行うチャンスを与えてしまうことになります。
 
そうしないためには、WordPressの管理画面のログイン URLを変更してしまえばいいわけです。
 
 

管理画面のログイン URLを変更する具体的な手順

 
それでは、実際に WordPressの管理画面のログイン URLを変更する具体的な手順を解説していきます。
 
 
まず最初に、ログインする URLになるファイルを作成します。
 
 http://{WordPressが入っているURL}/wp-login-change.php
例えば、管理画面のログイン URLを上記のようにしたい場合は、「wp-login-change.php」のファイルを作成します。このファイル名がそのまま URLになりますので、好きなファイル名を付けていただいて問題ありません。ただ、パスワードと同じくあまり短くない方が好ましいでしょう。
 
ファイルを作成する場所は、WordPressがインストールされているルートフォルダです。
本来のログインファイルである「wp-login.php」と同じ場所に作成します。
 
また、ファイルには下記のコードを記述します。
 
————————-

————————-
 
2行目の「keyword」の部分はこのプログラム上のキーワードになる部分ですので、好きなものに変更をしてください。
 
 
次は、WordPressの要となる「functions.php」を編集します。
 
「functions.php」は下記の場所にあります。
/{WordPressがインストールされている場所}/wp-content/themes/{テーマ名}/functions.php
 
WordPressの functions.phpがある場所」に詳しく書いていますのでそちらも参考にしてください。
 
 
もしくは、テーマの編集画面(「外観」-「テーマ編集」から移動する画面)から編集することも出来ます。
テーマの編集に関しては「WordPressのテーマ管理方法とテーマのHTML編集のポイント解説」に記事を書いていますので、そちらを参考にしてください。
 
 
編集するソースコードは、下記のものです。
「functions.php」のどこに書いても問題ありませんが、分かりやすく一番最後に追加しておきましょう。
 
————————–

————————-
 
ここで追加したソースの中で、各々のサイトで変更する必要がある点がありますので、その説明をします。
 
まず、2行目。
「wp-login-change.php」の部分が管理画面のログイン URLとなるファイル名ですが、最初に作成したファイル名に変更をしましょう。
 
続けて、9行目。
「keyword」の部分は、最初に作成したファイルにも「keyword」の部分があり、そこで設定した文字列と同じものを編集します。
 
 
これで設定は終了です。

新しくなった WordPressの管理画面のログイン URLにアクセスし、ログインできることとログアウトしたら新しいログイン URLに遷移するかどうかを確認出来れば設定完了です。
 
 

プラグインを使わず管理画面のログイン URLを変更する意図

 
WordPressの管理画面のログイン URLを変更するにはプラグインを用いる方法もありますが、プラグインでは処理がブラックボックスになりがちのため、こちらの方法がいいと感じています。
 
 
処理の意味が分かっていれば、何か不具合があった時にも対処方法についての手がより早く見つけることが出来るでしょう。
 
 

管理画面のログイン URLに Basic認証を設定する方法

 
さらなるセキュリティを高めるために、下記のように WordPressの管理画面のログイン URLに Basic認証によるアクセス制限を設定する場合、この方法でログインファイルが明確になっている方が便利である点もこの方法をオススメする理由です。
 
WordPressの管理画面のログインURLに Basic認証を設定する方法については「WordPressの管理画面ログインURLファイルにBasic認証を設定する方法解説」に詳細を書いていますので、続けて参照してください。
 
 

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. いのぽん より:

    非常にわかりやすい解説ありがとうございます。

    この方法でログイン画面のURLを変更すると、少し弊害が出るケースがあるようです。

    このカスタマイズをすると、他の「パスワードで保護」をかけているページにアクセスし、パスワードを入力してもそのページにアクセスができません。(真っ白に表示されます)

    この「ログイン画面のURLを変更」のカスタマイズを維持しつつ、「パスワード保護をかけているページ」にアクセス出来る方法がありましたら、追記して頂けると幸いです。

    • エス技研 より:

      いのぽんさん、コメントありがとうございます。
      記事が参考になったということで嬉しく思います。
       
      質問をいただいている件ですが、対応は難しいと思います。
      機能として実装する方法はあるように思いますが、対処方法が思い浮かばないことと、ログイン URLを変えている意味がなくなるようにも思うためです。
       
      初期設定では下記の URLにアクセスしても
       example.com/wp-admin/
      下記のログイン画面に遷移します。(こちらのログイン画面の方が実態です。)
       example.com/wp-login.php
       
      ですが、ここで解説している処理は、ログイン画面の URLを秘匿するために、このログイン画面に遷移する処理を実行しないようにしています。
       
      このログイン画面に遷移しない処理の影響で、公開側のページでログイン認証が必要なページでは画面が真っ白になるのだと思います。
      画面が真っ白になるのは、「example.com/wp-login.php」にアクセスされた場合にそのようにする処理にしてありますので、正常に処理されている状態だと思います。
       
      ログイン画面を秘匿するために「example.com/wp-login.php」にアクセスできないようにしているのに、公開側のログインが必要な画面にアクセスするために「example.com/wp-login.php」にアクセスできるようにする、というのはログイン画面を秘匿する処理に矛盾を感じてしまいます。
       
       
      WordPressのログイン認証は、管理側と公開側とで処理が分かれているわけではなさそうですので、公開側のログイン画面だけ別の処理にしようとするとその辺りからカスタマイズが必要になってくるんじゃなかろうか、と感じます。

      • いのぽん より:

        エス技研さま

        ご返信ありがとうございます。

        パスワード保護を使っているサイト以外で活用したいと思います。

        お手数おかけ致しました。

いのぽん へ返信する コメントをキャンセル

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

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

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

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

  関連記事

Advanced Custom Fieldsのカスタムフィールドの登録上限が max_input_varsに影響する問題の対処方法

Advanced custom Fieldsには登録できるフィールド数に上限があります。php.iniのmax_input_varsによる制限ですが、フィールドグループを分割することで解決できます。

Advanced Custom Fieldsの全項目解説・公開側表示編集編

Advanced Custom Fieldsは現時点でカスタムフィールドを設定する最高のプラグイン。それで入力した情報を取り出す方法を全て網羅して解説しました。

BackWPupでWordPressのDBもファイルもバックアップ

BackWPupその1。BackWPupとWordPressのバックアップについての解説。

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

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

プラグインが原因で起動しないWordPressを復旧させる方法解説

プラグインが原因で WordPressが起動できなくなった、ログインできなくなった場合の対処方法の解説です。

WordPress データベースを管理するための強い味方のプラグイン WP-DBMANAGER

データベースを管理するための強い見方のプラグイン「WP-DBMANAGER」の使い方の説明です。

ob_start、ob_get_contentsを利用しショートコード内でinclude・WordPressプラグイン開発

WordPressのプラグインやショートコードの関数作成でテンプレートをincludeする際に利用するob_start関数、ob_get_contents関数を紹介。

CSV Importerで WordPressにcsvを取込む

WordPressに csvファイルを取り込む CSV Importerの使い方の解説です。

Theme My Loginの旧バージョン(V6.4.17)のダウンロード場所の紹介
Theme My Loginの旧バージョン(V6.4.17)のダウンロード場所の紹介

Theme My Loginのバージョンアップ(V6.4系→V7.0系)で不具合が発生!問題を解消するには元バージョンにダウングレードだ!そんな時に必要となるV6.4系をダウンロードできるURLを紹介!

WordPressのフォームプラグイン「MW WP FORM」でメールが送信できない不具合の対応方法
WordPressのフォームプラグイン「MW WP FORM」でメールが送信できない不具合の対応方法

WordPressでメールフォームと言えば MW WP Form!そのMW WP Formでフォームを作成したものの、エラーでメールが送信できない!その原因と対処方法を解説。エラーが発生する意外な盲点もある。