Web

Basic認証の設定手順

投稿日:2020年3月24日 更新日:

1. Basic認証とは?

HTTP認証の中で最も一般的なのが、Basic認証です。

Basic認証では、ユーザーが入力したパスワードが Basic64 でエンコードされてサーバーに送信されるのですが、Basic64 はデコード(真逆の変換)できるため、通信の内容を見られるとパスワードが知られてしまうという弱点を持っています。そのため、通常は HTTPS と合わせて利用します(通信内容が暗号化されますので)。

手軽であるため、レンタルサーバーでのアクセス制限機能などにも利用されています。

2. Basic認証の設定手順

ウェブサーバーには Apache を想定し、設定ファイルには .htaccess ファイルを利用するという前提で説明します。

(1) パスワードファイルを生成する

htpasswd コマンドを実行して、ユーザー名やパスワードを記録したパスワードファイルを生成します。

$ htpasswd -c {ファイルパス} {ユーザー名}

実際に実行した例が以下です。

$ htpasswd -c .htpasswd foo
New password:
Re-type new password:
Adding password for user foo

$ cat .htpasswd
foo:$apr1$2/Dzi6od$Tpp/I/WL/iEEST20tcDbj/

ここでは、以下を指定しました。

  • ファイル名 .htpasswd
  • ユーザー名 foo
  • パスワード password

ウェブからこのファイルを読まれないように、このファイルはドキュメントルートの外に配置するか、適切なパーミションを設定しておきます。

参考

(2) Apache の設定ファイルに認証するための記述を行う

ここでは、特定のディレクトリに対して Basic認証を掛ける場合を想定し、そのディレクトリ直下の .htaccess ファイルに設定を記述します。

AuthType Basic
AuthName "{領域名}"
AuthUserFile "{パスワードファイルへのパス}"
Require valid-user
  • AuthType と Require は上記のまま記述します。
  • AuthName と AuthUserFile は、自分が決めた内容を記述します。

一例を示します。

AuthType Basic
AuthName "Basic Auth"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user

今回のように.htaccess ファイルを利用する場合は、Apache を再起動する必要はありません。

以上の設定を行うと、Basic認証が有効になります。

3. おわりに

認証しないと特定のウェブページが見られないようにしたい場合、Basic認証は手軽で便利です。但し、HTTPS を併用することを徹底しましょう。

Web

Digest認証の設定手順

2020.03.23

4. 参考

📂-Web

執筆者:labo


comment

メールアドレスが公開されることはありません。

関連記事

Web Security

SSLで使用する証明書運用の不便さ

上のどちらも、SSLの証明書が期限を過ぎてしまったことが原因で起きた問題のようです。 前者は詳しく見ていないので分かりませんが、後者はサーバー証明書ではなくデバイス側に保存されているクライアント証明書 …

Chrome

Chrome: ツールバー上の拡張機能アイコンをメニューに移動させる方法

Chromeで、ツールバー上の拡張機能アイコンをメニューに移動させる方法について説明します。

CSS

Simple.css の使いみちについて

Simple.css の使いみちについて書いています。

Web

AMP に関する情報

AMP 本来の目的からずれているように見える。この機能は必要?

Web

Web Components: CSS Shadow Parts の使い方

CSS Shadow Parts の使い方を説明します。