(完成本文实验,需要读者具备日志采集分析、ELK和Docker环境的操作经验)
1.部署准备
1.1 什么是Security Onion Solution
Security Onion是免费的开源Linux发行版,它主要用于威胁搜寻,企业安全监视和日志管理。它包括TheHive,Playbook和Sigma,Fleet和osquery,CyberChef,Elasticsearch,Logstash,Kibana,Suricata,Zeek(以前的bro-ids),Wazuh等安全工具。
Security Onion始于2008年(和OSSIM的起源几乎相同),最初基于Ubuntu Linux发行版,直到Security Onion的最后一个主要版本基于Ubuntu 16.04,因此它被称为Security Onion 16.04。
目前讲述的SOS 2.3.1安全洋葱解决方案是在CentOS Linux下基于容器开发的,这一新平台命名为Security Onion 2,截至目前的最新发行版是v 2.3.10。
以下是Security Onion 2与旧版系统(v 16.04)的差异:
- 从Ubuntu软件包移至Docker容器;
- 支持CentOS Linux 7;
- 将pcap收集工具从netsniff-ng更改为Google Stenographer(一种新型抓包方案,可快速将网络包保存到硬盘)
- 升级到Elastic Stack 7.x并支持Elastic Common Schema(ECS);
- 将内核模块PF_RING替换为AF_PACKET;
- Suricata完全取代了Snort。
- 删除了Sguil,Squit和capME(这几款软件还是相当实用的,取消有些可惜)
- 增加了存储节点现在称为搜索节点;
- 整合了新技术:TheHive,Strelka,支持Sigma规则,Grafana (主机的健康监控和报警),Fleet(用于osquery管理),Playbook(检测Playbook的工具),Onion Hunt,Security Onion Console 。
1.2 如何下载:
SOS 是一个值得尝试的系统,大家可以一边下载这个大型ISO文件,一边阅读下列相关知识点。
下载2.3.10 ISO image
(约6.84GB)
的网址
https://download.securityonion.net/file/securityonion/securityonion-2.3.10.iso
MD5: 55E10BAE3D90DF47CA4D5DCCDCB67A96
SHA1: 01361123F35CEACE077803BC8074594D57EE653A
SHA256: 772EA4EFFFF12F026593F5D1CC93DB538CC17B9BA5F60308F1976B6ED7032A8D
1.3 Security Onion的核心功能
Security Onion的最大特点就是虽然集成度很高、但用户安装界面却非常简单,另一个特点就是新,我相信很多开源软件大家都并不熟悉,由于它是基于Centos Linux开发所有安全组件都经过特殊设置,而且跟操作系统完美结合,所以即使是“门外汉”部署这套系统照样能够上手。
Security Onion提供的3个大核心功能:
1)全包捕获:全包捕获通过Stenographer来实现,它会捕获Security Onion传感器的所有网络流量。就像一部网络摄像机一样,捕获网络数据包。
2)网络和端点检测:分析网络流量或主机系统,并为检测到的事件和活动提供日志和警报数据。
3)强大的分析工具:SOS紧密集成了下列工具:
- 安全洋葱控制台(SOC)可以查看所有的NIDS和HIDS警报,从功能上看这和安全运营中心SOC差的还很远,不过很吸引眼球不是嘛。
- The Hive,可以发现很多事件报警和日志。
- Kibana:使我们能够通过“单一窗格”快速分析和分析由Security Onion生成的所有不同数据类型。
- CyberChef:允许您解码,解压缩和分析数据包。
- Playbook:用来创建检测剧本,这些剧本是完全独立的,描述了特定检测策略的不同方面。
1.4 开源版SOS的架构
SOS不但包含了Elastic Stack( 一套完整的大数据处理系统,从日志输入、转换到存储分析、可视化),而且还添加了下列内容(这四个组件在Security Onion中作为Docker容器运行):
- Curator:主要用来帮助管理Elasticsearch索引和快照。
- Domaintats:用途不详
- ElastAlert:用于查询ElasticSearch,并提供具有多种输出类型的警报机制,例如Slack,Email,JIRA,OpsGenie等。
- FreqServer :用于分析哪些被频繁访问的字段,并给出访问次数排名。
图中EVAL表示测试评估版
下面的实验中采用独立安装方式,此方式由运行服务器和传感器组件以及相关进程的单个虚拟机组成,最适合初学者入门。
1.5 关于Docker
由于 SO 2.3.1 采用的是 Docker CE v19.0.3容器,Docker CE (Docker Community Edition 社区版,与之对应的是EE,企业版)是免费的Docker产品的新名称,Docker CE包含了完整的Docker平台,非常适合开发人员和运维团队构建容器APP。大家在使用SO 2.3.1时会涉及到很多ELK和Docker的知识点。
2、系统安装
SOS适合VirtualBOX、和Vmware workstation下安装。
2.1 安装必要条件:
- CPU: 4 +Core
-
Disk:100+GB (由于系统中多个Docker应用的瓶颈会暴露在I/O上,强烈推荐使用SSD)
-
RAM:12+GB (12G是满足安装的最基本条件,要运行顺畅至少16GB内存,推荐32GB)
-
网络适配器:2 NIC
2.2 通过ISO在虚拟机中安装
下面虚拟机草原最新版VirtualBOX,新建虚拟机的参数配置满足上面的必要条件,下面开始正式安装,首先选择基于图形模式安装系统。
安装警告:这里输入管理员名称admin(有别于root用户),并输入密码。回车后开始安装基本系统, 十分钟后,一个基本系统安装完成。漫长的过程还在后面。
通过输入“Alt+Tab”组合键,可以在4种模式下转换:
-
主安装界面
-
Shell
-
LOG
-
Storage-lo
系统安装完成后,自动重启。
登录系统,登录用户输入刚才输入的名称,admin,以及密码。
点击Yes
选择”EVAL” (测试评估版)。
选择standard,标准安装。
选择自动更新
输入主机名称
在Updating packages环节,并不是从网络安装系统(网络收、发包几乎为0)。
配置静态IP地址
输入IP、子网掩码、网关、DNS等配置参数。
设置嗅探接口,以及嗅探的网段CIDR号
选择安装组件
该步安装配置时间大约1小时。
输入电子邮箱地址作为登录用户名。
设置IP地址来访问SO的WebUI接口
下面的过程会继续安装组件:
- 生成CA中心
- 从iso中拷贝 containers
- 应用idstools salt state
- 应用elasticsearch salt stae
- 应用pcap salt state
- 应用zeek Salt state
- 应用curator salt state
- 应用soc salt state
- 应用kibana salt state
- 应用 utility salt state
- 验证安装
安装完成之后可以登录系统啦
在浏览器地址栏输入IP,接着显示登录界面,输入刚才输入的电子邮件地址和口令来登录系统。
注:
系统安装配置完成后,虚拟机文件夹容量约为22GB。如果你的磁盘空间小于30GB,会导致配置过程意外终止,整个安装前功尽弃!
关键元素 SOC 报警控制台
安全洋葱控制台(SOC)使您可以访问我们的新警报界面。该界面为您概述了Security Onion生成的警报。图中,启用Acknowledged切换功能仅会显示先前已被分析师确认的警报。
启用该Escalated切换将仅显示以前由分析人员升级为TheHive的警报状态栏
看到下面界面,是不是感觉似曾相识?怎么应用?我们下回分解。
在命令行下,我们通过输入下面的命令来了解容器和镜像的情况
$sudo docker ps
$sudo docker images
下文将会为大家分析SOS中的Docker容器有何用途,尽情期待!
https://zhuanlan.zhihu.com/p/302350720