From a59dc7e3cfb0af265d41615191acae05d4582e67 Mon Sep 17 00:00:00 2001
From: Yoshiki Hayashi 「認証」とは、誰かが自分は誰であるかを主張した場合に、
- それを確認するための全ての過程を指します。「承認」とは、
+ それを確認するための全過程を指します。「承認」とは、
誰かが行きたい場所に行けるように、あるいは欲しい情報を
- 得ることができるようにするための全ての過程を指します。
もし機密の情報や、ごくごく少数グループの人向けの情報を ウェブサイトに置くのであれば、この文書に書かれている - テクニックを使うことによって、そのページを見ている人たちが + テクニックを使うことで、そのページを見ている人たちが 望みの人たちであることを確実にできるでしょう。
この文書では、多くの人が採用するであろう、
@@ -95,7 +95,8 @@
サーバの設定をしないといけないでしょう。これは
AllowOverride
- ディレクティブで可能になります。このディレクティブは、
+ ディレクティブで可能になります。AllowOverride
+ ディレクティブでは、
ディレクトリ毎の設定ファイル中に置くことのできる
ディレクティブを、もしあれば、指定します。
そうでなく、メインサーバ設定ファイルの中にディレクティブを - 直接置こうというのであれば、当然ながらそのファイルへの書き込み +
そうでなく、メインサーバ設定ファイルの中に + 直接置くのであれば、当然ながらそのファイルへの書き込み 権限を持っていなければならないでしょう。
-その上、どのファイルがどこに保存されているか知るために、 +
また、どのファイルがどこに保存されているか知るために、 サーバのディレクトリ構造について少し知っておく 必要があるでしょう。 - これはそんなに難しくないはずで、 - ディレクトリ構造が必要な場面ではそれが明らかになるようにしています。
+ これはそんなに難しくないはずで、この文書中で + ディレクトリ構造について知っておく必要がある場面では、 + 明らかになるようにします。では、サーバ上のあるディレクトリをパスワードで保護する - 基本を示します。
+ 基本手順を示します。パスワードファイルを作る必要があります。
このファイルは、ウェブからアクセスできる場所に
- 置くべきではありません。これは、他の人がパスワードファイルを
+ 置くべきではありません。他の人がパスワードファイルを
ダウンロードできないようにするためです。例えば、
/usr/local/apache/htdocs
でドキュメントを
提供しているのであれば、パスワードファイルは
@@ -133,9 +135,9 @@
ファイルを作るためには、Apache 付属の htpasswd
- を使います。これは Apache をどこにインストールしようとも、
+ を使います。このコマンドは Apache をどこにインストールしようとも、
インストールディレクトリの bin
- ディレクトリに置かれます。ファイルを作るには、次のように
+ ディレクトリ以下に置かれます。ファイルを作るには、次のように
タイプしてください:
htpasswd -c /usr/local/apache/passwd/passwords rbowen @@ -159,14 +161,14 @@-次に、サーバがパスワードを要求するように設定して、 どのユーザがアクセスを許されているかをサーバに知らせなければ なりません。
+ 配置して、次のディレクティブを使うことができます。httpd.conf
を編集するか -.htaccess
ファイルを使用するかでこれを - 行います。例えば、ディレクトリ +.htaccess
ファイルを使用するかで + 設定します。例えば、ディレクトリ/usr/local/apache/htdocs/secret
を保護したい場合は、/usr/local/apache/htdocs/secret/.htaccess
か httpd.conf 中の <Directory /usr/local/apache/apache/htdocs/secret> セクションに - 配置した、次のディレクティブを使うことができます。AuthType Basic AuthName "Restricted Files" @@ -174,13 +176,13 @@ require user rbowen-これら個々のディレクティブについて見てみましょう。 +
個々のディレクティブについて見てみましょう。 AuthType - ディレクティブはどういう方法でユーザの認証を行うかを + ディレクティブはどういう認証方法でユーザの認証を行うかを 選択します。最も一般的な方法は
+ ごくごく最近のクライアントしか Digest + 認証をサポートしていないようです。Basic
で、これは mod_auth - において実装されています。しかしながら、 - これは気を付けるべき重要なことなのですが、 + で実装されています。しかしながら、 + これは気を付けるべき重要なポイントなのですが、 Basic 認証はクライアントからブラウザへ、 パスワードを暗号化せずに送ります。ですから、 この方法は特に機密性の高いデータに対しては用いるべきでは @@ -189,8 +191,8 @@ この方法は mod_auth_digest で実装されていて、もっと安全です。 - ごく最近のクライアントのみが Digest 認証をサポートしている - ことが知られています。AuthName ディレクティブでは、認証に使う Realm (訳注: 領域) @@ -198,12 +200,12 @@ 一つ目は、クライアントがパスワードダイアログボックスの 一部としてユーザにこの情報をよく提示する、というものです。 二つ目には、クライアントが与えられた認証領域に対してどのパスワードを - 送信すれば良いのかを決定するために使われる、という機能があります。 - ですから例えば、
"Restricted Files"
領域中で + 送信すれば良いのかを決定するために使われる、という機能です。 + 例えば、"Restricted Files"
領域中で 一度認証されれば、同一サーバ上で"Restricted Files"
- realm としてマークされたどんな領域でも、クライアントは + Realm としてマークされたどんな領域でも、クライアントは 自動的に同じパスワードを使おうと試みます。 - ですから、複数の制限領域に同じ realm を共有させて、 + このおかげで、複数の制限領域に同じ realm を共有させて、 ユーザがパスワードを何度も要求される事態を 防ぐことができます。もちろん、セキュリティ上の理由から、 サーバのホスト名が変わればいつでも必ず、 @@ -262,7 +264,7 @@ htpasswd /usr/local/apache/passwd/password dpitts
依然と同じ応答が返されますが、新しいファイルを +
以前と同じ応答が返されますが、新しいファイルを
作るのではなく、既にあるファイルに追加されています。
(新しいパスワードファイルを作るには -c
を使います。)