«前の日記(2011-11-29 (Tue)) 最新 次の日記(2011-12-06 (Tue))» 編集

雑記帳


2011-11-30 (Wed) [長年日記]

[Linux] ログインに失敗したアカウントをロックする

セキュリティの要件として、ログインに複数回失敗したらアカウントをロックしたい、ということがあったので、設定してみた。対象となるディストリビューションは、CentOS 6.0。

実現するには、pamのpam_tally2.soモジュールを使う。 /etc/pam.d/password-authのauthタイプに、下記二行目のように追記する。

auth        required      pam_env.so
auth        required      pam_tally2.so deny=3
auth        sufficient    pam_unix.so try_first_pass nullok
auth        required      pam_deny.so

オプションのdeny=3は、3回失敗したらアカウントがロックされるという設定になる。一度ロックされると、管理者がロックを解除しない限りロックされたままになる。

ロック状態を自動的に解除するには、unlock_timeオプションを使えばよい。指定した時間が経過したらロックが解除される。その他のオプションについては、man pam_tally2を参照のこと。

ログインに失敗した回数は、/var/log/tallylogに記録される。これはバイナリなので、状態を確認するには、pam_tally2コマンドを使う。

# pam_tally2 -u pamtest
Login           Failures Latest failure     From
pamtest             5    11/30/11 19:43:45  xxx.xxx.xxx.xxx

回数をリセットするには、--resetオプションを使う。

# pam_tally2 -u pamtest --reset

この時、何故かリセットされる前の失敗回数が出力されるので注意。