Digest認証

Apache 2.4で表題を行う。Basic認証を行おうと思ったのだが、Basic認証はパスワードが平文で送られるからDigest認証の方が良いよ!というのを見かけたのでやってみる。

■ 環境

  • Apache 2.4.25
  • Amazon Linux

■ httpd.conf

下記を追記した。

<Directory "/var/www/html/private">
    AuthType Digest
    AuthName "private"
    AuthDigestDomain /private/
    AuthDigestProvider file
    AuthUserFile /etc/httpd/.htdigest
    Require valid-user
</Directory>

対象のディレクトリは”/var/www/html/private“である。このディレクトリ配下へのアクセスをDigest認証で制限する。”AuthName“で指定するのは何でも良いようであるが、後述の`htdigest`でも入力する必要があるのでわかりやすく”private“にしてしまった。

■ htdigest

前述の”AuthUserFile“で指定したファイルを作成する。初めての実行なので”-c“が付いているが、次回以降はいらない。

$ htdigest -c /etc/httpd/.htdigest privae withsin
Adding password for partner01 in realm private
New password: *****
Re-type new password: *****
$

ファイルが作成された。中身を確認すると下記のようであった。

$ cat /etc/httpd/.htdigest
withsin:private:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
$

httpdに設定を反映する。

$ sudo service httpd configtest
Syntax OK
$
$ sudo service httpd reload

実際にブラウザでアクセスをし、ユーザ名とパスワードを求められ、ログインができれば思い通りに動いているであろう。

以上。