1. 明确业务类型与流量特征:静态网站、游戏、API或P2P服务等,分别记录峰值带宽、并发连接数、连接速率(conn/s)。
1. 明确攻击场景:常见SYN/UDP/HTTP-FLOOD/应用层暴力行为、目标带宽阈值、复杂慢速攻击等。
1. 指定监控与日志需求:需要实时流量监控、连接追踪、应用访问日志、WAF日志、IDS/IPS告警及存储时长(如90天/365天)。
2. 核查清洗能力(Gbps/Tbps)与并发连接保护能力(Mpps或conn/s)。
2. 确认清洗架构:是否采用本地清洗+转发、Anycast+就近清洗、还是海外清洗中心;优先选择香港本地或邻近地区就近清洗以降低延迟。
2. 查看SLA、历史攻击应对案例、客户支持时效(工单/电话)与是否提供24/7 SOC(Security Operations Center)。
3. 必要监控项:带宽(in/out)、包速率(pps)、活跃连接数、请求RTT、错误率(5xx/4xx)、接口丢包、TCP半开连接数。
3. 常用工具与栈:Prometheus+node_exporter、SNMP监控、Netflow/sFlow(softflowd、nfdump)、Grafana展示。
3. 实操:在测试服务器安装node_exporter并在Prometheus中加入targets,示例命令:
sudo useradd -rs /bin/false node_exporter
wget https://.../node_exporter.tar.gz && tar zxvf && sudo cp node_exporter /usr/local/bin/
4. 确定日志类型:系统日志(syslog)、Web访问日志(Nginx/Apache)、WAF/IDS日志、边缘设备日志(防火墙、负载均衡)。
4. 部署采集器:推荐Filebeat/Fluentd/rsyslog转发到ELK(Elasticsearch+Logstash+Kibana)或Graylog。示例Filebeat输出到ES配置:
filebeat.inputs: - type: log paths: - /var/log/nginx/*.log
output.elasticsearch: hosts: [\"es-cluster:9200\"]
5. 时间同步:在所有节点启用NTP或chrony,确保日志时间一致,命令示例:sudo apt install chrony && sudo systemctl enable --now chrony。
5. TLS传输:Filebeat->Elasticsearch或Logstash间启用TLS,生成证书并在filebeat.yml配置ssl.certificate_authorities。
5. 存储策略:划分hot/warm/cold分层,设置ILM(Index Lifecycle Management)策略,示例:hot保留7天,warm保留30天,cold保留90天或按合规要求调整。
6. 告警项与阈值示例:带宽>80%峰值持续3分钟、pps>阈值、短时间内5xx请求激增>200%等。
6. 在Prometheus中配置alertmanager规则示例:
- alert: HighBandwidth expr: sum(rate(if_out_bytes[1m])) > 800000000 for: 2m labels: severity: critical annotations: summary: \"出口带宽异常\"。
6. 自动化响应:将告警接入Webhook触发脚本(临时封IP、开启WAF策略、下发ACL),并发送工单到运维/安全团队。
7.1 问题:如何在不违法的前提下进行攻击演练和监测验证?
7.2 回答:先在隔离测试环境或与供应商协商授权的压力测试窗口进行。可使用hping3/siege/httperf在测试机对目标发起负载测试并观察指标变化;记录Prometheus/Grafana与ELK中对应metric/log的时间线,验证告警是否触发与日志是否完整。
8.1 问题:签约前我应该向供应商索要哪些监控/日志相关证明?
8.2 回答:索要实时监控面板演示账号、日志访问与历史保存策略说明、清洗流程架构图、曾处理过的大流量攻击白皮书和SLA条款(含响应时长与恢复时间),并要求演示告警触发到响应的完整流程。
9.1 问题:如何在预算有限的情况下平衡高防能力与监控/日志深度?
9.2 回答:优先保证基础清洗能力(带宽与pps)和关键日志(WAF/访问/系统)留存,其余可以采用采样或摘要存储(例如只保留完整日志7天,之后转为索引摘要或仅保存异常日志);使用云端托管ELK或Graylog服务以降低运维成本,必要时采用按需扩容策略。