ユーザ名・パスワードによるアクセス制限を掛ける
(1)ベーシック認証
ユーザ名とパスワードのセットを作成する
[root@localhost ~]# cd /var/www
[root@localhost www]# mkdir auth
[root@localhost www]# htpasswd -b -c /var/www/auth/.htpasswd user-name user-password
Adding password for user user-name
httpd.conf でアクセス制限を掛ける場合 (すべてのホームページ)
/etc/httpd/conf/httpd.conf
<Directory "/var/www/html">
AuthType Basic
AuthUserFile /var/www/auth/.htpasswd
AuthGroupFile /dev/null
AuthName "Authentication Required Site"
Require valid-user
</Directory>
特定のディレクトリ以下にアクセス制限掛ける場合は、そのディレクトリのセクションを作成して、そこに記述する。
.htaccess ファイルでアクセス制限掛ける場合は、アクセス制限かけたいフォルダに .htaccess ファイルを作成し、次のように記述する
/var/www/html/任意のディレクトリ/.htaccess
AuthType Basic
AuthUserFile /var/www/auth/.htpasswd
AuthGroupFile /dev/null
AuthName "Authentication Required Site"
Require valid-user
ベーシック認証ではユーザー名とパスワードは平文(Base64で符号化)されて送信される。パケットキャプチャで簡単にユーザ名・パスワードのセットが見られてしまいます。
そこで、次の(2)で説明するパスワードのMD5暗号化が必要になる。
(2)ダイジェスト認証 (MD5暗号化利用)
新しいブラウザでは、パスワード送信を暗号化するダイジェスト認証が利用できる
ユーザ名とパスワードのセットを作成する
[root@localhost ~]# cd /var/www
[root@localhost www]# mkdir auth
[root@localhost www]# htdigest -c /var/www/auth/.htdigest 'MD5 Digest Authentication' user_name
Adding password for user_name in realm MD5 Digest Authentication.
New password:
Re-type new password:
httpd.conf でアクセス制限を掛ける場合 (すべてのホームページ)
/etc/httpd/conf/httpd.conf
<Directory "/var/www/html">
AuthType Digest
AuthUserFile /var/www/auth/.htdigest
AuthName "MD5 Digest Authentication"
Require valid-user
</Directory>
(3)クライアント証明書の検証を追加