Carpe Diem

  Top > スポンサー広告> Webサーバ > Digest認証  

スポンサーサイト

-- - --/-- [--] - --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Digest認証

2011 - 06/11 [Sat] - 12:38

今回は認証をBasic認証からDigest認証に変更する方法です。

まずBasic認証とDigest認証についての説明を

Basic認証は
・ユーザ名とパスワードの組みをコロン ":" で繋ぎ、Base64でエンコードして送信する。このため、盗聴や改竄が簡単であるという欠点を持つ

Digest認証は
・ユーザ名とパスワードをMD5でハッシュ(ダイジェスト)化して送る。Basic認証では防げなかった盗聴や改竄を防ぐために考案された。

となります。ただまぁMD5も破られたやらなんやら。
けどBasic認証よりはマシだと思うので変更します。

まずDigest認証の機能をON(これやらなくてずっと500エラー喰らってました)

$ sudo a2enmod auth_digest


次にDigest認証用のパスワード作成。前回のやりかたに則って進めます。
認証用のパスワードファイル「dav.passwd」を作成します。ユーザー名を「server」とします。パスは例によって「yyyy

$ cd /etc/apache2/
$ sudo htdigest -c ./dav.passwd "welcome to my server"
server
New password:yyyy
Re-type new password:yyyy
Adding password for user server

前と同じく1人目は-cオプションを付け、2人目以降は外してください。
Basicパスとの違いは、htpasswd→htdigestと、引数に"で囲まれたrealmを必要とする点です。

一応隠しファイルにしときましょう。先頭に「.」(ドット)を付けます。

$ sudo mv dav.passwd .dav.passwd


パスワードファイルのオーナー&パーミッションを変更。

$ sudo chown www-data:www-data ./.dav.passwd
$ sudo chmod 600 ./.dav.passwd


次にapacheの設定。今回はSSLで使用するのでdefault-sslを変更します。以前のやつを元に、紫部分を変更します。

<ifmodule mod_dav_fs.c="">
Alias /dav "/var/www/webdav"
<Location /dav>
DAV on
SSLRequireSSL

Options Indexes
Order deny,allow
AuthType Digest
AuthName "welcome to my server" ←パスで書いたrealmと一致させる
AuthUserFile /etc/apache2/.dav.passwd

Require valid-user
</Location>
</IfModule>


最後にapacheを再起動して完了。

$ sudo /etc/init.d/apache2 restart

ソース:
WebDAV(Digest認証)

コメントの投稿





管理者にだけ表示を許可する

 | ホーム | 

プロフィール

Cicatrice

Author:Cicatrice
備忘録

検索フォーム

カテゴリ

最新記事

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。