このエントリーをはてなブックマークに追加


Apacheでダイジェスト認証の設定を行う

本資料はCentOS, Apache2.2.3の環境でApacheのダイジェスト認証の設定を行った手順を記しています。


スポンサーリンク

関連資料

iptablesなどにより外部から接続できない場合は、以下の資料が参考になるかもしれません。

ダイジェスト認証を設定し確認した環境

使用したLinux(CentOS)の環境は以下の通りです。

# lsb_release -sd
"CentOS release 5.8 (Final)"
# httpd -v
Server version: Apache/2.2.3
Server built:   Feb 23 2012 21:16:57

ダイジェスト認証モジュールの有効化

httpd.confに記述されているダイジェスト認証のモジュールを有効にします。
今回使用した環境では、以下の場所にhttpd.confがありました。

/etc/httpd/conf/httpd.conf

http.conf内に以下の記述があるのでコメント(#)されている場合はコメント(#)を削除してダイジェスト認証のモジュールを有効にしてください。

LoadModule auth_digest_module modules/mod_auth_digest.so

ダイジェスト認証用のパスワードファイルの作成

htdigestコマンドを利用しダイジェスト認証用のパスワードを作成します。

htdigest -c ダイジェスト用パスワードファイル ダイジェスト認証を行う領域名 ユーザ 

上記の-cオプションは初めてダイジェスト認証用のパスワードファイルを作成するときのオプションです。
ユーザを追加する場合(すでにファイルが存在する)、-cオプションは不要です。
以下、htdigestコマンドを実行した時の出力です。
コマンド実行後、パスワードを入力します。

#  htdigest -c /etc/httpd/conf/passwd_digest 'DigestAuthArea' sakura
Adding password for sakura in realm DigestAuthArea.
New password: 
Re-type new password: 

上記コマンドが完了すると以下のようにダイジェスト認証用のパスワードファイルが生成されます。
ファイル内容を見ると、ユーザ:ダイジェスト認証を行う領域名:暗号化されたパスワード の順に記録されています。

# cat /etc/httpd/conf/passwd_digest
sakura:DigestAuthArea:86f8c9c196fa4294b88379f6dc65a8d1

httpd.conf側の設定

今回使用した環境デフォルトのままであり、以下のように設定されています。

DocumentRoot "/var/www/html"
   :
   :
   :
<Directory "/var/www/html">
   :
   :

本資料では、<Directory "/var/www/html"> 中略 </Directory>にダイジェスト認証の設定を行います。
変更した内容は以下の通りになります。

<Directory "/var/www/html">
   AuthType Digest
   AuthName "DigestAuthArea"
   AuthUserFile "/etc/httpd/conf/passwd_digest"
   Require valid-user
     :

追加したのは、以下の4つです。

AuthType Digest
AuthName "DigestAuthArea"
AuthUserFile "/etc/httpd/conf/passwd_digest"
Require valid-user

AuthTypeにはDigest
AuthNameには、htdigestコマンドで指定したダイジェスト認証を行う領域名を設定
AuthUserFileには、htdigestコマンドで指定したダイジェスト用パスワードファイルを設定
Require valid-userを追記しました。

Apacheを再起動して設定を反映させる

Apacheが既に起動している場合は、Apacheを再起動します。
停止している場合は、Apacheを起動してください。
今回は、CentOSを利用しているので以下のコマンドで起動、停止、再起動ができます。

  • 起動
    service httpd start
  • 停止
    service httpd stop
  • 再起動
    service httpd stop

ダイジェスト認証を試してみる

ブラウザを起動してDigest認証を設定したホストに接続します。
きちんと設定されていれば、以下のように認証画面が表示されます。

digest-01.gif

参考資料

iptablesなどにより外部から接続できない場合は、以下の資料が参考になるかもしれません。


スポンサーリンク

添付ファイル: filedigest-01.gif 677件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:35:46