psdpan
发布于

【雷池】WAF各个服务作用及端口通信说明

服务服务功能服务对外接口服务工作日志其他
流量转发服务

tengine

根据反向代理、透明代理界面站点配置,进行流量转发reload 接口,重新读取配置运行,docker exec -it tengine nginx -s reload
  • 硬件反向代理、硬件透明代理,获取最后 100 条日志 journalctl -t tengine_error -n 100 --no-pager
  • 其他的,logs/nginx/error.log
流量检测服务detector-srv检测流量中攻击,给出拦截放行等结果,界面上自定义规则、策略管理会反应到这个服务中
  • 8000 端口,接收遵循 t1k 协议的流量进行检测,比如 SDK 跟这个端口通信,nginx 的 safeline.conf 中 upstream 使用这个端口
  • 8001 端口,获取流量检测服务状态,可以通过 curl :8001/stat 获取状态
logs/detector/snserver.log
透明桥服务

ripley-xx

  • 提取经过的 http 流量
  • 跟工作组绑定,一个工作组对应一个 ripley-xx 容器,xx 是界面上工作组的名字;每次创建/删除工作组就对应创建/删除透明桥容器
domain socket,通常位于 resources/ripley-xx/ripley_server.sock,可以通过 curl --unix-socket resources/ripley-xx/ripley_server.sock http://test/api/v1/stats 获取状态 docker logs --tail 100 ripley-xx服务会独占一些核、内存,具体根据界面工作配置而定
流量镜像服务ripley-xx/ripley
  • 提取经过的 http 流量
  • 硬件流量镜像跟工作组绑定,一个工作组对应一个 ripley-xx 容器,xx 是界面上工作组的名字;每次创建/删除工作组就对应创建/删除透明桥容器
  • 软件流量镜像只有一个 ripley 容器
domain socket,通常位于 resources/ripley-xx/ripley_server.sock,可以通过 curl --unix-socket resources/ripley-xx/ripley_server.sock http://test/api/v1/stats 获取状态docker logs --tail 100 ripley-xx硬件流量镜像下,服务会独占一些核、内存,具体根据界面工作配置而定
集中管理服务mgt-api管理界面的服务
  • 软件 9443,硬件 443,提供界面访问
  • 获取容器内部运行服务 docker exec -it mgt-api supervisorctl status,重启部分服务 docker exec -it mgt-api supervisorctl restart xx
  • logs/management/ 下
  • DEBUG 接口 /api/SkyviewDebugAPI?password=fgcQi0E8IAbD8K2Xjzlj3ahmgjJt1prz 可以获取一些状态,可以通过 Utils -> Download Collect System Info 下载 mgt-api 所在节点的一些日志,包括它自身的和其他服务的
数据存储服务mgt-postgres 持久化存储,比如界面配置、一些日志 5432 端口,通常通过 docker exec -it mgt-postgres psql -U safeline 进行数据库访问,线上环境不应该执行写语句docker logs --tail 100 mgt-postgres
数据缓存服务

mgt-redis

缓存数据6379 端口,通常通过 docker exec -it mgt-redis redis-cli -a `minion db -p resources/minion/storage/config.db get /minion/v1/services/postgres_password` 进入 shell,线上环境不应该执行写语句docker logs --tail 100 mgt-redis
日志存储服务

mgt-es

存储日志,比如攻击检测日志、访问日志、BOT 日志等9200 端口docker logs --tail 100 mgt-es
日志分析服务

mario

从产品界面功能来说,日志处理服务涉及以下功能:

  • 日志存储
    • 攻击日志
    • BOT验证日志
    • 访问日志
  • 日志转发
    • 攻击检测日志 Syslog转发
    • 访问日志Syslog转发
    • 流量学习日志样本转发
  • 运行插件
  • 访问频率限制规则黑名单生成
  • 日志统计(首页攻击、请求次数统计等)
3335 端口,通过 curl :3335/api/v1/statelogs/mario/mario.log
日志汇聚服务 mario-aggregator
  • 接收日志采集服务发送过来的日志,将请求、响应合并成一条日志,转发给日志分析服务
  • 在复杂的集群下,可以通过 etcd 订阅日志分析服务的地址,实现伸缩、高可用
3334 端口logs/mario_aggregator/mario.log
日志采集服务 mario-collector
  • 接收流量检测服务发送过来的日志,转发给日志汇聚服务
  • 在复杂的集群下,可以通过 etcd 订阅日志汇聚服务的地址,实现伸缩、高可用
在复杂的集群下,可以通过 etcd 订阅日志汇聚服务的地址,实现伸缩、高可用logs/mario_collector/mario.log
流量学习服务

traffic-learning

接收日志分析服务发送过来的日志进行流量学习,数据学习结果、接收管理服务配置修改调整行为docker logs --tail 100 traffic-learning
基础平台服务

minion

  • 拉起各个服务
  • 负责网络配置,比如网口 IP、工作组 iptables 配置等
  • 在单机、集群下跟管理节点通信,进行配置更新
  • 上报心跳,可以在界面看到各个节点情况
  • journalctl -u minion -n 100 --no-pager
  • logs/minion/minion.log
浏览 (491)
点赞 (5)
收藏
打赏
评论