系统安全加固4——输入密码错误5次锁定账户900秒

  本章节设置在登录界面或者通过ssh远程连接到系统时,输入错误密码5次,锁定15分钟。此配置可以很好的用来防范系统密码被暴力破解。

本文章更新于:2023年3月27日。

0 环境操作系统

CPU		:3A5000
操作系统	:Loongnix Server 8.4 (衍生自 CentOS 8.4

1 authselect简介

Red Hat Enterprise Linux 8(对于Loongnix Server 8.4来说也成立)相对于之前的操作系统版本引入了许多变化。 在服务器强化方面,最显着的变化之一是引入了authselect,它取代了旧的authconfig工具。authselect程序通过创建配置文件并允许管理员选择活动配置文件来管理 PAM 和 NSS。相比之下,authconfig会直接修改系统文件,包括 Samba 和 OpenLDAP 配置文件。

1.1 使用authselect

1.1.1 查看当前系统使用的配置

[loongson@bogon perl-generators]$ authselect current 
档案档案 ID: sssd
启用的功能:
- with-fingerprint
- with-silent-lastlog

如果没有做过改动,你的这块儿显示的档案ID:sssd及其默认开启的功能。

1.1.2 给当前所使用配置新加faillock功能

添加其他功能和这个操作类似。要满足这篇文章的主题,就需要用到faillock模块,你就需要在你所使用的配置中开启faillock功能,如下所示:

[loongson@bogon perl-generators]$ sudo authselect enable-feature with-faillock 
[sudo] loongson 的密码:
Make sure that SSSD service is configured and enabled. See SSSD documentation for more information.

[loongson@bogon perl-generators]$ 

1.1.3 应用修改后的配置

配置修改之后,需要经过应用才会生效。

[loongson@bogon perl-generators]$ sudo authselect apply-changes 
已成功应用更改。
[loongson@bogon perl-generators]$ 

然后你就可以在/etc/pam.d/system-auth/etc/pam.d/password-auth中查看到faillock的配置,如下:

[loongson@bogon pam.d]$ grep -nr faillock system-auth password-auth 
system-auth:6:auth        required                                     pam_faillock.so preauth silent
system-auth:13:auth        required                                     pam_faillock.so authfail
system-auth:16:account     required                                     pam_faillock.so
password-auth:6:auth        required                                     pam_faillock.so preauth silent
password-auth:12:auth        required                                     pam_faillock.so authfail
password-auth:15:account     required                                     pam_faillock.so
[loongson@bogon pam.d]$ 

到了这里,配置只完成了一半,还需要进行下一步。

2 修改/etc/security/faillock.conf文件

密码错误锁定的具体配置位于/etc/security/faillock.conf文件,它和上面所说内容结合之后,就是完整的密码错误解决方案。

/etc/security/faillock.conf文件中的每一项都有详细的解释,很容易理解。在此不再详细赘述。下面给出一个示例:

# 用于保存用户密码错误记录
dir = /var/run/faillock
# 输错密码5次之后,才会锁定账户。默认值是3
deny = 5
# 在连续的900秒(15分钟)之内输错密码5次,账户才会锁定。默认值就是900秒。
fail_interval = 900
# 用户锁定时间900秒,默认是锁定600秒
unlock_time = 900
# 锁定规则对root用户也生效
even_deny_root
# root用户的锁定时间
root_unlock_time = 900

3 查看和修改错误记录——faillock

系统中提供了一个工具faillock用于查看和修改错误记录文件/var/run/faillock的内容。
faillock内容与输入错误密码的情况
当超过锁定时间之后,重新输入正确密码登录主机,faillock的内容清零,如下所示:
在这里插入图片描述

 

posted @ 2021-08-24 12:27  streamlet_hy  阅读(800)  评论(0编辑  收藏  举报  来源