jpman project specific RCS keyword (jpman %Id) is obsolete, after manual entries are stored in freefall CVS repository. This old Id is useless and more worse it confuses users and bug reporters. So, this old Id is removed. Submitted by:jpman project <man-jp@jp.FreeBSD.org>
126 lines
3.1 KiB
Groff
126 lines
3.1 KiB
Groff
.\" 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 <morgan@parc.power.net>
|
|
.\" $FreeBSD$
|
|
.TH PAM_FAIL_DELAY 3 "1997 Jan 12" "PAM 0.56" "Programmers' Manual"
|
|
.SH 名称
|
|
|
|
pam_fail_delay \- エラー時に遅延を要求
|
|
|
|
.SH 書式
|
|
.B #include <security/pam_appl.h>
|
|
.br
|
|
or,
|
|
.br
|
|
.B #include <security/pam_modules.h>
|
|
.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
|
|
ガイドも参照してください。
|