セキュリティ

Basic認証とは

2019年7月21日

Basic認証(ベーシック認証)って何?

Basic認証(ベーシック認証)とは、HTTPで定義されてる認証方式の一つで、基本認証とも呼ばれています。

Basic認証は実装が容易で、ほぼ全てのWebサーバおよびブラウザで対応していることもあり、簡易的な認証として広く使われている認証方式です。

スポンサーリンク

ただし、セキュリティ対策は万全ではない為、しっかりとしたセキュリティ対策が必要なシステムでは使用されません。あくまでも簡易的な認証として使われています。

Basic認証とは

Basic認証の具体的な仕組みは「ログインID」と「ログインパスワード」をBase64と呼ばれるコードにエンコード(変換)して送信します。

暗号化ではなく、Base64にエンコード(変換)しているだけなので、データを盗聴すれば盗聴したデータをBase64でデコード(元に戻す)することで、簡単にログインIDとログインパスワードが分かってしまう欠点があります。

このような理由から、仮に盗聴されても問題にはならないようなシステムで、簡易的な認証として幅広く使用されています。

Basic認証(ベーシック認証)の設定方法

Basic認証を設定する際に作成が必要なファイルは「.htaccessファイル」と「.htpasswdファイル」です。

スポンサーリンク

.htaccessファイルの作り方

Basic認証する為の設定ファイルである「.htaccessファイル」の中に、次のような4行を記述します。

AuthType     Basic
AuthName     [適当な名称]
AuthUserFile [.htpasswdファイルの場所]
require valid-user
  • AuthType:Basic認証なので「Basic」と記述します。
  • AuthName:任意の文言を書き。ブラウザによってはここに記載した文言が認証画面で表示されることもあります。
  • AuthUserFile:「ログインユーザーID」と「ログインパスワード」を記述した「.htpasswdファイル」の場所を指定します。
  • require valid-user:すべてのユーザーに認証を求める指定です。

作成した「.htaccessファイル」は、Basic認証によるアクセス制限を設定したいディレクトリにアップロードします。パスワード認証の対象範囲には、そのディレクトリ内にあるすべてのサブディレクトリも含まれます。

※もし「.htaccessファイル」が既に存在している場合は、上記の設定内容を既存の「.htaccessファイル」に追記します。

.htpasswdファイルの作り方

Basic認証で使用する「ログインユーザーID」と「ログインパスワード」を管理する「.htpasswdファイル」の内容は次のとおりです。

ログインユーザーID:ログインパスワード
ログインユーザーID:ログインパスワード
ログインユーザーID:ログインパスワード

「ログインユーザーID」と「ログインパスワード」を記述しているだけのシンプルなファイル。ただし「ログインパスワード」はハッシュ化して格納する必要があります

以下の参考URLなどのサイトを利用すれば、パスワードをハッシュ化できます。

参考URL:https://www.nishishi.com/scripts/htpasswd/

作成した「.htpasswdファイル」は、「.htaccessファイル」内のAuthUserFile項目で指定した場所にアップロードします。

これでBasic認証の設定は終了です。

helpful