リンク上の各マシンについて require_authentication キーワードを追加して、PAP セキュリティと CHAP セキュリティのどちらを使用するかを指定します。
will_do_authentication キーワードを使って、リンク上で PAP または CHAP セキュリティを使用する各リモートホストについて、リモートホストの /etc/asppp.cf ファイルにエントリを追加します。
これらのキーワードは明示的に指定することも、パスのデフォルト値を使用することもできます。各キーワードによって指定される内容については、表 11-3 を参照してください。また、例 11-4 は、/etc/asppp.cf ファイルの例を示します。
PAP と CHAP の両方が存在する場合は、認証システムはまず CHAP を試みる。失敗するとリンクは終了する。認証システムは PAP を試みない。
PAP と CHAP の認証キーワードのデフォルトはオフである。キーワードの構文は次のとおり
require_authentication off | pap[chap] | chap[pap] will_do_authentication off | pap[chap] | chap[pap] |
pap_id と pap_password キーワードまたは pap_peer_id と pap_peer_password キーワードに対する値を、関連のパスに指定しなかった場合は、それぞれの値は NULL 文字列に設定されます。
該当するパスについて、chap_name、 chap_secret、 chap_peer_secret、 chap_peer_name キーワードと値を指定する必要があります。
キーワード |
値の定義 |
---|---|
対等システムがそれ自身を認証することを指定する。pap か chap のどちらかがある場合は、対等システムは認証に参加するか、または接続を終了する必要がある。デフォルト値は off |
|
現在のパスについて認証される必要のある対等システムの名前を指定する。peername 文字列の長さは 1 オクテット3 以上。長さがゼロの文字列を指示するには、このキーワードを省略する |
|
対等システムのパスワードを 1 オクテット以上の長さで指定する。長さがゼロの文字列を指示するには、このキーワードを省略する |
|
対等システムが送る応答を生成するためにチャレンジ値とともに使用されるシークレットを指定する。形式は 1 オクテット以上の長さで、少なくとも 16 オクテット以上が望ましい |
|
パケットを伝送する対等システムの識別情報を指定する。名前には、NULL と、CR/LF で終わる文字列は使用できない。名前は、対等システムからの応答パケットの一部として受信されるもので、1 オクテット以上の長さからなる |
|
システムが、指定した認証プロセスに認証された対等システムとして参加する意志があるかどうかを指定する。pap と chap の両方が存在する場合は、システムはどちらの認証プロトコルにも参加する意志を持つことになる。デフォルト値は off |
|
応答パケットに入れて認証システムに送るシステムの名前を指定する。長さがゼロの文字列を指示するには、このキーワードを省略する |
|
応答パケットに入れて認証システムに送るシステムのパスワードを指定する。長さがゼロの文字列を指示するには、このキーワードを省略する |
|
認証システムに送る応答を生成するために、受信したチャレンジ値とともに使用するシークレットを入れる。形式は 1 オクテット以上の長さで、少なくとも 16 オクテット以上が望ましい |
|
システムの識別情報を指定する。名前は、NULL または CR/LF で終わるものであってはならない。この名前は、応答パケットに入れて認証システムに送られる |
1. キーワード として使用できるのは off|pap[chap] | chap[pap]
2. peername は、認証システムから見てポイントツーポイントリンクの反対側にあるシステムの名前です。これは、 4. に示す構文の文字列です。
3. オクテットはバイトの厳密な定義です。
4. string はホワイトスペースを含まない単一トークンです。特殊文字を含めるには、標準 ANSI の ¥ エスケープ文字を使用できます。空白文字を入れるには、¥s を使用します。文字列の先頭にポンド記号がある場合は、コメントとして解釈されないようにするために、エスケープ (¥#) する必要があります。NULL (¥0) は文字列を切り捨てます。
例 11-4 は、PAP と CHAP の認証を必要とするサーバー mojave 用の asppp.cf ファイルを示しています。対等システムは、nomada (PAP) と nomadb (CHAP) です。
ifconfig ipdptp0 plumb mojave nomada up ifconfig ipdptp1 plumb mojave nomanb up path peer_system_name tamerlane require_authentication pap #tells nomada that mojave #requires pap authentication pap_peer_id desert pap_peer_password oasis path peer_system_name lawrence require_authentication chap #tells nomadb that mojave #requires chap authentication chap_peer_name another¥sdesert chap_peer_secret secret¥soasis¥swith¥007bell
例 11-5 に示された mojave のリモートホスト nomada は、PAP と CHAP の両方を認証しようしています。
ifconfig ipdptp0 plumb tamerlane mojave up path interface ipdptp0 peer_system_name mojave will_do_authentication chap pap #nomada tells mojave #that it will do chap and #pap authentication pap_id desert pap_password oasis chap_name desert¥srain chap_secret %$#@7&*(+|`P'12 |
例 11-6 に示された mojave のリモートホスト nomadb は、CHAP を認証しようしています。
ifconfig ipdptp0 plumb nomadb mojave private up path interface ipdptp0 peer_system_name mojave will_do_authentication chap #nomadb tells mojave that it #will do chap authentication chap_name another¥sdesert chap_secret secret¥soasis¥swith¥007bell |
一般に、CHAP と PAP の両方が構成ファイルに組み込まれていて、サーバーが認証を要求し、リモートホストが認証を行おうとするのが、理想的な形です。しかし、逆にリモートホストの方が認証を要求するようにすることも可能です。CHAP シークレットは安全な手段で送付する必要があります。通常、CHAP シークレットは人間が直接先方に渡すという方法をとっています。