Faillock : ログインの失敗回数を制限する2024/06/20 |
ログイン時の連続での認証失敗回数を制限するには以下のように設定します。 |
|
[1] | ユーザーは設定された値の回数を超えて連続で認証失敗するとアカウントがロックされます。 |
root@dlp:~#
vi /etc/pam.d/common-auth # 17行目 : 以下のように追記 # here are the per-package modules (the "Primary" block) auth required pam_faillock.so preauth auth [success=1 default=ignore] pam_unix.so nullok auth [default=die] pam_faillock.so authfail auth sufficient pam_faillock.so authsucc # here's the fallback if no module succeeds auth requisite pam_deny.so # prime the stack with a positive return value if there isn't one already; # this avoids us returning an error just because nothing sets a success code # since the modules above will each just jump around auth required pam_permit.so # and here are more per-package modules (the "Additional" block) auth optional pam_cap.so # end of pam-auth-update config
root@dlp:~#
vi /etc/pam.d/common-account # 17行目 : 以下のように追記
# here are the per-package modules (the "Primary" block)
account required pam_faillock.so
account [success=1 new_authtok_reqd=done default=ignore] pam_unix.so
# here's the fallback if no module succeeds
account requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
account required pam_permit.so
# and here are more per-package modules (the "Additional" block)
root@dlp:~#
vi /etc/security/faillock.conf # Faillock の詳細設定
# 有効にしたい設定をコメント解除して、必要に応じてパラメーター変更 # 10行目 : ユーザーが存在しない場合はユーザー名をロギングする # audit # 14行目 : 連続失敗回数やロック等の情報を表示しない # silent # 18行目 : 連続失敗回数やロック等の情報をロギングしない # no_log_info # 27行目 : 連続認証失敗の追跡はローカルユーザーのみに限定する # AD, Idm, LDAP 等のユーザーは無視される # local_users_only # 32行目 : ロックする連続失敗回数を設定 # [deny = 3] の場合 3回失敗するとロック # deny = 3 # 38行目 : 連続失敗回数のインターバル (秒) # 設定した時間内に連続で [deny = N] 回 認証失敗した場合にロックする # [fail_interval = 900] + [deny = 3] の場合、ある 15 分間に 2 回連続で認証失敗しても # 次の 3回目の認証失敗が 1 回目から 15 以上経過している場合はロックされない # fail_interval = 900 # 45行目 : ロックされた後、自動ロック解除される時間 (秒) # 自動ロック解除しない場合は [unlock_time = 0] # unlock_time = 600 # 49行目 : root アカウントも連続認証失敗時のロック対象とする # even_deny_root # 55行目 : [even_deny_root] を有効化した場合の root アカウントの自動ロック解除時間 (秒) # root_unlock_time = 900 # 62行目 : 有効化してグループ名を指定した場合、指定グループ所属ユーザーは # [even_deny_root] + [root_unlock_time = N] と同様の設定が適用される # admin_group = <admin_group_name> |
[2] | 記録された失敗回数の確認や、手動でのロック解除は以下の通りです。 |
# 引数なしで失敗回数の一覧を表示 root@dlp:~# faillock debian: When Type Source Valid 2024-06-19 02:06:45 RHOST 127.0.0.1 V 2024-06-19 02:06:50 RHOST 127.0.0.1 V 2024-06-19 02:06:55 RHOST 127.0.0.1 V root: When Type Source Valid debian: When Type Source Valid 2024-06-19 02:06:26 RHOST V 2024-06-19 02:06:31 RHOST V # ユーザーを指定して表示 root@dlp:~# faillock --user debian debian: When Type Source Valid 2024-06-19 02:06:45 RHOST 127.0.0.1 V 2024-06-19 02:06:50 RHOST 127.0.0.1 V 2024-06-19 02:06:55 RHOST 127.0.0.1 V # 設定回数を超えてロックされたユーザーの失敗回数をリセットする root@dlp:~# faillock --user debian --reset
|
Sponsored Link |