1.1 登录前检查:在控制面板确认VPS的实时IP、控制台与快照功能是否可用,确保有控制台访问以防SSH被锁定。
1.2 立即备份:使用面板创建快照或执行完整磁盘快照。如使用Linux,可运行:tar -czpf /root/vps-backup-$(date +%F).tgz /etc /home /var/www,并把备份下载到本地或另一个云存储。
2.1 更新系统包:Debian/Ubuntu:apt update && apt upgrade -y;CentOS:yum update -y。
2.2 移除不必要服务:列出服务 systemctl list-unit-files --type=service,禁用不需要的如ftp、telnet、cups:systemctl disable --now service-name。
3.1 创建非root管理用户:adduser adminuser && usermod -aG sudo adminuser,并用它登录测试。
3.2 配置密钥登录并禁止密码登录:在本地生成密钥 ssh-keygen,将公钥追加到服务器 ~/.ssh/authorized_keys,编辑 /etc/ssh/sshd_config 设置:PermitRootLogin no、PasswordAuthentication no、更改端口 Port 选项(例如改为2222),保存后重启SSH systemctl restart sshd。
3.3 限制登录来源:若控制台固定IP,可在sshd_config加入 AllowUsers adminuser@你的IP 或使用防火墙只开放SSH来自可信IP。
4.1 使用UFW或iptables:Debian系可启用UFW ufw enable,允许必要端口 ufw allow 2222/tcp、HTTP/HTTPS。
4.2 限制出站端口与协议:若VPS用于动态拨号,防止滥发邮件或滥用P2P,封锁常被滥用的端口如25、465(除非确需):iptables -A OUTPUT -p tcp --dport 25 -j REJECT,并对不明流量设置速率限制 --limit 25/minute。
4.3 NAT与转发控制:检查 /etc/sysctl.conf 中的 ip_forward,如果非必要设为0,禁止未经授权的转发:net.ipv4.ip_forward=0。
5.1 使用独立用户运行服务:为Web、数据库创建独立系统用户,禁止登陆Shell,设置/etc/passwd shell为/usr/sbin/nologin。
5.2 限制Web目录权限:例如 chown -R www-data:www-data /var/www && chmod -R 750 /var/www,防止脚本上传后被执行。
5.3 使用容器或chroot:对高风险服务考虑运行于Docker或chroot环境,降低全局被入侵后的影响范围。
6.1 启用集中日志:安装rsyslog并将日志定期推送至远程日志服务器,防止本地日志被清理。
6.2 配置logrotate:确保/var/log不会被填满,编辑 /etc/logrotate.d/ 设置压缩与保留周期。
6.3 部署监控告警:使用Prometheus+Grafana或简单的监控脚本监测CPU、网络流量、连接数并设置阈值告警。
7.1 安装并配置Fail2ban:apt install fail2ban,创建本地配置 /etc/fail2ban/jail.local,为sshd设置 bantime、maxretry、findtime,重启服务并观察封禁记录。
7.2 使用iptables限速连接:防止端口扫描或并发拨号导致滥用,例如:iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j REJECT。
7.3 定期审查被封IP:通过 fail2ban-client status 查看并白名单可信IP。
答:第一步立即断网或在控制面板停止网络/创建防火墙规则,保留快照并下载日志;随后在隔离环境下分析 /var/log/mail*、/var/log/auth.log、netstat/netflow,查找异常进程并记下可疑二进制与启动项,最后结合备份恢复到安全状态并更换所有管理密码与密钥。
答:限制出站端口与连接速率、关闭不必要的转发(net.ipv4.ip_forward=0)、使用防火墙规则阻断常见代理/隧道端口(如1080、3128、8080)并监控异常高的出站连接频率,必要时使用应用层网关或深度包检测。
答:每天检查登录失败记录、监控告警、磁盘与日志使用情况;每周更新系统与软件、检查未授权用户与计划任务(cron);每月审计防火墙规则与fail2ban封禁记录并测试灾备恢复流程。