空鵼
空鵼
发布于 2025-03-31 / 5 阅读
1
0

雷池技术架构

查看雷池的服务架构图(示意图较老,参考为主)。最上面虚线框住的是数据流,也就是访问业务服务器的流量数据的流动情况。中间框起来的部分是雷池的各个服务。

framework-7a90852ddd634fa47c0eb593d28ed6a1.png

各个容器和服务说明:

名称

定义

详情

safeline-mgt

管理容器(管理端)

接收管理后台行为,向其他服务或容器推送消息

safeline-detector

检测容器

执行检测的容器,从 Tengine 进入的流量会转发到该节点检测

safeline-tengine

网关

转发网关,有简单的过滤功能,基于nginx实现

safeline-pg

关系型数据库

存储攻击日志、保护站点、黑白名单配置的数据库

safeline-luigi

数据统计服务

统计qps等信息

safeline-fvm

规则处理容器

将规则传递到检测容器

对于后台管理人员,可以直接通信的节点为管理服务 safeline-mgt,该节点负责:

  • 向 Tengine 网关推送自定义配置并利用 NGINX 命令进行 reload 热更新

  • 自定义检测规则(黑白名单等)并向检测引擎 safeline-detector 推送

  • 直接读取 postgres 数据库,向后台管理人员返回日志、统计、当前配置等

各个服务的运行日志

docker ps  # 查看各容器状态
docker logs -f <comtainer_name>  # 输出容器 std 日志

# 一些服务运行中的持久化也会存储在磁盘上,目录结构如下

root@user:/path/to/safeline-ce/logs# tree
.
├── detector
│   └── snserver.log    #检测容器的输出日志
├── management
│   ├── nginx.log     # Tengine 容器中 NGINX 日志输出
│   └── webserver.log    # safeline-mgt-api 容器的日志输出
└── nginx
    ├── error.log  # NGINX 的错误日志
    └── tcd.log  # tcd 是 Tengine 用于与 safeline-mgt-api 通信的网络代理进程,该文件存储了两者的通信日志


评论