1.1 登录确认:使用控制面板或控制台先进入 VPS,记录操作系统(比如 Ubuntu 22.04 / Debian 11 / CentOS 7/8)、内核版本与机器 IP。
1.2 检查 CN2 网络:确认带宽与防护套餐(提供商控制面板通常有 anti-DDoS 或流量清洗选项),记录控制面板登录地址并开启 2FA。
1.3 备份快照:在对系统做重大改动前,先在主机商面板做一次快照或完整备份,以便回滚。
2.1 立即更新:Debian/Ubuntu:sudo apt update && sudo apt upgrade -y;CentOS:sudo yum update -y / sudo dnf update -y。
2.2 开启自动安全更新:Ubuntu/Debian:安装 unattended-upgrades 并在 /etc/apt/apt.conf.d/50unattended-upgrades 配置仅自动安装 security 包;示例命令:sudo apt install unattended-upgrades -y;sudo dpkg-reconfigure --priority=low unattended-upgrades。
2.3 内核更新策略:如果主机商提供内核更新(例如 KVM 虚拟机),定期在安全维护窗口重启并安装最新内核,必要时启用自动重启提示。
3.1 使用密钥登录:在本地生成密钥对(ssh-keygen -t ed25519 -C "your@host"),把公钥追加到服务器 ~/.ssh/authorized_keys,并设置权限 chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys。
3.2 修改 sshd_config:编辑 /etc/ssh/sshd_config,作出如下实用修改并重启 sshd(sudo systemctl restart sshd):PermitRootLogin no、PasswordAuthentication no(在确认密钥有效后)、ChallengeResponseAuthentication no、UseDNS no、AllowUsers youruser。
3.3 更改默认端口与限制登录:通过 Port 变更(例如改为 2222)并结合 firewalld/ufw 规则限制仅允许特定 IP(若 IP 固定);同时建议使用 LoginGraceTime 30 和 MaxAuthTries 3。
4.1 推荐使用 ufw(Ubuntu)或 firewalld(CentOS):示例 ufw:sudo ufw default deny incoming; sudo ufw default allow outgoing; sudo ufw allow 2222/tcp; sudo ufw enable。
4.2 iptables/ nftables 规则:为防止端口扫描和反射攻击,配置 stateful 规则,只允许已建立和相关的连接,以及限制每 IP 的新连接速率(例如使用 iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW -m recent --set;-m recent --update --seconds 60 --hitcount 20 -j DROP)。
4.3 CN2 特有建议:若提供商支持 BGP/清洗,请在攻击时启用清洗;将控制面板的安全组与 VPS 内防火墙联动,避免仅依赖主机商防护。
5.1 安装并配置 fail2ban(Ubuntu/Debian):sudo apt install fail2ban -y,编辑 /etc/fail2ban/jail.local,创建 sshd 的 jail,设置 bantime、findtime、maxretry(例如 bantime = 1d, findtime = 10m, maxretry = 5)。
5.2 文件完整性检测:安装 AIDE:sudo apt install aide -y,初始化 sudo aideinit 并将生成的数据库放回 /var/lib/aide/aide.db.new,添加每日 cron 脚本检查变更并报警。
5.3 审计日志:安装 auditd 并配置关键文件访问审计(例如监控 /etc/shadow、/etc/ssh/sshd_config 的修改),规则写入 /etc/audit/rules.d/ 并重启 auditd。
6.1 使用最新 TLS:对 Nginx/Apache 强制 TLSv1.2+,禁用 TLS 1.0/1.1,配置安全套件(例如 ECDHE+AESGCM),测试可用工具:sslscan / Qualys SSL Labs。
6.2 自动证书:使用 certbot 自动化 Let’s Encrypt 证书申请和 renew(sudo apt install certbot -y;sudo certbot --nginx 或 --apache),并创建 systemd timer / cron 检查续期。
6.3 限流与防爬虫:在 Nginx 中用 limit_req_zone/limit_conn 限制单 IP 并启用 fail2ban 对恶意请求规则,使用 modsecurity 或 Nginx WAF 筛拦常见攻击向量。
7.1 删除不必要的服务:列出 active 服务(systemctl list-units --type=service),停用并 mask 不需要的服务(sudo systemctl disable --now package.service)。
7.2 最小权限原则:为应用创建独立用户并限制其家目录与 shell(/sbin/nologin);使用 chown/chmod 将应用目录权限限制为最小。
7.3 关键文件防护:对 /etc/passwd /etc/shadow /etc/ssh/sshd_config 确保权限为 644/600/600,必要时使用 chattr +i 锁定文件防止被篡改(慎用,需了解解锁 chattr -i)。
8.1 定期备份:建立文件与数据库备份策略,示例数据库:mysqldump 定期脚本导出并 rsync/rsnapshot 到异地存储或对象存储(阿里 OSS / S3);建议保留多版本并验证恢复。
8.2 快照与自动化恢复:结合主机商快照做每日或重要改动前快照,测试恢复流程确保快照可用;编写恢复 SOP(谁执行、步骤、回滚点)。
8.3 灾备演练:每季度做一次恢复演练,计时恢复所需时间,完善文档并修正问题。
问:如何快速判断我的香港 CN2 VPS 是否被植入后门或挖矿程序?
答:先观察系统负载(top、htop)、网络上行流量(iftop、nethogs),检查异常进程、定时任务(crontab -l、/etc/cron.*)、未授权用户与 SSH 公钥、查看 /var/log/auth.log 和 /var/log/syslog 的异常登录历史,使用 rkhunter/chkrootkit、AIDE 的数据库比对来发现可疑文件变动;如发现需隔离主机并用备份恢复或重装系统。
问:在 CN2 网络环境下,如何应对大流量 DDoS 攻击?
答:优先在主机商控制面板启用流量清洗/anti-DDoS 服务,配置 ACL 在接入层拦截异常流量;同时在 VPS 端通过 iptables/nftables 做速率限制、连接追踪和 SYN Cookie,并与主机商沟通黑洞/清洗策略。使用 CDN 或云端 WAF(Cloudflare、阿里云 CDN)可将流量缓解能力下沉到边缘。
问:有哪些针对香港 CN2 VPS 的日常维护建议可以降低被攻破风险?
答:保持系统与应用及时更新、使用密钥登录并禁用密码、启用 fail2ban、定期审计日志与权限、执行备份与恢复演练、启用主机商提供的网络防护与控制面板 2FA、部署监控告警(CPU/内存/端口/异常登录)并对重要文件做完整性检查,这些措施能显著降低风险。