PAP 認証は、UNIX の login プログラムと動作が多少似ていますが、PAP はユーザーにシェルアクセスを許可しない点が異なります。PAP は、PPP 構成ファイルと /etc/ppp/pap-secrets ファイルの形式の PAP データベースを使って認証を設定します。また、PAP セキュリティ資格の定義にも /etc/ppp/pap-secrets を使用します。この資格には、ピア名 (PAP の用語では 「ユーザー名」)とパスワードが含まれます。また、ローカルマシンへの接続を許可されている呼び出し元に関する情報も含まれます。PAP のユーザー名とパスワードは、パスワードデータベース内の UNIX ユーザー名およびパスワードと同じものにすることも、違うものにすることもできます。
PAP データベースは、/etc/ppp/pap-secrets ファイルに実装されています。 認証が成功するためには、PPP リンクの両側にある各マシンで、/etc/ppp/pap-secrets ファイル内に適切に設定された PAP 資格が必要です。 呼び出し元 (認証される側) は、/etc/ppp/pap-secrets ファイルまたは旧バージョンの +ua ファイルの user 列および password 列で資格を提供します。サーバー (認証する側) は、UNIX の passwd データベースまたは PAM 機能により /etc/ppp/pap-secrets 内の情報と対照してこの資格の妥当性を検証します。
/etc/ppp/pap-secrets ファイルの構文は、次のとおりです。
表 36–5 /etc/ppp/pap-secrets の構文
呼び出し元 |
サーバー |
パスワード |
IP アドレス |
---|---|---|---|
myclient |
ISP-server |
mypassword |
* |
パラメータの意味は次のとおりです。
myclient |
呼び出し元の PAP ユーザー名。 この名前は、呼び出し元の UNIX ユーザー名と同じ場合がある。特に、ダイアルインサーバーが PAP の login オプションを使用する場合は、同じ場合が多い |
ISP-server |
リモートマシンの名前。ダイアルインサーバーである場合がしばしばある |
mypassword |
呼び出し元の PAP パスワード |
IP address |
呼び出し元に関連付けられている IP アドレス。 任意の IP アドレスを表すには、アスタリスク (*) を使用する |
PAP パスワードは、接続上をクリアテキストで (読み取り可能な ASCII 形式で) 送信されます。呼び出し元 (認証される側) では、PAP パスワードを次のどこかにクリアテキストで格納する必要があります。
/etc/ppp/pap-secrets ファイル内
別の外部ファイル内
pap-secrets @ 機能による名前付きパイプ内
pppd のオプションとして、コマンド行上または PPP 構成ファイル内のどちらか
+ua ファイルを介して
サーバー (認証する側) では、PAP パスワードは、次のどれかの方法で隠すことができます。
pap-secrets ファイル内で papcrypt を指定し、crypt(3C) によってハッシュ化されたパスワードを使用する
pppd に login オプションを指定し、パスワード列に二重引用符 ("") を入れることにより pap-secrets ファイルからパスワードを除外する。この場合、認証は UNIX の passwd データベースまたは pam(3PAM) メカニズムを利用して行われる。
PAP 認証は、次の順序で発生します。
呼び出し元 (認証される側) がリモートピア (認証する側) を呼び出し、接続ネゴシエーションの一環として PAP ユーザー名とパスワードを伝えます。
ピアは、/etc/ppp/pap-secrets ファイルで呼び出し元の識別情報を検証します。PAP の login オプションを使用する場合は、呼び出し元のユーザー名とパスワードの検証にパスワードデータベースが使用されます。
認証が成功すると、ピアは呼び出し元との接続ネゴシエーションを継続します。認証に失敗すると、接続は切られます。
(オプション) 呼び出し元がリモートピアからの応答を認証する場合は、リモートピアが自身の PAP 資格を呼び出し元に送信する必要があります。したがって、リモートピアは認証される側になり、呼び出し側は認証する側になります。
(オプション) 最初の呼び出し元が自身の /etc/ppp/pap-secrets を読み取り、リモートピアの識別情報を検証します。
最初の呼び出し元がリモートピアに認証資格を要求する場合は、手順 1 と手順 4 が並行して行われます。
ピアが認証されると、ネゴシエーションが継続されます。認証されない場合は、接続が切られます。
呼び出し元とピアのネゴシエーションは、接続の確立に成功するまで継続されます。
PAP 資格を認証するための login オプションを PPP 構成ファイルに追加できます。たとえば /etc/ppp/options で login を指定した場合、pppd は呼び出し元の PAP 資格が Solaris のパスワードデータベース内に存在するかどうかを検証します。次の表に、login オプションを追加した /etc/ppp/pap-secrets ファイルの形式を示します。
表 36–6 login オプションを追加した /etc/ppp/pap-secrets
呼び出し元 |
サーバー |
パスワード |
IP アドレス |
---|---|---|---|
joe |
* |
“ “ |
* |
sally |
* |
“ “ |
* |
sue |
* |
“ “ |
* |
パラメータの意味は次のとおりです。
呼び出し元 |
すべての承認された呼び出し元の名前 |
サーバー |
アスタリスクは、任意のサーバー名が有効であることを示す。 name オプションは PPP 構成ファイルでは必須ではない |
パスワード |
二重引用符は、任意のパスワードが有効であることを示す。 この列にパスワードがある場合、ピアからのパスワードは、PAP パスワードと UNIX passwd データベースの両方に一致しなければならない |
IP アドレス |
アスタリスクは、任意の IP アドレスが許可されることを示す。 |