#
# Policy rules for Health Daemon
#

-c inet_stream_socket_create grant
-c inet_dgram_socket_create grant
-c unix_dgram_socket_bind grant
-c unix_dgram_socket_connect grant
-c unix_socket_create grant
-c unix_stream_socket_bind grant
-c unix_stream_socket_connect grant
-c unix_vmklink_socket_connect grant

-p unix_stream_socket_connect vmwLocalSocketAuthentication grant
-p unix_stream_socket_bind vmwLocalSocketAuthentication revoke
-p unix_stream_socket_connect /var/run/nscd/socket grant
-p unix_dgram_socket_connect /dev/vmwSyslog grant
-p inet_socket_bind all grant
-p inet_socket_connect loopback grant
-p inet_socket_connect nonloopback grant
-p unix_dgram_socket_connect /dev/log grant

# Deny everything
-r /
# except ...
-r /tmp w
-r /tmp/healthdcov/ w # health coverage data directory
-r /usr/lib64 x
-r /lib64 x
-r /bin/python3.8 x
-r /dev/null rw
-r /dev/char/vmkdriver/urandom r
-r /var/lib/vmware/osdata/healthd w # health reports path
-r /usr/lib/vmware x
-r /usr/lib/vmware/healthd-config w # health coverage config
-r /usr/lib/vmware/healthd/bin x
-r /usr/lib/vmware/healthd/plugins/bin rx # health plugins path
-r /usr/lib64/locale/locale-archive r
-r /etc/host.conf r
-r /etc/hosts r
-r /etc/resolv.conf r
-r /etc/localtime r
-r /etc/nsswitch.conf r
-r /etc/passwd r
-r /etc/smartnic-mockup.conf r
-r /etc/vmware/ssl/castore.pem r
-r /etc/vmware/vsphereFeatures r
-r /etc/vmware/schemastore w
-r /etc/vmware/configstore w
-r /etc/vmware/ssl/fipsmodule.cnf r
-r /etc/vmware/ssl/openssl.cnf r
-r /var/run/vmware/tokend-secret r
-r /etc/vmware/config r
-r /etc/vmware/settings r

-s genericSys grant
-s ioctlSys grant
-s vsiReadSys grant
-s vsiWriteSys grant
-s killSys grant
-s forkSys grant
-s forkExecSys grant
-s cloneSys grant
-s openSys grant
-s mprotectSys grant
