1.
1.1 登录与凭证:确认主机控制台、SSH密钥、VPS面板(如HyperVM/Hetzner/腾讯云国际)账号密码并使用MFA;将私钥权限设为600:chmod 600 ~/.ssh/id_rsa。
1.2 网络与IP:记录公网IP、弹性IP、内网IP及带宽计费方式;查询路由:traceroute -n IP,确认是否走海外链路或通过国内运营商回程。
2.
2.1 部署监控:安装Prometheus node_exporter或使用Zabbix监控主机:systemctl enable --now node_exporter。
2.2 流量与异常告警:配置流量阈值(如入站>80%带宽或突增>200Mbps),设置告警渠道(邮件/钉钉/Slack)并测试告警触发。
3.
3.1 系统与软件更新:Ubuntu/Debian执行apt update && apt -y upgrade;CentOS执行yum -y update。先在测试环境验证再批量更新。
3.2 磁盘与IO检查:df -h查看磁盘使用,iostat -x 1 3定位高IO;必要时扩容分区或清理/var/log和缓存。
4.
4.1 网络层防护:优先使用提供商高防产品(BGP清洗/流量清洗);启用DDoS防护包并配置清洗阈值与白名单。
4.2 主机层防护:安装并配置iptables/nftables或CSF,封禁可疑IP段:iptables -A INPUT -s 1.2.3.0/24 -j DROP。使用fail2ban保护SSH和HTTP,配置/etc/fail2ban/jail.local。
5.
5.1 识别与初步判断:通过ifstat、vnstat或tcpdump捕获流量:tcpdump -n -i eth0 tcp port 80 -c 200 -w capture.pcap。查看是否为DDoS(大量单包/同源多连接)或业务层攻击(高慢速POST)。
5.2 迅速隔离与缓解:1) 临时在防火墙上限制不必要端口;2) 对来源IP进行速率限制:iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 100 -j DROP;3) 启用提供商的清洗或将流量切换到WAF/CDN。
6.
6.1 收集日志:收集访问日志(/var/log/nginx/access.log)、系统日志(/var/log/messages或journalctl -u sshd)及tcpdump抓包文件,并保存到安全的备份服务器。
6.2 分析方法:使用awk/grep统计IP访问频次:awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -n 50。对异常IP做whois并在防火墙中临时封禁。
7.
7.1 备份策略:制定3-2-1策略:重要数据每日增量、周全量,至少保留3个副本并异地存放(建议S3或对象存储)。MySQL执行mysqldump或使用XtraBackup进行热备份。
7.2 恢复步骤:1) 验证备份文件完整性(sha256sum);2) 在隔离恢复环境中先做恢复演练;3) 数据库恢复示例:mysql -u root -p < backup.sql。恢复后检查数据一致性与应用连通性。
8.
8.1 网络参数调整:调整sysctl以抗高并发连接,编辑/etc/sysctl.conf并应用sysctl -p,示例参数:net.core.somaxconn=65535、net.ipv4.tcp_tw_reuse=1、net.ipv4.ip_forward=1。
8.2 应用层优化:调优Nginx worker_processes与worker_connections,启用keepalive与缓存(proxy_cache、fastcgi_cache),降低后端压力。
9.
9.1 联系方式准备:准备工单模版,包括攻击时间、流量峰值、抓包文件、受影响IP及业务影响,附上必要授权证明。
9.2 紧急工单步骤:在面临无法本地缓解的DDoS时立即提交紧急工单并电话催促,请求启用BGP清洗或临时切换线路,并记录工单号与处理人员。
10.
10.1 演练频率:每季度进行一次应急演练(包含流量突增模拟、备份恢复、切换到备机),记录问题与改进项。
10.2 文档要求:维护运行手册(含联系人、命令清单、备份位置、恢复步骤),并在wiki/Git托管,确保值班人员可快速查阅。
11.
答:第一时间评估攻击类型与影响范围:通过ifstat/tcpdump确认流量特征;立即启用提供商清洗或切换到CDN/WAF;在主机层用iptables临时限制可疑源并减载非必要服务,同时提交紧急工单给机房并保存抓包与日志以便后续分析。
12.
答:先在隔离环境恢复备份并验证数据完整性与业务逻辑,再将恢复后的数据库做主从同步或切换VIP到新实例;如果是局部损坏,优先用binlog做增量恢复;恢复过程中保持只读并通知前端限流,完成验证后逐步切换回生产。
13.
答:常用命令包括:1) 抓包:tcpdump -n -i eth0 -s 0 -w /tmp/atk.pcap;2) 临时封IP:iptables -A INPUT -s 1.2.3.4 -j DROP;3) 限速:iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 200 -j DROP;4) 查看连接:ss -tanp | grep :80;5) 关闭非必要服务 systemctl stop app.service。配合提供商清洗与切换是最有效策略。
