web-dev-qa-db-ja.com

アクションが実行される前に、GDMロック画面の不正なパスワード試行の制限を設定するにはどうすればよいですか?

現在、Ubuntu GNOME 15.10をGNOME 3.18で実行していますが、以前はWindows 7を実行していましたが、Ubuntuはほとんどの点で優れていますが、まだ機能が欠けているか、少なくとも機能がありませんまだ見つかった...

特定の回数(私が定義)の不正なパスワードの試行後のロック/ログイン画面で、ユーザーが特定の時間(私が定義)の間パスワードを入力できないようにする方法はありますかまた、これをログに記録しますか?

そのため、たとえば、ユーザーが間違ったパスワードを3回入力した場合、さらに5分間再試行することは許可されず、これは私が定義したログにも記録されます。

また、オプションで、ユーザーがパスワードを入力しようとして2回間違えるようにすることもできれば便利です。次の5分以内に再試行すると5分間ロックアウトされますが、再び5分が経過すると、不正なパスワード試行のカウンターが0にリセットされます。

すでにそのような機能はありますか?それとも、スクリプトまたは何かで手動で実装する方法ですか?

2
user364819

いくつかの背景情報:

ユーザーのログインは PAM システム(Pluggable Authentication Module)によって処理され、この特定のケースではpam_tallyサブシステム( tally ユーザーアカウント)。

pam_tally自体は推奨されないため、2つの部分からなるpam_tally2を使用する必要があります。

  1. pam_tally2.soは認証自体を行うモジュールであり、PAMシステムに追加する必要があります
  2. 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分後。

2
Fabby