来源:https://github.com/Security-Onion-Solutions/security-onion/wiki/Elastic-Architecture
一、介绍
下面是一些图,用于表示Elastic堆栈上的安全Onion的当前体系结构和部署场景。
二、高层架构图
三、核心组件
Logstash——解析和格式化日志。
Elastic——摄取和索引日志。
Kibana ——可视化摄取的日志数据。
四、辅助组件
Curator——通过定期维护管理索引。
ElastAlert——查询弹性搜索和警报用户定义的反常行为或其他有趣的信息位。
FreqServer ——检测DGAs并查找随机文件名、脚本名、进程名、服务名、工作站名、TLS证书主题和发行者主题等。
DomainStats—通过提供额外的上下文(如创建时间、年龄、声誉等)获得关于域的额外信息。
六、详细的数据流图
(点击放大)
七、部署类型
分布式
建议部署类型
由主服务器、一个或多个转发节点和一个或多个存储节点组成。
重分布
仅在不可能进行标准分布式部署的情况下才建议使用。
由主服务器和一个或多个重节点组成。
独立的
不推荐用于监视高吞吐量链接
由单个运行主服务器组件、传感器和Elastic堆栈组件组成。
八、节点类型
主服务器运行自己的Elasticsearch的本地副本,它管理部署的跨集群搜索配置。这包括对重节点和存储节点(如果适用)的配置,但不包括前向节点,因为它们不运行Elastic堆栈组件。
主服务器运行以下组件(生产模式w/最佳实践):
Elasticsearch
Logstash
Kibana
Curator
Elastalert
Redis(仅当配置为输出到存储节点时)
OSSEC
Sguild
2、转发节点Forward Node
当使用正向节点Forward Node时,不安装Elastic堆栈组件。Syslog-NG将所有日志转发到主服务器上,通过autossh隧道将它们存储在主服务器上的Elasticsearch中,或者转发到存储节点的Elasticsearch实例(如果主服务器已配置为使用存储节点)。从那里,可以通过跨集群搜索查询数据。
正向节点运行以下组件(生产模式w/最佳实践):
BRO
Snort / Suricata
Netsniff-NG
OSSEC
Syslog-NG
3、重节点
当使用重节点时,安全洋葱使用Elasticsearch的跨集群搜索实现分布式部署。当您运行Setup并选择Heavy Node时,它将创建一个本地Elasticsearch实例,然后配置主服务器查询该实例(类似于ELSA分布式部署)。这是通过构造一个autossh隧道从重节点到主服务器,配置反向端口转发,以允许主服务器连接到本地Elasticsearch实例,并更新主服务器上的_cluster/settings,以便查询本地Elasticsearch实例。
Elasticsearch
Logstash
Curator
BRO
Snort / Suricata
Netsniff-NG
OSSEC
Syslog-NG(将本地日志转发到日志存储区)
4、存储节点
存储节点扩展了主服务器的存储和处理功能。与重节点一样,存储节点被添加到主节点的集群搜索配置中,因此驻留在节点上的数据可以从主节点查询。
存储节点运行以下组件(生产模式w/最佳实践):
Elasticsearch
Logstash
Curator
OSSEC