juju4/ansible-zeek
GitHub: juju4/ansible-zeek
用于自动化安装和配置 Zeek 网络入侵检测系统的 Ansible 角色,支持单机和集群部署模式。
Stars: 18 | Forks: 10
[](https://github.com/juju4/ansible-zeek/actions?query=branch%3Amain)
[](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, 上游代理, 入侵检测系统, 安全数据湖, 系统提示词, 网络安全, 网络日志, 自动化运维, 请求拦截, 隐私保护