VPS被尝试登录应该如何检测和处理?
| 时间周期 |
尝试登录次数 |
来源IP数量 |
常见攻击地区 |
成功率 |
| 24小时 |
150-500次 |
50-200个 |
中国、美国、俄罗斯 |
|
VPS被尝试登录怎么办?从检测到防护的完整应对方案
当发现VPS出现异常登录尝试时,很多用户会感到困惑和担忧。面对这种情况,需要采取系统化的应对措施来保护服务器安全。
主要防护步骤概览
| 步骤 |
操作内容 |
预期效果 |
| 1 |
立即检查登录日志 |
确认攻击范围和频率 |
| 2 |
加强SSH安全配置 |
减少暴力破解风险 |
| 3 |
配置防火墙规则 |
限制可疑IP访问 |
| 4 |
设置入侵检测系统 |
实时监控登录行为 |
| 5 |
定期安全审计 |
预防未来攻击 |
详细操作流程
步骤1:检查登录日志
操作说明
首先需要查看系统的认证日志,确认登录尝试的具体情况,包括时间、来源IP和尝试使用的用户名。
使用工具提示
使用
journalctl 或直接查看
/var/log/auth.log 文件(Ubuntu/Debian)或
/var/log/secure(CentOS/RHEL)
# 查看最近登录尝试
sudo journalctl -u ssh -f
或者直接查看日志文件
sudo tail -f /var/log/auth.log | grep "Failed password"
统计失败登录次数最多的IP
sudo grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr
步骤2:加强SSH安全配置
操作说明
修改SSH配置,禁用root直接登录、更改默认端口、启用密钥认证等安全措施。
使用工具提示
编辑
/etc/ssh/sshdconfig 文件
# 备份原配置
sudo cp /etc/ssh/sshdconfig /etc/ssh/sshdconfig.backup
编辑SSH配置
sudo nano /etc/ssh/sshdconfig
重启SSH服务使配置生效
sudo systemctl restart ssh
配置文件修改内容示例:
Port 2222
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2
步骤3:配置防火墙规则
操作说明
使用iptables或ufw防火墙工具,限制特定IP的访问,只允许可信IP连接SSH。
使用工具提示
使用
ufw(Ubuntu)或
iptables 命令
# 使用ufw配置防火墙(Ubuntu)
sudo ufw enable
sudo ufw allow from 192.168.1.0/24 to any port 2222
sudo ufw deny 22/tcp
或者使用iptables
sudo iptables -A INPUT -p tcp --dport 2222 -s 192.168.1.0/24 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
步骤4:设置入侵检测系统
操作说明
安装配置Fail2ban工具,自动检测并封禁异常登录尝试的IP地址。
使用工具提示
使用包管理器安装Fail2ban
# Ubuntu/Debian
sudo apt update
sudo apt install fail2ban
配置Fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
Fail2ban配置示例:
[sshd]
enabled = true
port = ssh
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600
步骤5:定期安全审计
操作说明
建立定期安全检查机制,包括日志分析、系统更新和安全扫描。
使用工具提示
使用Lynis进行安全审计
# 安装Lynis
sudo apt install lynis
运行安全审计
sudo lynis audit system
常见问题与解决方案
| 问题 |
原因 |
解决方案 |
| 频繁收到登录失败通知 |
服务器暴露在公网,成为自动化攻击目标 |
更改SSH端口,设置Fail2ban,配置防火墙白名单 |
| 修改SSH配置后无法连接 |
配置错误或防火墙规则冲突 |
通过VNC控制台检查配置,逐步测试规则 |
| Fail2ban无法正常工作 |
日志路径错误或服务配置问题 |
检查日志文件权限,验证jail配置,查看fail2ban日志 |
| 合法用户被误封 |
Fail2ban阈值设置过低 |
调整maxretry参数,设置IP白名单,延长findtime |
| 攻击者使用不同IP轮番尝试 |
分布式暴力破解攻击 |
启用双因素认证,使用更复杂的密钥,考虑Cloudflare等防护服务 |
通过以上系统化的防护措施,可以有效应对VPS被尝试登录的安全威胁,建立多层次的安全防护体系。关键在于及时检测、快速响应和持续监控,确保服务器在面临攻击时能够保持稳定运行。
发表评论