贝博恩创新科技网

security onion 教程

Security Onion 综合教程:从入门到实战

目录

  1. 什么是 Security Onion?
  2. 核心功能与架构
  3. 安装与部署
  4. 首次登录与初始配置
  5. 核心模块详解
    • 1. IDS/IPS (Snort / Suricata)
    • 2. 网络发现 (Wazuh / OSSEC)
    • 3. 日志管理 (Elasticsearch / Logstash / Kibana - ELK Stack)
    • 4. 网络流量分析 (Zeek / Bro)
    • 5. 漏洞扫描 (Nexpose / OpenVAS)
  6. 实战:如何发现一个攻击
  7. 高级功能
  8. 最佳实践与维护
  9. 总结与学习资源

什么是 Security Onion?

Security Onion 是一款免费、开源的企业级安全运维和安全事件管理平台,它基于 Ubuntu Server 构建,集成了多种顶尖的开源安全工具,通过一个统一的 Web 界面进行管理和展示。

security onion 教程-图1
(图片来源网络,侵删)

您可以把它想象成一个“安全工具全家桶”,它将原本需要单独安装、配置和关联的多个复杂工具整合在了一起,极大地降低了安全监控的门槛。

主要特点:

  • 免费开源:无需支付任何许可费用。
  • 一体化平台:集成了 IDS、日志管理、网络分析、主机监控等多种功能。
  • 易于部署:提供 ISO 镜像,可快速安装为物理机、虚拟机或云主机。
  • Web 界面友好:提供了 Security Onion Console (SOC)Wazuh Dashboard 等多个直观的管理界面。
  • 社区活跃:拥有庞大的用户和开发者社区,文档和教程丰富。

核心功能与架构

Security Onion 的架构通常可以分为两种部署模式:

a. All-in-One (AIO) 模式

将所有组件(传感器、管理端、存储)安装在同一台服务器上,适合初学者、实验室环境或资源有限的中小型企业。

security onion 教程-图2
(图片来源网络,侵删)

b. Distributed (分布式) 模式

这是企业级部署的标准模式,将功能分散到不同的服务器上,以实现高性能和高可用性。

  • Sensor (传感器): 部署在网络关键位置(如互联网出口、核心交换机),负责捕获网络流量,并运行轻量级的安全分析工具(如 Suricata),传感器将原始数据和告警发送到管理端。
  • Management Server (管理服务器): 平台的大脑,负责接收来自传感器的数据,存储到 Elasticsearch,并运行重型的分析任务(如 Snort 规则更新、Wazuh 代理管理)。
  • Storage Node (存储节点): 可选节点,专门用于存储海量日志数据,将 Elasticsearch 的负载从管理服务器上分离出来,提高查询性能和可靠性。
  • Query Node (查询节点): 可选节点,专门用于处理来自 Kibana 的查询请求,将分析负载从管理服务器上分离出来。

安装与部署

这里我们以最常用的 Virtual Machine (VM) 为例进行讲解。

步骤 1: 下载镜像

访问 Security Onion 官方下载页面,选择适合你的版本(推荐最新的稳定版),下载 .ova.iso 文件。

  • .ova 文件:用于 VMware/VirtualBox,预配置好虚拟机,最简单。
  • .iso 文件:用于创建新的虚拟机或物理机安装,灵活性最高。

步骤 2: 创建虚拟机

以 VMware 为例:

security onion 教程-图3
(图片来源网络,侵删)
  1. 打开 VMware Workstation/Player。
  2. 选择 "创建新的虚拟机"。
  3. 选择 "典型(推荐)","稍后安装操作系统"。
  4. 客户机操作系统选择 "Linux",版本选择 "Ubuntu Linux (64-bit)"。
  5. 分配硬件资源:
    • 内存: 至少 4GB,推荐 8GB 或更多。
    • 处理器: 至少 2 vCPU,推荐 4 vCPU
    • 硬盘: 至少 100GB,推荐 200GB+
    • 网络: 选择 NAT 模式(方便与宿主机通信)或 桥接模式(使其成为网络中的一台独立主机)。
  6. 使用下载的 .iso 文件作为虚拟机的安装光盘。

步骤 3: 安装过程

  1. 启动虚拟机,从 ISO 引导。
  2. 选择 "Install Security Onion"。
  3. 选择语言和键盘布局。
  4. 网络配置: 这是最关键的一步!
    • 为管理服务器和传感器配置正确的 IP 地址、子网掩码、网关和 DNS。
    • 如果是分布式部署,需要规划好管理服务器和传感器的网络。
  5. 设置密码: 为 root 用户和 securityonion 用户设置强密码。
  6. 磁盘分区: 选择 "Guided - use entire disk" 并确认。
  7. 安装: 等待安装完成,根据提示重启系统。

首次登录与初始配置

重启后,您可以通过 Web 浏览器访问 Security Onion 控制台。

步骤 1: 登录 Web 控制台

  • 地址: https://<你的管理服务器IP或域名>:4443
  • 用户名: securityonion
  • 密码: 安装时设置的密码

浏览器可能会提示证书不受信任,这是正常的,因为是自签名证书,点击 "高级" 并继续访问。

步骤 2: 初始配置向导

首次登录后,系统会引导你完成初始配置。

  1. Setup Type:

    • Evaluation: 评估模式,默认启用所有功能,适合学习和测试。
    • Grid: 分布式部署模式。
    • Standalone: 独立模式(AIO)。
    • 对于新手,选择 Evaluation 即可。
  2. Configure Hosts: 如果是分布式部署,这里需要添加和管理传感器,在 Evaluation 模式下,会自动将本机配置为传感器。

  3. Configure Sensors: 选择要启用的传感器类型。

    • Network: 网络传感器,捕获和分析网络流量。
    • Host: 主机传感器,用于监控安装了 Wazuh Agent 的服务器。
    • Log: 日志传感器,用于接收 Syslog 等日志。
    • 建议初学者勾选 NetworkHost
  4. Configure IDS Rules: 选择 IDS 引擎(Suricata 或 Snort)和规则集来源。ETOpenSnort 是免费的,Emerging Threats Pro (ETPro) 是付费的但质量更高,初学者可以选择免费的组合。

  5. Finish: 点击完成,系统将开始下载和配置规则、更新系统,这个过程可能需要一些时间,请耐心等待。


核心模块详解

1. IDS/IPS (Snort / Suricata)

  • 作用: 检测网络中的已知攻击模式(特征码)和异常行为。
  • 数据来源: 网络流量。
  • 如何查看:
    1. 登录 SOC 控制台。
    2. 在左侧菜单找到 HIDS (Host-based Intrusion Detection) 或 NIDS (Network-based Intrusion Detection)。
    3. 这里会列出所有告警,你可以按时间、严重性、源/目的 IP 等进行筛选。
    4. 点击一个告警,可以看到详细的规则信息、数据包捕获和会话信息。

2. 网络发现 (Wazuh / OSSEC)

  • 作用: 监控主机安全,包括文件完整性监控、进程监控、Windows 事件日志、Linux 审计日志等。
  • 数据来源: 安装在受监控主机上的 Wazuh Agent。
  • 如何查看:
    1. SOC 控制台,点击顶部导航栏的 Wazuh Dashboard
    2. 这里会展示主机的健康状态、告警统计、规则触发情况等。
    3. 你可以查看具体的告警,例如某台服务器的 sshd 配置文件被修改了。

3. 日志管理 (Elasticsearch / Logstash / Kibana - ELK Stack)

  • 作用: 集中收集、存储、索引和搜索所有来源的日志(系统日志、应用日志、传感器告警等)。
  • 数据来源: 几乎所有设备。
  • 如何查看:
    1. SOC 控制台,点击顶部导航栏的 Kibana
    2. 首次使用需要创建 "Index Pattern"(索引模式),logs-*alert-*
    3. 进入 "Discover" (发现) 页面,你可以在这里自由地搜索和过滤日志,这是进行深度事件调查的核心工具。

4. 网络流量分析 (Zeek / Bro)

  • 作用: 对原始网络流量进行深度解析,生成结构化的日志,揭示应用层的行为和连接信息。
  • 数据来源: 网络流量。
  • 关键日志:
    • conn.log: 所有网络连接的记录(源/目的IP、端口、协议、流量字节数)。
    • http.log: 所有 HTTP 请求的详细记录。
    • dns.log: 所有 DNS 查询的记录。
    • files.log: 捕获的文件传输记录。
  • 如何查看:
    1. SOC 控制台,点击顶部导航栏的 Kibana
    2. 在 "Discover" 中,选择 logs-* 索引模式,然后搜索 source:connsource:http 等字段。

5. 漏洞扫描 (Nexpose / OpenVAS)

  • 作用: 主动发现网络中系统和应用的已知安全漏洞。
  • 数据来源: 对目标资产进行扫描。
  • 如何查看:
    1. SOC 控制台,找到 Vulnerability Management (漏洞管理) 模块。
    2. 这里会列出扫描出的漏洞,按严重性(严重、高危、中危、低危)分类,并提供漏洞详情和修复建议。

实战:如何发现一个攻击

假设我们想检测一次成功的 SSH 暴力破解。

场景描述

攻击者(IP: 10.10.100)正在尝试用字典攻击登录我们的内部服务器(IP: 168.1.10)。

调查步骤

  1. 从 IDS 入手(快速发现)

    • 登录 SOC -> NIDS
    • 在搜索框中输入 sshbrute force
    • 你可能会看到 Suricata/Snort 触发了 ET SCAN Potential SSH Brute Force 或类似规则的告警,这给了你一个明确的怀疑方向。
  2. 深入日志分析(确认证据)

    • 登录 Kibana
    • 进入 "Discover" 视图,确保选择了正确的索引模式(如 logs-*)。
    • 过滤 SSH 登录失败日志:
      • 如果服务器是 Linux,日志通常在 auth.log,搜索 message: "Failed password for invalid user"message: "Failed password for root"
      • 构建一个查询:message: ("Failed password" AND "from 10.10.10.100")
      • 你会看到大量来自 10.10.100 的失败登录尝试。
    • 关联网络连接(Zeek 日志):
      • 切换到另一个查询,查看 Zeek 的 conn.log
      • 查询:source.ip: "10.10.10.100" AND destination.port: 22 AND destination.ip: "192.168.1.10"
      • 你会看到在短时间内,10.10.100168.1.10 的 22 端口之间建立了大量 TCP 连接,这正是暴力破解的特征。
  3. 主机侧验证(Wazuh)

    • 登录 Wazuh Dashboard
    • 查看来自 168.1.10 的告警。
    • 你可能会因为 auth.log 文件被频繁修改(Wazuh 的文件完整性监控)而收到告警,这进一步佐证了攻击行为。

通过以上三个步骤的关联分析,你就可以完整地还原这次攻击的全过程,并确定攻击源和受害目标。


高级功能

  • Hunting (威胁狩猎): 在 SOC 控制台,可以基于预设的或自定义的查询,在海量数据中进行主动搜索,寻找潜在的威胁。
  • PCAP Analysis: 在 IDS 告警详情或 Kibana 日志中,可以直接下载或在线查看相关的网络数据包捕获文件,用于深度分析。
  • Alert Correlation: SOC 会自动将来自不同数据源(如 IDS 日志和系统日志)的、相关联的告警合并成一个事件,简化分析流程。
  • Playbooks (剧本): SOC 支持创建自动化响应剧本,当检测到某个 IP 的暴力破解告警时,可以自动触发剧本,将该 IP 添加到防火墙的黑名单中。

最佳实践与维护

  • 定期更新: 保持系统和所有安全工具的更新,以获得最新的特征库和漏洞修复。
  • 磁盘空间管理: Elasticsearch 会消耗大量磁盘空间,定期清理旧索引或配置索引的生命周期策略。
  • 优化规则: IDS 规则可能会产生误报,定期审查告警,禁用或优化误报率高的规则。
  • 备份配置: 定期备份 Security Onion 的配置文件,特别是管理服务器的配置。
  • 文档化: 记录你的网络架构、部署方案和自定义查询,方便日后维护和交接。

总结与学习资源

Security Onion 是一个功能极其强大的平台,本教程仅覆盖了其核心用法,要真正掌握它,需要大量的实践。

官方资源(最重要!):

其他资源:

  • YouTube 上有大量关于 Security Onion 的视频教程,搜索 "Security Onion tutorial" 即可找到。
  • 关注安全博客和技术社区,许多安全专家会分享他们的使用经验。

请记住:Security Onion 是一把“双刃剑”,它可以帮助你更好地防御,但如果配置不当或理解不深,也可能产生大量无用的告警,让你“淹没在日志的海洋里”,花时间学习和理解其背后的原理至关重要。

祝你使用愉快!

分享:
扫描分享到社交APP
上一篇
下一篇