juju4/ansible-zeek

GitHub: juju4/ansible-zeek

用于自动化安装和配置 Zeek 网络入侵检测系统的 Ansible 角色,支持单机和集群部署模式。

Stars: 18 | Forks: 10

[![Actions Status - Main](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/47a71e4a61195704.svg)](https://github.com/juju4/ansible-zeek/actions?query=branch%3Amain) [![Actions Status - Devel](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/b64107e1ae195704.svg)](https://github.com/juju4/ansible-zeek/actions?query=branch%3Adevel) # Zeek ansible role 用于安装 [Zeek](https://www.zeek.org/)(原名 Bro IDS)的 Ansible role 安装源 * [Opensuse repository](https://software.opensuse.org/download.html?project=security%3Azeek&package=zeek) (rpm 或 deb)(默认) * SecurityOnion repository (仅限 precise 或 trusty) * 源码 ## 要求与依赖 ### Ansible 已在以下版本中测试: * 2.0 * 2.2 * 2.5 * 2.9 ### 操作系统 已在 Ubuntu 14.04、16.04、18.04、Centos 7 上测试。Kitchen 测试 vagrant 或 lxd,Travis。 ## 示例 Playbook 只需将此 role 包含在您的列表中。 例如 ``` - hosts: server roles: - juju4.zeek ``` ?包含了一些 nrpe 命令以协助监控。 安装后检查 ``` $ sudo /opt/bro/bin/broctl [BroControl] > install [BroControl] > diag ``` ## 变量 有相当多的变量可用于设置不同的配置。 一些变量(如密码)至少应在生产系统的 ansible vault 中存储。 ``` bro_mode: alone #bro_mode: manager #bro_mode: node #bro_manager: 10.0.0.10 #bro_nodes: # - 10.0.0.11 # - 10.0.0.12 #bro_nodes_if: eth0 ## 仅适用于 Ubuntu 12.04(2017 年 4 月 EOL),包含 pfring use_securityonion_deb: false ## pfring/高网络性能 = 构建源码 bro_w_pfring: false ## 用于源码安装 force_source_build: false bro_v: 2.4 bro_archive_sha256: 740c0d0b0bec279c2acef5e1b6b4d0016c57cd02a729f5e2924ae4a922e208b2 ## 用于 passivedns 的 mysql 设置 mysql_user: root mysql_root_password: mysql_root_pass_to_change_or_get_lost mysql_old_root_password: mysql_pdns_user: pdns mysql_pdns_pass: pdns_pass_to_change_or_get_lost ``` ## 持续集成 此 role 包含一个基础的 travis 测试(用于 github),更高级的测试使用 kitchen,以及一个 Vagrantfile (test/vagrant)。 在确保所有必要的 roles 都存在后,您可以使用以下命令进行测试: ``` $ cd /path/to/roles/juju.zeek $ kitchen verify $ kitchen login $ KITCHEN_YAML=".kitchen.vagrant.yml" kitchen verify ``` 或 ``` $ cd /path/to/roles/juju4.zeek/test/vagrant $ vagrant up $ vagrant ssh ``` 或 ``` $ pip install molecule docker $ molecule test $ MOLECULE_DISTRO=ubuntu:18.04 molecule test --destroy=never ``` ## 故障排除与已知问题 * 截至 2016 年 5 月,kitchen 测试已通过验证。Travis 仍有问题(只读文件系统。呵?)以及部分 ansible 变量 (ansible_default_ipv4) 未设置 * role 不是幂等的,主要是 broctl * "Error bro: capstats failed (Host 127.0.0.1 is not alive)" (/opt/bro/logs/stats/stats.log) * Monit:bro_rc 和 bro 进程进入 "Not monitored" 状态,因此不会自动重启 * 对于 opensuse 提供的软件包,请通过检查 [opensuse repo](https://download.opensuse.org/repositories/security:/zeek/) 确保您的发行版受支持。截至 2022 年 2 月,不再支持 Centos 8 stream ## 许可证 BSD 2-clause
标签:Ansible, Bro IDS, CentOS, Cutter, DevSecOps, NSM, PF_RING, Role, Rootkit, Windows内核驱动, Zeek, 上游代理, 入侵检测系统, 安全数据湖, 系统提示词, 网络安全, 网络日志, 自动化运维, 请求拦截, 隐私保护