系统安全加固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的内容清零,如下所示:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?