コピペで簡単!WordPressでBasic認証を設定しよう!Basic認証の基本を徹底解説!【XServer/Xサーバー】

この記事を読むと
それではBasic認証(ベーシック認証/基本認証)について、解説していきます!
Basic認証について
まずはBasic認証に関する基本知識を学びましょう。
Basic認証とは?
Basic認証はウェブサイトにアクセスする際、「ユーザー名」と「パスワード」を入力させる仕組みのことです。
例えばWordPressの管理画面にアクセスするときに、Basic認証を実施後にWordPressのログイン画面が出てくるようにできます。
これにより2段階のチェックが入るため、セキュリティが強化されるのです。

Basic認証を使う場面
Basic認証は以下のようなケースで使用されます。
- 1. WordPressの管理画面を守りたいとき
-
管理画面に不正アクセスされるのを防ぐため、最初にBasic認証で確認を行います。
- 2. 開発中のサイトを非公開にしたいとき
-
完成する前のホームページを他人に見せたくない場合、Basic認証でアクセスを制限できます。
- 3. 特定の人だけに見せたいとき
-
社内のメンバーだけに見せたいページなどに使います。
今回はWordpressの管理画面を守るケースを例に、手順を説明します。
Basic認証のメリット
- ① セキュリティの向上
-
WordPressの管理画面にログインする前に、もう一つの壁を作ることができます。
悪意のある人が管理画面を見つけたとしても、Basic認証で止められるのでログイン画面に進めません。 - ② 簡単に設定できる
-
Basic認証は
.htaccess
というファイルを使って設定します。
WordPressのプラグインを使う必要がないので、余計な負荷をかけずにセキュリティを強化できます。 - ③ ブルートフォース攻撃対策
-
ブルートフォース攻撃とは、パスワードを無限に試して突破する攻撃のことです。
Basic認証を設置することで、最初の段階で攻撃をシャットアウトできます。

Basic認証を使うことで、WordPressの管理画面に対する不正アクセスの90%をブロックできると言われています。
これは管理画面に直接アクセスする攻撃者を、最初の壁で追い返すことができるからです。
しかし絶対に安全というわけではないので、他のセキュリティ対策と組み合わせることが重要です。
Basic認証のデメリット
Basic認証にはデメリットもあります。
デメリットをよく理解したうえで、適切な対策を実施しましょう。
- ①パスワードが簡単に盗まれる可能性がある
-
Basic認証ではパスワードが暗号化されずに送信されます。
そのため通信を盗み見られると、パスワードがバレてしまう危険があります。 - ② ブルートフォース攻撃を完全に防げるわけではない
-
Basic認証には何度も間違えたらロックするなどの機能がないので、攻撃者がしつこく試せば突破される可能性があります。
- ③ ユーザー体験が悪くなることがある
-
Basic認証を設定すると、ユーザー名とパスワードを入力する必要があるので、面倒に感じる場合があります。
Basic認証の設定方法
それでは実際にBasic認証を設定していきましょう。
STEP1 サーバーにアクセス
まずはFTPソフトを使用するか、Xサーバーのファイルマネージャーにアクセスして、サーバー上のファイルを編集できるようにしましょう。
Xサーバーのファイルマネージャーは、以下の箇所からアクセスできます。
①サーバーパネルからアクセス

②Xサーバーアカウントのトップページからアクセス

STEP2 サーバー設定ファイルを編集
.htaccess
はWebサーバーの設定を行うファイル です。
これを編集することで、Basic認証を設定できます。
① .htaccessファイルを作成する
ファイルマネージャーを開くと、自分のサイトドメインのフォルダがあります。

以下のディレクトリ構成を参考にwp-admin
フォルダに遷移して、新規ファイル作成をクリックしましょう。
ファイル名は「 .htaccess」にしてください。
/サイト名 ← Xserverのホームディレクトリ
└── public_html/ ← ドメインのルートディレクトリ
└── wordpress/ ← WordPressのインストールフォルダ(存在しない場合もある)
├── wp-admin/ ← ここに .htaccess を設置する!
│ └── .htaccess
│ └── .htpasswd
├── wp-content/ ← テーマ・プラグインのフォルダ
├── wp-includes/ ← WordPressのシステムファイル
├── wp-login.php ← ログイン画面
└── .htaccess ← ここは編集しない
② .htaccessにコードを追加
以下のコードを.htaccess
ファイルの一番上にコピペしてください。
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /home/{ホームディレクトリ}/public_html/wordpress/wp-admin/.htpasswd
Require valid-user
ただし3行目は変更が必要です。
3行目の{ホームディレクトリ}の部分に、Xサーバーのホームディレクトリを入力してください。

③ パーミッションの設定
.htaccess
ファイルに適切なパーミッション を設定して、外部からの不正アクセスを防ぎます。
Xserverのファイルマネージャーで.htaccess
を右クリック →「パーミッションの変更」を選択。
パーミッション: 644

STEP3 資格情報ファイルの作成
.htpasswd
はユーザー名とパスワードを暗号化して記録するファイル です。
Basic認証は.htpasswd
に記録された情報をもとに認証を行います。
① .htpasswdファイルの作成する
wp-admin
フォルダ内で、新規ファイル作成をクリック。
ファイル名: .htaccess
/home/ユーザー名/ ← Xserverのホームディレクトリ
└── public_html/ ← ドメインのルートディレクトリ
└── wordpress/ ← WordPressのインストールフォルダ
├── wp-admin/ ← ここに .htaccess を設置する!
│ └── .htaccess
│ └── .htpasswd
├── wp-content/ ← テーマ・プラグインのフォルダ
├── wp-includes/ ← WordPressのシステムファイル
├── wp-login.php ← ログイン画面
└── .htaccess ← ここは編集しない
② .htpasswdに資格情報を追加
以下のサイトでログインIDとパスワードを入力し、生成された暗号化パスワードをコピーします。
コピーした情報を.htpasswd
にペーストします。

admin:$apr1$R9KK1dDz$5Ovxy6c1zdF5v75HJ5Edn/
※「admin」はユーザー名
※「$apr1$…」の部分が暗号化されたパスワード
③ パーミッションの設定
.htpasswd
に適切なパーミッション を設定して、外部からの不正アクセスを防ぎます。
Xserverのファイルマネージャーで、.htpasswd
を右クリック →「パーミッションの変更」を選択。
パーミッション: 604

動作確認
管理画面のログイン画面にアクセスすると、Basic認証が表示されます。.htpasswd
に登録したユーザー名とパスワードを入力してログインできることを確認しましょう。
管理画面以外のページではBasic認証が表示されないことも、併せて確認しておきましょう。

一度Basic認証するとキャッシュされるため、再度ログイン画面に遷移してもBasic認証が表示されることはありません。
もう一度表示したい場合は、ブラウザのキャッシュを削除すれば大丈夫です。
500 Internal Server Errorについて
500エラーが発生した場合、何らかの設定が間違えている可能性があります。
注意深く手順を見て、すべての手順を実施してください。
チェックリスト
パスの指定の確認
.htaccess
で指定しているAuthUserFile
のパスが正しいか確認します。
Xサーバーでは、絶対パスを使用する必要があります。
.htaccessの配置場所
管理画面のみにBasic認証を設定する場合は、WordPressの管理画面ディレクトリ (wp-admin
) の .htaccess
に追加するのが望ましいです。
.htpasswdのパーミッション確認
.htpasswd
のパーミッションが正しいか確認してください。
推奨パーミッション:604
読み取り権限が正しく設定されていないと、サーバーが読み込めずエラーになることがあります。
PHP バージョンの確認
XServerのコントロールパネル → 「PHP設定の確認・変更」 で、PHPバージョンを確認 してください。
WordPress が推奨する PHP バージョン (現在は 7.4 以上) を利用していることを確認。
まとめ
いかがだったでしょうか。
簡単にBasic認証を設定し、セキュリティを向上できました!

Webサイトのセキュリティは重要よね



不正アクセスされると大変ですからね



Basic認証のIDPWを忘れないようにしないと・・
コメント