VineLinux3.x/Apache2.0/Digest認証を使うための設定
Last-modified: 2018-02-03 (土) 09:34:01 (2420d)
概要 †
Basic認証ではパスワードが平文で流れるため、盗聴が容易でありセキュリティーに問題がある。そこで、Digest認証を使って暗号化パスワードで認証を行うようにする。
Digest認証を行うには、apache2のモジュールmod_auth_digestをインストールする。
設定手順 †
インストール †
apache2のソースディレクトリに移動する
# cd httpd-2.0.54/modules/aaa/
コンパイル
# /usr/local/apache2/bin/apxs -c -D DEV_RANDOM mod_auth_digest.c
-c:コンパイル
-D DEV_RANDOM:乱数生成に/dev/randomを用いる
httpd-2.0.54/modules/aaa/.libs/mod_auth_digest.soが生成される。
インストール
# /usr/local/apache2/bin/apxs -i -a .libs/mod_auth_digest.so
-i:mod_auth_digest.soがapache2のmodulesディレクトリにコピーされる
-a:httpd.conf にLoadModuleディレクティブを追加
確認 †
modulesディレクトリに追加されているか?
# ls /usr/local/apache2/modules/ httpd.exp mod_auth_digest.so* mod_dav_fs.so* mod_rewrite.so*
httpd.confに追加されているか?
# cat /usr/local/apache2/conf/httpd.conf |grep digest LoadModule auth_digest_module modules/mod_auth_digest.so
パスワードファイルの作成 †
# /usr/local/apache2/bin/htdigest -c /usr/local/apache2/conf/.htdigest dav user-name Adding password for waratte in realm dav. New password: Re-type new password:
- -c:新しいファイルを作成する
- 〜.htdigest:作成するパスワードファイル
- dav:realm名。適当な名前をつける。
- user-name:作成するユーザー名
httpd.confの編集 †
ここでは、〜/dav/authでdigest認証が行えるようにする
# vi /usr/local/apache2/conf/httpd.conf
<Location /dav/auth> DAV On Options Indexes AuthType Digest AuthName "dav" AuthDigestFile "/usr/local/apache2/conf/.htdigest" <LimitExcept OPTIONS> Require valid-user </LimitExcept> </Location>
- AuthType Digest:認証のタイプをDigestにする
- AuthName "dav":上で指定したrealm名と同じにする
- AuthDigestFile:上で作成したファイルを指定(AuthUserFileではないので注意)
- Require valid-user:認証されたユーザは誰でもアクセス可能
- OPTIONSメソッドだけ認証を回避(Webフォルダでアクセスするとエラーが記録されるため)
apache2の再起動 †
# /etc/rc.d/init.d/apache2 restart httpdを停止中: [ OK ] httpdを起動中: [ OK ]
クライアントよりアクセスする †
Basic認証とは違うダイアログが表示される。