0

我正在尝试在 3 台 Ubuntu 18.04 LTS 主机上设置 Zeek IDS 集群(v.3.2.0-dev.271)但无济于事 - 运行zeek deploy命令失败并显示以下输出:

fatal error: problem with interface ens3 (pcap_error: socket: Operation not permitted (pcap_activate))

我遵循了官方文档(充其量是非常通用的)并在 zeek 节点之间设置了无密码 SSH 身份验证。

我还抢先/usr/local/zeek在所有主机上创建了路径,并授予 zeek 用户对该目录的完全权限。文件说The Zeek user must be able to either create this directory or, where it already exists, must have write permission inside this directory on all hosts.

该文件还说on the worker nodes this user must have access to the target network interface in promiscuous mode.

我的 zeek 用户是 sudoer 并且是所有 3 个节点上的 netdev 组的成员。然而,集群部署失败。显然,当 zeekctl 与工作人员建立 SSH 连接时,它无法控制网络接口并设置上限。

最终,我能够按照这篇文章成功运行集群 - 但是它需要您将整个集群设置为 root,如果可能的话,我想避免这种情况。

所以我的问题是,有什么明显我遗漏的东西吗?据我所知,这个设置应该可以工作,否则我不知道如何强制 zeekctl 在它应该在工作人员上运行的每个 SSH 命令之前运行“sudo”,或者如何满足这个要求。

任何指导将不胜感激,谢谢!

4

2 回答 2

2

我的独立设置遇到了同样的错误。通过谷歌搜索找到了这个问题。更多地在谷歌上搜索该错误将我带到了一些博客,其中包括一个评论提到相同错误的博客。作者提到使用 setcap 授予二进制文件权限:

$sudo setcap cap_net_raw,cap_net_admin=eip /usr/local/zeek/bin/zeek

$sudo setcap cap_net_raw,cap_net_admin=eip /usr/local/zeek/bin/zeekctl

在运行它们之后,我的 zeek 实例现在运行成功。

来源:https ://www.ericooi.com/zeekurity-zen-part-i-how-to-install-zeek-on-centos-8/#comment-1586

于 2020-04-20T20:33:20.637 回答
0

所以,以防万一其他人偶然发现同样的问题 - 我弄清楚发生了什么。我使用Ansible简化了集群部署(在任务级别使用 'become' 指令),并且在运行负责发出zeekctl deploy命令的处理程序时没有提升。一旦我这样做了,Zeek Cluster 部署就成功了。

于 2020-04-22T07:41:45.930 回答