.\" Hey Emacs! This file is -*- nroff -*- source. .\" %Id: pam_fail_delay.3,v 1.2 1997/02/15 18:47:46 morgan Exp morgan % .\" Copyright (c) Andrew G. Morgan 1997 .\" $FreeBSD$ .TH PAM_FAIL_DELAY 3 "1997 Jan 12" "PAM 0.56" "Programmers' Manual" .SH 名称 pam_fail_delay \- エラー時に遅延を要求 .SH 書式 .B #include .br or, .br .B #include .sp .BI "int pam_fail_delay(pam_handle_t " "*pamh" ", unsigned int " "usec" ");" .sp 2 .SH 解説 .br 申請ユーザのアクセスをスキームが拒否する場合にかかる時間を悪用し、 認証スキームにアタックできることがあります。タイムアウトが .I 短い 場合でも、ディクショナリを .I 乱用 してアタックすることが可能なことがあります。アタッカが 自動化されたプロセスを使用し、考えられるパスワードをすべて試してシステムに アクセスしようとするのです。それぞれのエラーにかかる時間を計測できる場合 (エラーの本質を示す)、アタッカは認証プロセスに関する重要な情報を 入手できます。後者のアタックでは、重要な情報の .I 保護チャンネル を構成する手続き型遅延が利用されます。 .br このようなアタックを最低限に抑えるには、エラーとなった認証プロセスで ランダムな遅延を導入することが有効です。 .B PAM には、ランダムな遅延を導入する機能があります。遅延は、 .BR pam_authenticate "(3)" 関数と .BR pam_chauthtok "(3)" 関数の エラー時に発生します。すべての認証モジュールが呼び出された .I 後 で、制御がサービスアプリケーションに戻る .I 前 に発生します。 .br .BR pam_fail_delay "(3)" 関数を使用すると、エラー遅延に必要な最低時間 ( .I usec 引数) を指定できます。この関数は、ユーザによるサービスの再申請を 遅らせることが重要となるサービスアプリケーションや認証モジュールから呼び 出せます。遅延の長さは必要なときに算出され、 .I 最大 要求値からランダムに分散されます。 最大要求値の上下 25% までに分散されるのです。 .br .BR pam_authenticate "(3)" や .BR pam_chauthtok "(3)" から戻る場合、問題の有無に関係なく、新しい要求遅延は デフォルト値のゼロにリセットされます。 .SH 例 .br .B ログイン アプリケーションで約 3 秒間のエラー遅延が必要となる場合、 このアプリケーションには以下のようなコードが含まれます。 .sp .br .B " pam_fail_delay(pamh, 3000000 /* micro-seconds */ );" .br .B " pam_authenticate(pamh, 0);" .sp .br モジュールが遅延を要求しない場合、エラー遅延は 2.25 秒と 3.75 秒の 間になります。 .br 認証プロセスで呼び出されるモジュールでも、以下のような遅延が 要求されることがあります。 .sp .br .RB " (モジュール #1) " "pam_fail_delay(pamh, 2000000);" .sp .br .RB " (モジュール #2) " "pam_fail_delay(pamh, 4000000);" .sp .br この場合、実際のエラー遅延の算出に使用されるのは最大要求値です。 ここでは 3 秒から 5 秒です。 .SH 戻り値 .BR pam_fail_delay "(3)" で問題が発生しなかった場合は、 .BR PAM_SUC-CESS が戻されます。その他すべての戻り値は、重大なエラーとみなしてください。 .SH エラー .BR pam_strerror "(3)" でテキストに変換できます。 .SH 準拠 X/Open グループが、PAM RFC. 1996/1/10 に組み込むことを検討中です。 .SH バグ .sp 2 見つかっていません。 .SH 関連項目 .BR pam_start "(3), " .BR pam_get_item "(3), " .BR pam_strerror "(3)" .BR システム管理者 、 .BR モジュール開発者 、 .BR アプリケーション開発者 用の .BR Linux-PAM ガイドも参照してください。