1. 评估与隔离(第一时间应做的事)
- 先不要随意重启或关闭主机,记录当前状态并拍照/截图控制台。
- 如果可以,使用云/托管面板在控制台快照(snapshot)并断开公网接口;或在网络层通过云提供商暂时关闭公网访问,保留后台快照供取证。
2. 取证与日志保存(保留证据很关键)
- 复制/导出/备份 /var/log/*、web 日志、数据库日志到安全外部存储:scp root@server:/var/log/* /safebox/logs/。
- 导出当前进程、开放端口、用户登录信息:ps aux > /safebox/ps.txt; ss -tunlp > /safebox/ports.txt; last -a > /safebox/lastlog.txt。
3. 临时限制并恢复可用服务(以最小改动恢复业务)
- 对外服务采用临时流量限制或启用云端 WAF(如 Cloudflare)并将流量引导至缓存或维护页面。
- 本机上启用防火墙规则阻断可疑IP:ufw deny from 1.2.3.4; 或 iptables -A INPUT -s 1.2.3.4 -j DROP。确保允许管理IP。
4. 清理与修补(系统层面)
- 更新系统与软件:Debian/Ubuntu: apt update && apt upgrade -y;CentOS: yum update -y。
- 检查并替换被篡改文件,使用文件校验:apt install debsums -y; debsums -s 或 rpm -Va 找出被改动文件。
5. SSH 与账户安全加固(命令级落地)
- 编辑 /etc/ssh/sshd_config:PermitRootLogin no; PasswordAuthentication no; AllowUsers adminuser;然后 systemctl restart sshd。
- 移除不必要用户,锁定账户:usermod -L baduser; chage -E0 baduser;检查 /home 中异常 SSH 公钥并删除。
6. 防火墙、入侵阻挡与暴力登录防护
- 安装并配置 fail2ban:apt install fail2ban; 在 /etc/fail2ban/jail.local 添加 sshd 区块并重启 fail2ban。
- 使用 ufw 或 iptables 限制端口,推荐只开放必要端口并绑定管理端口到白名单。
7. Web 与数据库加固(常见被攻面)
- 为 Apache/Nginx 启用 ModSecurity(WAF)并加载 OWASP 核心规则集;安装示例:apt install libapache2-mod-security2。
- 数据库关闭远程连接或只允许本机/指定IP访问,MySQL 修改 bind-address=127.0.0.1 并重启 mysqld。
8. 文件权限与运行环境隔离
- 将网站目录权限设为最小:chown -R www-data:www-data /var/www/site; find /var/www/site -type d -exec chmod 750 {} \;; find /var/www/site -type f -exec chmod 640 {} \;.
- 使用 AppArmor 或 SELinux 强化进程边界,开启并加载自定义策略:setenforce 1(SELinux),或启用 AppArmor profile。
9. 恶意代码扫描与根套件检测
- 安装并运行 rkhunter、chkrootkit、Maldet、ClamAV:apt install rkhunter chkrootkit clamav; freshclam; clamscan -r /var/www。
- 若发现可疑脚本,先移动到隔离目录并记录:mkdir /quarantine; mv /var/www/site/suspicious.php /quarantine/。
10. 备份、恢复与演练
- 使用 rsync/duplicity 定期备份到异地:rsync -az --delete /var/www/ backup@offsite:/bak/;并每月演练一次恢复流程。
- 保留至少3套备份(本地、异地、长期冷备),并校验备份完整性(sha256sum 对比)。
11. 持续监控与日志集中(部署 IDS/集中日志)
- 部署集中日志(rsyslog/ELK/Graylog)并设置告警规则;例如 Filebeat 推送日志到 ELK。
- 部署入侵检测系统 Suricata/Snort,结合自动化脚本封禁触发规则的 IP。
12. 合规、上报与长期策略(结案与防复发)
- 向托管商和柬埔寨当地法规要求的有关部门报备并提供取证包;同时向客户告知事件影响与恢复计划。
- 制定长期安全策略:定期补丁、最小权限、2FA、密钥管理和定期渗透测试。
13. 问:被入侵后是否一定要重装系统?
- 答:最佳实践是当无法完全确认系统完整性或发现 rootkit/后门时进行重装;若证据充分且改动可回滚,短期可清理并补丁,但应在隔离环境严格验证后再上线。
14. 问:如何快速恢复业务而又不留后门?
- 答:使用最近已验证的离线备份恢复服务、重置所有密钥与密码、重新部署干净环境(镜像或容器),并在开放公网前增加WAF和监控。
15. 问:柬埔寨本地供应商能提供哪些协助?
- 答:托管商可提供快照/网络隔离、上报流量日志、封锁流量源及协助联系当地执法;在购买服务时应确认其事件响应能力并保留联系通道。
来源:安全加固教程应对柬埔寨服务器被黑客攻击的防护策略