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

Basic認証を設定しよう

この記事を読むと

それではBasic認証(ベーシック認証/基本認証)について、解説していきます!

Basic認証について

まずはBasic認証に関する基本知識を学びましょう。

Basic認証とは?

Basic認証はウェブサイトにアクセスする際、「ユーザー名」と「パスワード」を入力させる仕組みのことです。
例えばWordPressの管理画面にアクセスするときに、Basic認証を実施後にWordPressのログイン画面が出てくるようにできます。

これにより2段階のチェックが入るため、セキュリティが強化されるのです。

Basic認証のイメージ図
Basic認証はこんなやつです

Basic認証を使う場面

Basic認証は以下のようなケースで使用されます。

1. WordPressの管理画面を守りたいとき

管理画面に不正アクセスされるのを防ぐため、最初にBasic認証で確認を行います。

2. 開発中のサイトを非公開にしたいとき

完成する前のホームページを他人に見せたくない場合、Basic認証でアクセスを制限できます。

3. 特定の人だけに見せたいとき

社内のメンバーだけに見せたいページなどに使います。

今回はWordpressの管理画面を守るケースを例に、手順を説明します。

Basic認証のメリット

① セキュリティの向上

WordPressの管理画面にログインする前に、もう一つの壁を作ることができます。
悪意のある人が管理画面を見つけたとしても、Basic認証で止められるのでログイン画面に進めません。

② 簡単に設定できる

Basic認証は.htaccessというファイルを使って設定します。
WordPressのプラグインを使う必要がないので、余計な負荷をかけずにセキュリティを強化できます。

③ ブルートフォース攻撃対策

ブルートフォース攻撃とは、パスワードを無限に試して突破する攻撃のことです。
Basic認証を設置することで、最初の段階で攻撃をシャットアウトできます。

Basic認証を追加した時のWordpressセキュリティ強化イメージ
不正アクセスからサイトを守る壁が2重になるということ

Basic認証を使うことで、WordPressの管理画面に対する不正アクセスの90%をブロックできると言われています。
これは管理画面に直接アクセスする攻撃者を、最初の壁で追い返すことができるからです。

しかし絶対に安全というわけではないので、他のセキュリティ対策と組み合わせることが重要です。

Basic認証のデメリット

Basic認証にはデメリットもあります。
デメリットをよく理解したうえで、適切な対策を実施しましょう。

①パスワードが簡単に盗まれる可能性がある

Basic認証ではパスワードが暗号化されずに送信されます。
そのため通信を盗み見られると、パスワードがバレてしまう危険があります。

対策: SSL(https)を使って、通信を暗号化しましょう。

② ブルートフォース攻撃を完全に防げるわけではない

Basic認証には何度も間違えたらロックするなどの機能がないので、攻撃者がしつこく試せば突破される可能性があります。

対策: WordPressのプラグインでログイン試行回数の制限を設定することをおすすめします。

③ ユーザー体験が悪くなることがある

Basic認証を設定すると、ユーザー名とパスワードを入力する必要があるので、面倒に感じる場合があります。

使用するのは管理画面などのユーザーが使用しない画面にしましょう。
またブラウザに記録されるので、毎回Basic認証する必要はありません。

Basic認証の設定方法

それでは実際にBasic認証を設定していきましょう。

STEP1 サーバーにアクセス

まずはFTPソフトを使用するか、Xサーバーのファイルマネージャーにアクセスして、サーバー上のファイルを編集できるようにしましょう。

Xサーバーのファイルマネージャーは、以下の箇所からアクセスできます。

①サーバーパネルからアクセス

サーバーパネルからエックスサーバーのファイルマネージャーにアクセス

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

エックスサーバーのトップページからファイルマネージャーにアクセス

STEP2 サーバー設定ファイルを編集

.htaccessはWebサーバーの設定を行うファイル です。
これを編集することで、Basic認証を設定できます。

① .htaccessファイルを作成する

ファイルマネージャーを開くと、自分のサイトドメインのフォルダがあります。

自分のサイトドメインフォルダのイメージ
こんな感じ

以下のディレクトリ構成を参考にwp-adminフォルダに遷移して、新規ファイル作成をクリックしましょう。
ファイル名は「 .htaccess」にしてください。

XServerのディレクトリ
/サイト名              ← Xserverのホームディレクトリ
└── public_html/         ← ドメインのルートディレクトリ
    └── wordpress/       ← WordPressのインストールフォルダ(存在しない場合もある)
        ├── wp-admin/    ← ここに .htaccess を設置する!
        │   └── .htaccess
        │   └── .htpasswd
        ├── wp-content/  ← テーマ・プラグインのフォルダ
        ├── wp-includes/ ← WordPressのシステムファイル
        ├── wp-login.php ← ログイン画面
        └── .htaccess    ← ここは編集しない

wp-admin .htaccessを設置することで、管理画面だけにBasic認証を適用します。

② .htaccessにコードを追加

以下のコードを.htaccessファイルの一番上にコピペしてください。

.htaccessサンプル
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /home/{ホームディレクトリ}/public_html/wordpress/wp-admin/.htpasswd
Require valid-user

ただし3行目は変更が必要です。
3行目の{ホームディレクトリ}の部分に、Xサーバーのホームディレクトリを入力してください。

ユーザー名の調べ方
XServerのサーバーパネル→サーバー情報→ホームディレクトリを確認

エックスサーバーでのホームディレクトリの調べ方イメージ

③ パーミッションの設定

.htaccessファイルに適切なパーミッション を設定して、外部からの不正アクセスを防ぎます。

Xserverのファイルマネージャーで.htaccessを右クリック →「パーミッションの変更」を選択。
パーミッション: 644

.htaccessファイルのパーミッション変更イメージ
パーミッションは「644」

STEP3 資格情報ファイルの作成

.htpasswdユーザー名とパスワードを暗号化して記録するファイル です。
Basic認証は.htpasswdに記録された情報をもとに認証を行います。

① .htpasswdファイルの作成する

wp-adminフォルダ内で、新規ファイル作成をクリック。
ファイル名: .htaccess

XServerのディレクトリ
/home/ユーザー名/        ← Xserverのホームディレクトリ
└── public_html/         ← ドメインのルートディレクトリ
    └── wordpress/       ← WordPressのインストールフォルダ
        ├── wp-admin/    ← ここに .htaccess を設置する!
        │   └── .htaccess
        │   └── .htpasswd
        ├── wp-content/  ← テーマ・プラグインのフォルダ
        ├── wp-includes/ ← WordPressのシステムファイル
        ├── wp-login.php ← ログイン画面
        └── .htaccess    ← ここは編集しない

② .htpasswdに資格情報を追加

以下のサイトでログインIDとパスワードを入力し、生成された暗号化パスワードをコピーします。
コピーした情報を.htpasswdにペーストします。

ルフトツールズ(LUFTTOOLS) web...
htpasswdファイル生成(作成) htpasswdファイル生成(htpasswdファイル作成)するweb・ウェブ制作に役立つ便利ツール。htaccessを利用したユーザー認証によるアクセス制限(ベーシック認証)が可能です...
.htpasswdサンプル
admin:$apr1$R9KK1dDz$5Ovxy6c1zdF5v75HJ5Edn/

※「admin」はユーザー名
※「$apr1$…」の部分が暗号化されたパスワード

③ パーミッションの設定

.htpasswdに適切なパーミッション を設定して、外部からの不正アクセスを防ぎます。

Xserverのファイルマネージャーで、.htpasswdを右クリック →「パーミッションの変更」を選択。
パーミッション: 604

パーミッションの設定

動作確認

管理画面のログイン画面にアクセスすると、Basic認証が表示されます。
.htpasswdに登録したユーザー名とパスワードを入力してログインできることを確認しましょう。

管理画面以外のページではBasic認証が表示されないことも、併せて確認しておきましょう。

Basic認証

一度Basic認証するとキャッシュされるため、再度ログイン画面に遷移してもBasic認証が表示されることはありません。
もう一度表示したい場合は、ブラウザのキャッシュを削除すれば大丈夫です。

500 Internal Server Errorについて

500エラーが発生した場合、何らかの設定が間違えている可能性があります。
注意深く手順を見て、すべての手順を実施してください。

原因が分からない場合、サーバーのエラーログを見るのが有効です。
確認手順:XServerのコントロールパネル → サーバー管理 → エラーログ

チェックリスト

パスの指定の確認

.htaccessで指定しているAuthUserFileのパスが正しいか確認します。
Xサーバーでは、絶対パスを使用する必要があります。

.htaccessの配置場所

管理画面のみにBasic認証を設定する場合は、WordPressの管理画面ディレクトリ (wp-admin) の .htaccessに追加するのが望ましいです。

.htpasswdのパーミッション確認

.htpasswdのパーミッションが正しいか確認してください。

推奨パーミッション:604
読み取り権限が正しく設定されていないと、サーバーが読み込めずエラーになることがあります。

PHP バージョンの確認

XServerのコントロールパネル → 「PHP設定の確認・変更」 で、PHPバージョンを確認 してください。
WordPress が推奨する PHP バージョン (現在は 7.4 以上) を利用していることを確認。

まとめ

いかがだったでしょうか。
簡単にBasic認証を設定し、セキュリティを向上できました!

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

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

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

Ueda
フリーランスエンジニア
RPAエンジニアです。
UipathやVBAを使用した開発を得意としています。優れた可読性と効率的な設計を併せ持つRPA開発を心がけています。
RPA初心者向けの教育経験多数あり。RPAの開発サポートも承ります。

Wordpressを用いたHP制作のお仕事も経験があります。本サイトもWordpressを用いて制作しております。

ペットのチワプーと暮らしてます。
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする