首先要保证系统及时更新,启用自动安全补丁或定期执行apt/yum更新;禁用不必要服务,使用最小化安装;对关键服务做配置加固,例如对SSH:改端口、禁用root登录、使用密钥认证并关闭密码认证;配置账户策略(复杂密码/锁定策略)和sudo最小权限原则;启用SELinux或AppArmor来限制进程权限。
用公钥登录替换密码:编辑/etc/ssh/sshd_config,设置PermitRootLogin no、PasswordAuthentication no、Port 22xx,然后systemctl restart sshd;用ufw/iptables仅放行必要端口;关闭不需要的服务:systemctl disable --now 服务名。
在美国机房的VPS上应优先采用主机级防火墙(iptables、nftables或ufw)和云平台的安全组双重策略;只允许来自可信IP或端口的访问,默认拒绝入站;对出站流量做必要控制;结合TCP限速与连接追踪减少SYN洪泛;对管理端口仅允许内网或跳板机访问。
示例:只允许SSH来自管理IP:ufw allow from x.x.x.x to any port 22;启用状态追踪:iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT;对高风险端口加白名单。
先在VPS与上游做配合:使用云厂商或机房提供的DDoS防护(按需接入清洗)并结合CDN/负载均衡分散流量;在主机端启用连接速率限制(如iptables的limit模块或nginx限流);对应用层攻击使用WAF策略,屏蔽恶意请求模式;必要时启用geoip封禁高风险国家/地区流量。
结合tcp-syncookies、connlimit、rate-limit等内核级参数;配置nginx limit_req_zone与limit_conn_zone限制请求速率;监控带宽峰值并与机房联系开启清洗或扩容。
部署日志集中与告警系统:syslog/rsyslog或Filebeat送到ELK/Graylog,设置关键事件告警(SSH登录失败、权限变更);使用主机入侵检测(如OSSEC/Wazuh、AIDE)监控文件完整性和可疑行为;配合Fail2Ban自动封禁暴力破解源IP并通知管理员。
同时启用内核审计(auditd)记录敏感系统调用与提权操作,定期审查日志并建立事件响应流程(隔离、取证、恢复)。
定期快照与异地备份是第一要务,备份要加密并验证可恢复性;私钥应使用硬件安全模块(HSM)或至少使用加密文件系统、限制本地权限并启用密钥口令;配置管理(Ansible/Chef)确保可复现的安全基线并对变更做审计;启用多重认证(MFA)保护控制面板与管理账户。
另外对敏感配置(数据库密码、API密钥)采用机密管理工具(Vault等),并定期轮换密钥与证书,减少长期凭据暴露风险。