pam_tally2 で一定回数ログインに失敗したアカウントをロックする

/etc/pam.d/password-auth

authの冒頭部分に追記。(pam_env.soの次?)
下の例は合計失敗3回するとロックされる。(ロックされるまでの途中に一度でも認証成功したら失敗回数はクリアされる)

auth        required      pam_env.so
auth        required      pam_tally2.so deny=3

当然だけどsshの認証で利用する場合はsshd_configにUsePAM yes と記述しておくこと。

pam_tally2 option

  • deny=n

失敗回数がこの数値に達するとロックする

  • unlock_time=n

最後に失敗してからこの設定秒数経過するとアンロックする。設定しない場合、pam_tally2 コマンドで手動で(あるいはcronなどで定期的に)アンロックするまで、ユーザはロックされたまま

  • even_deny_root

rootもロック対象に含めるかどうか。defaultは含まない

  • root_unlock_time=n

rootのunlock_timeを個別に設定する場合はここを指定

log

/var/log/tallylog
# binaryなので直接見るのではなくて、pam_tally2 コマンドが内部的に参照しているログ

確認

# pam_tally2 [-u username]

失敗回数をリセット

# pam_tally2 -u user --reset