ユーザ認証をする。(ダイジェスト認証)



  1. httpd.confで.htaccess の使用を許可する。許可したいディレクトリのAllowOverrideにAuthConfigを追記する。

    # vi /usr/local/apache/conf/httpd.conf
    
    ・
    ・
    ・
    # This controls which options the .htaccess files in directories can
    # override. Can also be "All", or any combination of "Options", "FileInfo",
    # "AuthConfig", and "Limit"
    
    AllowOverride AuthConfig
    ・
    ・
    ・
    
    
    Options・・・CGI の実行、シンボリックリンクをたどるかどうか、などの制御を .htaccess で指定する事ができる。
    FileInfo・・・拡張子とファイルタイプの対応の指定や File 名置換などを、.htaccess で指定する事ができる。
    AuthConfig・・・ユーザー認証に関する指定を、.htaccess で指定する事ができる。
    Limit・・・アクセス制限に関する指定を、.htaccess で指定する事ができる。
    All・・・以上の全てを指定したのと同じ。

    ここまではベーシック認証と同じです。

  2. パスワードファイルを作成する。

    htdigest の使用例 (この場合は、hogeuser がユーザ名で、Privateが領域名(realm)です。)
    $ /usr/local/apache/bin/htdigest -c /home/hoge/.htpasswd.digest Private hogeuser

    でできます。 -c オプションをつけると、パスワードファイルを新しく作ります。
    $ cat /home/hoge/.htpasswd.digest
    hogeuser:Private:d675482f815f01ff7dff9d70f5ddf3fb
    

  3. .htaccessファイルを作成する。 ユーザ認証するディレクトリに置きます。
    AuthDigestFile /home/hoge/.htpasswd.digest
    AuthGroupFile /dev/null
    AuthName "Private"
    AuthType Digest
    <Limit POST GET>
    require valid-user
    </Limit>
    

  4. これだけだと、ダイジェスト認証は使用できません。ダイジェスト認証モジュール(mod_auth_digest.c)を組み込む必要があります。
    $ cd apache_1.3.27/src/modules/experimental
    $ /usr/local/apache/bin/apxs -c -D DEV_RANDOM mod_auth_digest.c
    $ su
    # /usr/local/apache/bin/apxs -i mod_auth_digest.so
    
    configure時に、--enable-module=auth_digest オプションを付加する方法もある。

  5. httpd.confに下記の記述を追加します。

    # vi /usr/local/apache/conf/httpd.conf
    LoadModule digest_auth_module libexec/mod_auth_digest.so
    AddModule mod_auth_digest.c
    

  6. Apacheを再起動します。
    # /etc/rc.d/init.d/httpd restart
    

    ダイジェスト認証は、ユーザー名とパスワードをMD5で暗号化するため(パスワードが平文で流れない)、パスワードを base64 エンコードするだけのベーシック認証より安全です。ただし暗号化されるのは認証だけなので、ログイン以降の通信を暗号化したい場合は、SSLを使用してください。

    ただし、ダイジェスト認証を使用できるブラウザは限定されます。IE5.0以降、Netscape7.0以降、Opera6.0、Mozilla 0.9.7以降では使用できるようです。


構築環境
Apache 1.3.27/PHP 4.3.0/Red Hat Linux 7.3



  1. Apacheをインストールする
  2. PHPをインストールする
  3. ApacheでSSLを使う
  4. ユーザ認証をする。(ベーシック認証)
  5. ユーザ認証をする。(ダイジェスト認証)
  6. Analogでアクセスログ解析をする





Apache で ウェブサーバを構築する


当サイト 人気ウイルス対策ソフト

ESET Smart Security

ウイルスバスター

ノートン・アンチウイルス

マカフィーウイルススキャン

NOD32

ウイルスセキュリティZERO

Copyright(c) 1999-2017 ITNAVI.com サイト運営者情報