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.4 2002-05-18 07:12:55 horikawa Exp $
|
|
.\" 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
|
|
ガイドも参照してください。
|