現在、Ubuntu GNOME 15.10をGNOME 3.18で実行していますが、以前はWindows 7を実行していましたが、Ubuntuはほとんどの点で優れていますが、まだ機能が欠けているか、少なくとも機能がありませんまだ見つかった...
特定の回数(私が定義)の不正なパスワードの試行後のロック/ログイン画面で、ユーザーが特定の時間(私が定義)の間パスワードを入力できないようにする方法はありますかまた、これをログに記録しますか?
そのため、たとえば、ユーザーが間違ったパスワードを3回入力した場合、さらに5分間再試行することは許可されず、これは私が定義したログにも記録されます。
また、オプションで、ユーザーがパスワードを入力しようとして2回間違えるようにすることもできれば便利です。次の5分以内に再試行すると5分間ロックアウトされますが、再び5分が経過すると、不正なパスワード試行のカウンターが0にリセットされます。
すでにそのような機能はありますか?それとも、スクリプトまたは何かで手動で実装する方法ですか?
ユーザーのログインは PAM
システム(Pluggable Authentication Module)によって処理され、この特定のケースではpam_tally
サブシステム( tally ユーザーアカウント)。
pam_tally
自体は推奨されないため、2つの部分からなるpam_tally2
を使用する必要があります。
pam_tally2.so
は認証自体を行うモジュールであり、PAM
システムに追加する必要がありますpam_tally2
は、個々のカウントを表示、変更、クリアする必要があるスタンドアロンプログラムです。興味のあるpam_tally2
のパラメーターは次のとおりです。
deny=n
Deny access if tally for this user exceeds n.
lock_time=n
Always deny for n seconds after failed attempt.
unlock_time=n
Allow access after n seconds after failed attempt. If this
option is used the user will be locked out for the specified
amount of time after he exceeded his maximum allowed attempts.
Otherwise the account is locked until the lock is removed by a
manual intervention of the system administrator.
magic_root
If the module is invoked by a user with uid=0 the counter is
not incremented.
even_deny_root
Root account can become unavailable.
/etc/pam.d/login
に次の行を追加して、ログインに3回失敗するとアカウントをロックし(root
アカウントも)、50分後に自動的にロックを解除します。
auth required pam_securetty.so
auth required pam_tally2.so deny=3 even_deny_root lock_time=60 unlock_time=3000
auth required pam_env.so
auth required pam_unix.so
auth required pam_nologin.so
account required pam_unix.so
password required pam_unix.so
session required pam_limits.so
session required pam_unix.so
session required pam_lastlog.so nowtmp
session optional pam_mail.so standard
上記の構成を追加した後、テストしてログアウトしますおよび偽のパスワードで3回ログインしてみてください:60秒後に最初に待機し、 2回目の試行と3回目の試行の50分後。