Apacheのダイジェスト認証の設定
カテゴリ:Webサーバ

CentOS/Ubuntu 両対応
管理者用ページなど、特定のディレクトリをパスワードで保護する場合は、以下の手順でダイジェスト認証を設定します。
ダイジェストはハッシュを意味し、ベーシック認証のように、ユーザー名、パスワードを平文で送らずに、MD5ハッシュにして送ります。
これにより盗聴や改竄されるのを防ぎます。
注意なお、ダイジェスト認証でコンテンツが暗号化されるわけではありません。
HTTPの通信を暗号化したい場合は、SSL証明書を設定してHTTPSでアクセスできるようにする必要があります。
ダイジェスト認証のパスワードファイルの作成
ダイジェスト認証のパスワードファイル digestpass を以下のコマンドで作成します。
以下は hoge ユーザーのダイジェスト認証用のパスワードを /var/www/digestpass ファイルに作成します。
# htdigest -c "/var/www/digestpass" "Digest Auth" hoge Adding password for hoge in realm Digest Auth. New password: Re-type new password:
※パスワードを2回入力します。
パーミッションを設定します。
# chmod 777 /var/www/digestpass
Apacheの設定ファイルにダイジェスト認証を設定
Apacheの設定ファイルをviで開きます。
CentOS の場合:
# vi /etc/httpd/conf/httpd.conf
Ubuntu の場合:
# vi /etc/apache2/sites-available/000-default.conf
以下を追加します。
#ダイジェスト認証のパスワードファイルのディレクトリを指定
<Directory "/var/www">
AllowOverride AuthConfig
</Directory>
#/var/www/html/adminをパスワード保護する
<Directory "/var/www/html/admin">
AuthName "Digest Auth"
AuthType Digest
AuthUserFile /var/www/digestpass
require valid-user
</Directory>
設定後、以下のコマンドでApacheを再起動します。
CentOS の場合:
# systemctl restart httpd
Ubuntu の場合:
# systemctl restart apache2
公開日時:2014年07月19日 22:05:38
最終更新日時:2022年03月10日 20:49:22