Apache 2.4 のBASIC認証・Digest認証の設定

BASIC認証の設定

BASIC認証は、ユーザーパ名とパスワードが一致すれば閲覧できる簡易的なユーザー制限ページです。
BASIC認証の方法はApacheの設定ファイル内に記述する方法と「.htaccess」による記述する方法があります。

今回はApacheの設定ファイル内に記載する方法で紹介しています。Apache のバージョンは、Apache 2.4 となります

上記では、「/var/www/html/data」の領域にBASIC認証をかけています。URLでは「http://xxxxx.com/data」となります。そのURLにアクセスするとユーザー名とパスワードを一致しないとアクセスできません

次に、htpasswd コマンドを使ってユーザー名とパスワードを設定します

書式:htpasswd -c <ユーザー名とパスワードの設定ファイルのパス> <username>

設定が終わったら、Apacheを再起動して設定を読み直します

 

Digest認証の設定

BASIC認証では、パスワードをBase64エンコードして利用します。Base64エンコードの場合デコードすればパスワードがわかってしまうのでセキュリティーを考慮すれば、パスワードをMD5でハッシュ化した認証方式のDigest認証のほうが良いです。

Digest認証でのユーザー名・パスワードを発行するには「htdigest」コマンドを利用します

書式:htdigest -c <ユーザー名とパスワードの設定ファイルのパス> <AuthName> <username>

設定が終わったら、Apacheを再起動して設定を読み直します

BASIC認証・Digest認証で特定のユーザーのみアクセスできるように設定する

BASIC認証・Digest認証を特定のユーザーのみ認証が通過する設定は設定内の「Require」の箇所で行います。
Require valid-user」の設定だとユーザー名・パスワードでの認証で通過したユーザーが全てがそのページを閲覧できます。「Require user <ユーザー名>」とすれば、ユーザー名が一致したユーザーのみ閲覧できるようになります

書式:Require <オプション> <ユーザー名1> <ユーザー名2> ・・・

オプションは「user」、「group」を指定します。
許可の対象がユーザー単位であれば「user」を使用し、グループ単位であれば「group」を指定します。

許可するユーザー名を空白で区切って列挙していきます。

上記の場合は、ユーザー名が「test1」,「test2」,「test3」のユーザーのみパスワード認証が通れば閲覧できます

 

スポンサーリンク