web-dev-qa-db-ja.com

RADIUSサーバーが利用できない場合のローカルアカウントへのSSHフォールバック

RADIUS認証用に/etc/pam.d/sshdを編集しました。私はこの行を追加しました:

auth required pam_radius_auth.so

また、私は次の行をコメントアウトしました:

@include common-auth

これで、Radiusサーバーが稼働している場合はRadiusを使用したSSH認証で問題ありませんが、RADIUSサーバーがダウンしている場合は、ローカルLinuxアカウントを使用するためのフォールバックはありません。

RADIUSサーバーに障害が発生したときにローカルLinuxアカウントにフォールバックできるようにファイルを編集する場所に関する提案はありますか?

5
John

Common-auth(pam_unix.soを含む)を有効にし、「required」を「sufficient」に変更します。

auth    sufficient      pam_radius_auth.so
@include common-auth

(2016/05/03 JST)「フォールバック」の設定

auth    [success=done default=bad authinfo_unavail=bad ignore=ignore]  pam_radius_auth.so localifdown
@include common-auth

次のそれぞれの場合のpam_radius_authの結果:

                       | correct password (in Radius)         | wrong (or UNIX) password
-----------------------+--------------------------------------+-------------------------
Radius Server is alive | PAM_SUCCESS                          | PAM_AUTHINFO_UNAVAIL
-----------------------+--------------------------------------+-------------------------
Radius Server is dead  |             PAM_IGNORE (with localifdown option)
-----------------------+--------------------------------------+-------------------------

結果として:

PAM_SUCCESS          => done (Login success)
PAM_AUTHINFO_UNAVAIL => bad (Login failure)
PAM_IGNORE           => ignore (continue to "common-auth")

注意事項があります。 pam_radius_auth.confのタイムアウト値が小さすぎると、Radiusサーバーから「アクセス拒否」を受信する前に「Radiusサーバーが停止しています」と判断されます。

4
Taichi Yanagiya