5回のログインに失敗した後にユーザーをロックする方法は?
これを行う方法を理解するために、いくつかのディストリビューション/バージョンを収集しましたが、テストすることはできません。
RHEL4:追加して:
auth required /lib/security/$ISA/pam_tally.so no_magic_root
account required /lib/security/$ISA/pam_tally.so deny=5 reset no_magic_root
到着する:
/etc/pam.d/system-auth
/etc/pam.d/login
/etc/pam.d/sshd
RHEL4:???
SLES9:追加して:
auth required pam_tally.so no_magic_root
account required pam_tally.so deny=5 reset no_magic_root
到着する:
/etc/pam.d/login
/etc/pam.d/sshd
SLES11またはSLES10:追加して:
auth required pam_tally.so deny=5 onerr=fail per_user no_lock_time
到着する:
/etc/pam.d/common-auth
そして、以下を追加してください:
account required pam_tally.so
到着する:
/etc/pam.d/common-account
質問:これが5回のログイン試行に失敗した後にユーザーをロックする効率的で良い方法であることを確認できますか?それともどうすればいいですか?
添付:
/sbin/pam_tally --user USERNAME --reset
これを行う前に実行できる便利なタスクはありますか?これでrootユーザーをロックできますか? PAMの編集はサーバー上で自分自身をロックできるため、非常に機密性の高い作業です(たとえば、rootユーザー)。これを行うにはどのようなヒントがありますか?
答え1
Fail2banを見ることをお勧めします。特定の回数の試行失敗後にアカウントをロックし、一定時間後にロックを解除するように設定できます。
http://www.fail2ban.org/wiki/index.php/Downloads
本当に使用したい場合は、pam_tally
代わりに使用することをお勧めしますpam_tally2
。最新のPAMパッケージと一緒にインストールする必要があります。あなたは一つ作ることができます人 pam_tally2使用方法を確認してください。
始めるのに役立つ例は次のとおりです。始めに以下を追加してください。承認するパムファイル/etc/pam.d/password-auth
:
auth required pam_tally2.so file=/var/log/tallylog deny=3 even_deny_root unlock_time=1200
同じファイルで、次をアカウントセクションに追加します。
account required pam_tally2.so
上記のパラメータは次のとおりです。
file=/var/log/tallylog
- デフォルトのログファイルはログイン数を保存するために使用されます。deny=3
- 3回試行した後、アクセスが拒否され、ユーザーがロックされます。even_deny_root
- ポリシーはrootユーザーにも適用されます。unlock_time=1200
- 20分(60秒×20分=1200秒)
ルート変更をロックしたくない場合根でさえ拒否到着魔法の根。
ルートアカウントをロックする場合は、これは疑わしいです。ルートアカウントをロックすることはできますが、他のアカウントよりも短い期間に同様の操作を実行できます。
auth required pam_tally2.so file=/var/log/tallylog deny=3 even_deny_root unlock_time=1200 root_unlock_time=60
これにより、ルートアカウントは1分間だけロックされ、他のすべてのアカウントは1200秒間ロックされます。
サンプルログファイルは次のとおりです。
$ ssh me@somemachine
me@somemachine's password:
Permission denied, please try again.
me@somemachine's password:
Permission denied, please try again.
me@somemachine's password:
Account locked due to 4 failed logins
Account locked due to 5 failed logins
Last login: Mon Jun 4 21:21:06 2013 from someothermachine
pam_tally2コマンドを使用して、ロックされたアカウントを照会できます。
$ pam_tally2 --user=me
Login Failures Latest failure From
me 5 06/04/13 21:21:06 someothermachine
次のように制限を削除できます。
pam_tally2 --user=me --reset
Login Failures Latest failure From
me 5 06/04/13 21:21:06 someothermachine
以下のように、アカウントがpam_tally2に表示されます。
$ pam_tally2 --user=me
Login Failures Latest failure From
me 0
引用する
答え2
pam_tally2
最初は混乱しましたが、従ってみると理解になりましたman pam_tally2
。
EXAMPLES
Add the following line to /etc/pam.d/login to lock the account after 4 failed logins.
Root account will be locked as well. The accounts will be automatically unlocked after
20 minutes. The module does not have to be called in the account phase because the
login calls pam_setcred(3) correctly.
auth required pam_securetty.so
auth required pam_tally2.so deny=4 even_deny_root unlock_time=1200
auth required pam_env.so
auth required pam_unix.so
上記のフレーズは実際にこの行だけを追加したので少し混乱しますpam_tally2.so
。
したがって、これを編集して他のすべての行の下に/etc/pam.d/login
追加できます。auth
auth required pam_tally2.so deny=4 even_deny_root unlock_time=1200
あるいは、/etc/pam.d/system-auth
そこに追加することもできます。
サービスを再起動または再ロードする必要はありません。新しいローカルログイン時にすぐに有効になります。
pam_tally2
注:他のリモートサービスを申請するには、および/または他のsshd
リモートサービスに回線を追加する必要があります。/etc/pam.d/sshd
/etc/pam.d/password-auth
正常に動作していることを確認するには、有効なユーザーとしてログインしようとして失敗し、以下を実行します。pam_tally2
たとえば、jacob
runというユーザーの場合:
$ sudo pam_tally2 -u jacob
以下が出力されます。
Login Failures Latest failure From
jacob 1 01/01/01 11:00:00 tty1
ログイン試行が数回失敗した後にアカウントがロックされている場合は、手動でアカウントのロックを解除できます。
$ sudo pam_tally2 -u jacob --reset