启用服务器登录失败处理与超时自动退出功能
以下是针对 Linux 服务器(以 Ubuntu 为例)的配置步骤:
一、启用登录失败处理功能
bash
# 1. 编辑 PAM 认证配置文件
sudo nano /etc/pam.d/common-auth
# 在文件开头添加以下行(限制连续失败3次后锁定10分钟)
auth required pam_tally2.so deny=3 unlock_time=600 even_deny_root audit silent
二、启用登录连接超时自动退出
bash
# 1. 全局配置(对所有用户生效)
sudo nano /etc/profile
# 在文件末尾添加(300秒=5分钟无操作自动退出)
export TMOUT=300
readonly TMOUT
# 2. 单独配置SSH超时
sudo nano /etc/ssh/sshd_config
# 修改/添加以下参数:
ClientAliveInterval 300 # 每5分钟检测一次连接
ClientAliveCountMax 0 # 超时立即断开
LoginGraceTime 60 # 登录过程超时60秒
三、应用配置
bash
# 1. 重启SSH服务
sudo systemctl restart sshd
# 2. 使全局超时设置生效
source /etc/profile
# 3. 安装账户锁定工具
sudo apt install pam-utils
# 4. 查看失败登录记录
sudo pam_tally2 --user=用户名
四、验证配置
bash
# 1. 测试登录失败处理
ssh 用户名@服务器
# 故意输错密码3次,第四次应显示"Account locked"
# 2. 测试超时自动退出
ssh 用户名@服务器
# 不进行任何操作,5分钟后应自动断开
五、高级安全加固(可选)
bash
# 1. 安装fail2ban增强防护
sudo apt install fail2ban
sudo systemctl enable fail2ban
# 2. 配置fail2ban监控SSH
sudo nano /etc/fail2ban/jail.local
添加以下内容:
ini
[sshd]
enabled = true
maxretry = 3
bantime = 1h
findtime = 10m
关键配置说明:
deny=3:允许3次失败尝试unlock_time=600:锁定10分钟(600秒)TMOUT=300:5分钟无操作自动退出ClientAliveInterval 300:每5分钟检测连接状态
这些配置符合等保要求,能有效防止暴力破解和闲置会话带来的安全风险。