Set Interval For Counting Failed Password Attempts
An XCCDF Rule
Description
Utilizingpam_faillock.so
, the fail_interval
directive configures the system
to lock out an account after a number of incorrect login attempts within a specified time
period.
Ensure that pam_faillock.so module entries in
/etc/pam.d/password-auth
and /etc/pam.d/system-auth
are
followed by the assignment
fail_interval=<interval-in-seconds>
where
interval-in-seconds
is
or greater.
In order to avoid errors when manually editing these files, it is
recommended to use the appropriate tools, such as authselect
or authconfig
,
depending on the OS version.
warning alert: Warning
If the system relies on
authselect
tool to manage PAM settings, the remediation
will also use authselect
tool. However, if any manual modification was made in
PAM files, the authselect
integrity check will fail and the remediation will be
aborted in order to preserve intentional changes. In this case, an informative message will
be shown in the remediation report.
If the system supports the /etc/security/faillock.conf
file, the pam_faillock
parameters should be defined in faillock.conf
file.Rationale
By limiting the number of failed logon attempts the risk of unauthorized system access via user password guessing, otherwise known as brute-forcing, is reduced. Limits are imposed by locking the account.
- ID
- xccdf_org.ssgproject.content_rule_accounts_passwords_pam_faillock_interval
- Severity
- Medium
- References
- Updated
Remediation Templates
A Shell Script
# Remediation is applicable only in certain platforms
if rpm --quiet -q pam; then
var_accounts_passwords_pam_faillock_fail_interval='<xccdf-1.2:sub xmlns:xccdf-1.2="http://checklists.nist.gov/xccdf/1.2" idref="xccdf_org.ssgproject.content_value_var_accounts_passwords_pam_faillock_fail_interval" use="legacy"/>'
if [ -f /usr/bin/authselect ]; then
An Ansible Snippet
- name: Gather the package facts
package_facts:
manager: auto
tags:
- CCE-27297-1
- DISA-STIG-RHEL-07-010320