- 追加された行はこの色です。
- 削除された行はこの色です。
*概要 [#a4718d47]
Basic認証ではパスワードが平文で流れるため、盗聴が容易でありセキュリティーに問題がある。そこで、Digest認証を使って暗号化パスワードで認証を行うようにする。
Digest認証を行うには、apache2のモジュールmod_auth_digestをインストールする。
*インストール [#gc59e811]
*設定手順 [#gc59e811]
**インストール [#m1a25394]
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ディレクティブを追加
*確認 [#f27c06d2]
**確認 [#f27c06d2]
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
*パスワードファイルの作成 [#ra61d2ec]
**パスワードファイルの作成 [#ra61d2ec]
# /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の編集 [#r691f3d8]
**httpd.confの編集 [#r691f3d8]
ここでは、〜/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"
Require valid-user
<LimitExcept OPTIONS>
Require valid-user
</LimitExcept>
</Location>
>
- AuthType Digest:認証のタイプをDigestにする
- AuthName "dav":上で指定したrealm名と同じにする
- AuthDigestFile:上で作成したファイルを指定(AuthUserFileではないので注意)
- Require valid-user:認証されたユーザは誰でもアクセス可能
- OPTIONSメソッドだけ認証を回避(Webフォルダでアクセスするとエラーが記録されるため)
*apache2の再起動 [#p7046208]
**apache2の再起動 [#p7046208]
# /etc/rc.d/init.d/apache2 restart
httpdを停止中: [ OK ]
httpdを起動中: [ OK ]
*クライアントよりアクセスする [#gcc5aeb8]
**クライアントよりアクセスする [#gcc5aeb8]
#ref(digest.png)
Basic認証とは違うダイアログが表示される。
* コメント [#n23d89c6]
#pcomment(Apache2でDigest認証/コメント)
#comment