1. Linux服务器登录安全加固实战
在Linux服务器运维中,防止暴力破解是基础但至关重要的安全措施。最近我在加固一批生产服务器时,针对SSH登录防护实施了基于PAM的账户锁定机制,效果显著。下面分享具体实现方案和踩坑经验。
PAM(Pluggable Authentication Modules)是Linux系统的认证框架,通过pam_tally2模块可以实现登录失败锁定功能。与简单修改SSH配置相比,这种方案具有以下优势:
- 作用于系统认证层,防护范围更广(包括本地登录、su切换等)
- 支持精细化的锁定策略配置
- 可针对root账户单独设置策略
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心配置解析
2.1 PAM模块配置
修改/etc/pam.d/common-auth文件,在适当位置添加以下配置行(建议放在其他auth规则之后):
bash复制auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=300
参数详解:
auth required:声明这是一个认证模块,required表示必须验证成功才能继续pam_tally2.so:PAM的登录尝试计数模块deny=3:允许的最大失败尝试次数unlock_time=300:普通账户锁定时间(秒)even_deny_root:策略同样适用于root账户root_unlock_time=300:root账户锁定时间(秒)
注意:不同Linux发行版的PAM配置文件路径可能略有差异,CentOS/RHEL系通常在
/etc/pam.d/system-auth
2.2 配套配置建议
为使策略完全生效,建议同步配置:
- 修改
/etc/pam.d/sshd添加相同规则 - 在
/etc/ssh/sshd_config中设置:bash复制UsePAM yes
3. 实施步骤详解
3.1 基础环境准备
- 确认PAM支持情况:
bash复制ls /lib/security/pam_tally2.so # 或/lib64/se
