zabbixプロキシでfping - 権限が拒否されました

zabbixプロキシでfping - 権限が拒否されました

fpingとzabbixに関するいくつかのトピックがあることを知っていますが、すべて読んでみましたが、まだ非常に簡単なことはできません。

ホスト(zabbixエージェントの実行)から外部ホストへの簡単なpingテストを実行しようとしています。

私のzabbix_agentd.confファイルで、次のようにUserParameterを設定しました。

UserParameter=vpnPing[*],fping $1 |grep -c alive

私のfping権限は次のとおりです。

# ls -l /sbin/fping
-rwsr-sr-x. 1 root zabbix 52904 Aug 5 2019 /sbin/fping

zabbix_agentdテストを実行すると(例の目的でリストされている偽IP)

# zabbix_agentd -t vpnPing[123.456.78.901]
vpnPing[123.456.78.901] [t|1]

だからこれが効果があるようです。

zabbix UIにアクセスして最新のデータを見ると、次のようになります。

2020-06-04 17:55:30 sh: /usr/sbin/fping: Permission denied
0

興味深いのは、一番下のゼロです。私も時々1と見たことがあります。何かがうまくいくようですが、なぜ私の許可が拒否されるのかわかりません。

また、監査ログを見ると、次の内容が表示されます。

type=AVC msg=audit(1591330891.927:15933): avc:  denied  { execute } for  pid=52320 comm="sh" name="fping" dev="nvme0n1p2" ino=8410299 scontext=system_u:system_r:zabbix_agent_t:s0 tcontext=system_u:object_r:ping_exec_t:s0 tclass=file permissive=0
type=SYSCALL msg=audit(1591330891.927:15933): arch=c000003e syscall=21 success=no exit=-13 a0=5601874ee450 a1=1 a2=7ffe62a48db0 a3=0 items=0 ppid=52319 pid=52320 auid=4294967295 uid=990 gid=988 euid=990 suid=990 fsuid=990 egid=988 sgid=988 fsgid=988 tty=(none) ses=4294967295 comm="sh" exe="/usr/bin/bash" subj=system_u:system_r:zabbix_agent_t:s0 key=(null)ARCH=x86_64 SYSCALL=access AUID="unset" UID="zabbix" GID="zabbix" EUID="zabbix" SUID="zabbix" FSUID="zabbix" EGID="zabbix" SGID="zabbix" FSGID="zabbix"
type=PROCTITLE msg=audit(1591330891.927:15933): proctitle=7368002D63006670696E67203136372E3134342E38392E323238207C67726570202D6320616C697665

私はRHEL 8.2を実行しています。

# zabbix_agentd -V
zabbix_agentd (daemon) (Zabbix) 4.4.9
$ zabbix_server -V
zabbix_server (Zabbix) 4.4.9
# fping -v
fping: Version 3.16

Zabbixでプロジェクトを構成し、次のように入力しました。 Zabbix Agent

私が試した場合:

zabbix_get -s [my_zabbix_server_ip] -k vpnPing[123.456.78.901]

タイムアウトしました(正常にpingできるので理由がわかりません):zabbix_get [30549]:操作中にタイムアウトしました。

しかし、チェックがzabbixサーバーに返されるように見えますが、権限が拒否されたとのみ表示されるため、zabbix_getの最後の部分が関連しているかどうかはわかりません。

私はこの問題でしばらく苦労していますが、誰かが私を助けることができることを願っていました。

ベストアンサー1

コメントで述べたように、問題はRHEL8のSElinuxと関連している可能性が高いです。

私の解決策はsudoを使用してSElinuxをバイパスすることでした。

$ grep ^zabbix /etc/sudoers

zabbix  ALL=NOPASSWD:/usr/sbin/hddtemp, /usr/sbin/smartctl, /usr/bin/fping

fpingを呼び出すには、前にsudoを追加してください。smartctlAMDも同様hddtemp

おすすめ記事