WAF架构设想
由于目前项目中流量吞吐量过低引发的一些想法…
不知道装上SSL加速卡会不会顶一点…
框架 | 数据库 | 硬件 | 环境 |
---|---|---|---|
springboot,netflix | mysql,redis,mongodb | 126g+64cpu | kafka,nginx |
流量过程 |
---|
网络入口处通过ip route做负载均衡,将流量分发到四张物理网卡(假如速率一致,平均分) |
另外四张BYPASS网卡组成透明网桥,连接被防护站点。 |
流量进入通过通过iptables将流量转到NGINX。 |
WAF网关(SPRINGBOOT)通过docker部署,NGINX将流量负载到4个服务上。 |
WAF网关(WAF-RULES)检查流量是否有攻击行为。 |
KAFKA临时存储流量日志数据。 |
如果流量有攻击行为,DROP流量,记录日志。如果正常流量ACCEPT,记录日志。 |
ADMIN服务消费KAFKA数据,存储到MONGODB。 |
ADMIN通过REDIS下发WAF服务配置。 |
REDIS缓存些常用配置供WAF读取。 |
MYSQL存储其他配置(网络、路由…)。 |