Elastic Stack 7.1.1(含X-Pack)Auditbeat启动失败求助
解决Elastic Stack 7.1.1中Auditbeat启动的权限错误问题
你碰到的两个启动错误都是权限不足导致的,咱们一步步来拆解解决:
1. 搞定failed to create audit client: operation not permitted错误
这个问题出自auditd模块——Auditbeat需要访问系统审计子系统的权限,普通用户默认没有这个权限,有两个解决思路:
方法一:直接用root启动Auditbeat
这是最省事的方式,root自带所有系统权限,运行命令:sudo ./auditbeat -e -c auditbeat.yml方法二:给Auditbeat二进制文件加必要权限
不想一直用root的话,用setcap给Auditbeat赋予审计相关的Linux能力:sudo setcap cap_audit_read,cap_audit_write+ep /path/to/your/auditbeat把
/path/to/your/auditbeat换成你实际的Auditbeat安装路径就行,之后普通用户也能启动它访问审计子系统。
2. 解决unable to create DNS sniffer: failed creating af_packet sniffer: operation not permitted错误
这个错误来自system模块的socket数据集,它需要创建AF_PACKET套接字来嗅探DNS流量,这需要CAP_NET_RAW权限,有三种解决方式:
方法一:还是用root启动
跟上面一样,root权限自动包含这个能力,启动后就能正常创建嗅探器。方法二:给Auditbeat追加CAP_NET_RAW能力
在之前的setcap命令基础上,加上网络相关的权限:sudo setcap cap_audit_read,cap_audit_write,cap_net_raw+ep /path/to/your/auditbeat方法三:关闭不需要的DNS嗅探功能
如果你压根不需要DNS嗅探,直接修改Auditbeat配置,在system模块里关掉这个功能:- module: system datasets: - host - login - package - process - socket - user socket.dns.enabled: false # 新增这一行,关闭DNS嗅探 state.period: 12h user.detect_password_changes: true login.wtmp_file_pattern: /var/log/wtmp* login.btmp_file_pattern: /var/log/btmp*保存配置后重启Auditbeat就好。
额外提醒
- 虽然当前错误不是规则文件导致的,但如果权限问题解决后仍有报错,记得检查
audit.rules.d目录下的规则格式是否合法。 - 要是你用systemd管理Auditbeat服务,可以在service文件里配置权限,比如添加
AmbientCapabilities字段:[Service] ExecStart=/path/to/auditbeat -c /etc/auditbeat/auditbeat.yml AmbientCapabilities=CAP_AUDIT_READ CAP_AUDIT_WRITE CAP_NET_RAW
内容的提问来源于stack exchange,提问作者Vamsi Krishna
相关产品推荐
相关产品推荐

