Fedora Core 500の技
Valid XHTML 1.0!
正当なCSSです!

TOP > Linux > Fedoraの技 > 101-200 > 110

ユーザ名とパスワードでアクセス制限するには(Digest認証)

apacheではBasic認証でユーザの制限をかけることが出来ますが、この場合パスワードがそのまま平文で流れるのであまり利用はお勧めできません。モジュール"mod_auth_digest"を利用したDigest認証ではパスワードを暗号化して通信を行いますのでより安全です。最近のブラウザではほとんどこのDigest認証に対応しています。

下記は専用のsecretディレクトリを作り、そこにアクセス制限をかける例です。

# mkdir /var/www/html/sercret
# chown apache:apache /var/www/html/secret
# vi /etc/httpd/conf/httpd.conf

<Directory "/var/www/html/secret"> 10行追加します
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    AuthType Digest
    AuthName "Restricted User"
    AuthDigestFile /etc/httpd/conf/fedora500_digest
    Require valid-user
</Directory>

新規認証ファイルを作るために"-c"オプションを利用します。オプションの後には"AuthDigestFile"で設定したファイル名、続いて"AuthName"で設定した文字列、最後にユーザ名を指定します。

# htdigest -c /etc/httpd/conf/fedora500_digest "Restricted User" john
Adding password for john in realm Restricted User.
New password: パスワードを入力
Re-type new password:

httpdをリロードして指定のページ(この場合 http://www.fedora500.jp/secret/)にアクセスすると下記のようなユーザ認証が求められます。

# service httpd reload

ap-digest.jpg

認証ファイルのオーナはapacheユーザに変更し、パーミッションを600とするとより安全でしょう。

# chown apache:apache /etc/httpd/conf/fedora500_digest
# chmod 600 /etc/httpd/conf/fedora500_digest

2005-12-03 作成