rhev_agentd_selinux(8)

πŸ“¦ version 38.1.87, in centos-stream 9

πŸ’… rhev_agentd_selinux(8) β€” the manual page, but make it make sense ✨

okay so bestie, this is the rhev_agentd_selinux(8) situation β€” it's the SELinux Policy page for the rhev_agentd processes and honestly it's giving security realness. no cap. 🫢


🌸 NAME 🌸

rhev_agentd_selinux β€” the Security Enhanced Linux Policy for the rhev_agentd processes. periodt. πŸ’–


πŸ¦‹ DESCRIPTION πŸ¦‹

Security-Enhanced Linux secures the rhev_agentd processes via flexible mandatory access control. it's literally doing the most to keep things locked down. πŸ”’βœ¨

so the rhev_agentd processes execute with the rhev_agentd_t SELinux type. you can vibe check if you've got these processes running by executing the ps command with the -Z qualifier. like so:

ps -eZ | grep rhev_agentd_t

see? easy. iconic behavior. πŸ‘‘


πŸŽ€ ENTRYPOINTS πŸŽ€

the rhev_agentd_t SELinux type can be entered via the rhev_agentd_exec_t file type. that's the main character entrance fr fr. πŸšͺ✨

the default entrypoint paths for the rhev_agentd_t domain are literally:

/usr/share/ovirt-guest-agent, /usr/share/rhev-agent/rhev-agentd.py,
/usr/share/rhev-agent/LockActiveSession.py, /usr/share/ovirt-guest-
agent/LockActiveSession.py, /usr/share/ovirt-guest-agent/ovirt-guest-
agent.py

πŸ’œ PROCESS TYPES πŸ’œ

SELinux defines process types (domains) for each process running on the system. it's a whole thing. ✨

you can see the context of a process using the -Z option to ps. vibe check that context bestie.

policy governs the access confined processes have to files. SELinux rhev_agentd policy is very flexible, allowing users to setup their rhev_agentd processes in as secure a method as possible. so like, you have options. πŸŽ€

the following process types are defined for rhev_agentd:

  • rhev_agentd_t
  • rhev_agentd_consolehelper_t
Note: semanage permissive -a rhev_agentd_t can be used to make the process type rhev_agentd_t permissive. SELinux does not deny access to permissive process types, but the AVC (SELinux denials) messages are still generated. so like, it's still watching you even when it's chill. πŸ‘€πŸ’…

πŸ”₯ BOOLEANS πŸ”₯

SELinux policy is customizable based on least access required. rhev_agentd policy is extremely flexible and has several booleans that allow you to manipulate the policy and run rhev_agentd with the tightest access possible. slay. πŸŽ€

  • if you want to dontaudit all daemons scheduling requests (setsched, sys_nice), you must turn on the daemons_dontaudit_scheduling boolean. Enabled by default.
setsebool -P daemons_dontaudit_scheduling 1
  • if you want to allow all domains to execute in fips_mode, you must turn on the fips_mode boolean. Enabled by default.
setsebool -P fips_mode 1
  • if you want to allow system to run with NIS, you must turn on the nis_enabled boolean. Disabled by default.
setsebool -P nis_enabled 1

🧚 MANAGED FILES 🧚

the SELinux process type rhev_agentd_t can manage files labeled with the following file types. the paths listed are the default paths for these file types. note the processes UID still need to have DAC permissions. okay so let's break it down. πŸ’–

  • cluster_conf_t
/etc/cluster(/.*)?
  • cluster_var_lib_t
/var/lib/pcsd(/.*)?
/var/lib/cluster(/.*)?
/var/lib/openais(/.*)?
/var/lib/pengine(/.*)?
/var/lib/corosync(/.*)?
/usr/lib/heartbeat(/.*)?
/var/lib/heartbeat(/.*)?
/var/lib/pacemaker(/.*)?
  • cluster_var_run_t
/var/run/crm(/.*)?
/var/run/cman_.*
/var/run/rsctmp(/.*)?
/var/run/aisexec.*
/var/run/heartbeat(/.*)?
/var/run/pcsd-ruby.socket
/var/run/corosync-qnetd(/.*)?
/var/run/corosync-qdevice(/.*)?
/var/run/pcsd.socket
/var/run/corosync.pid
/var/run/cpglockd.pid
/var/run/rgmanager.pid
/var/run/cluster/rgmanager.sk
  • krb5_host_rcache_t
/var/tmp/krb5_0.rcache2
/var/cache/krb5rcache(/.*)?
/var/tmp/nfs_0
/var/tmp/DNS_25
/var/tmp/host_0
/var/tmp/imap_0
/var/tmp/HTTP_23
/var/tmp/HTTP_48
/var/tmp/ldap_55
/var/tmp/ldap_487
/var/tmp/ldapmap1_0
  • rhev_agentd_log_t
/var/log/rhev-agent(/.*)?
/var/log/ovirt-guest-agent(/.*)?
  • rhev_agentd_tmp_t
  • rhev_agentd_var_run_t
/var/run/rhev-agentd.pid
/var/run/ovirt-guest-agent.pid
  • root_t
/sysroot/ostree/deploy/.*-atomic/deploy(/.*)?
/
/initrd

🌈 FILE CONTEXTS 🌈

SELinux requires files to have an extended attribute to define the file type. it's giving ✨labeled✨. πŸ’…

you can see the context of a file using the -Z option to ls. vibe check that file, bestie. πŸ‘€

policy governs the access confined processes have to these files. SELinux rhev_agentd policy is very flexible, allowing users to setup their rhev_agentd processes in as secure a method as possible. we love options. πŸŽ€

⭐ STANDARD FILE CONTEXT ⭐

SELinux defines the file context types for the rhev_agentd. if you wanted to store files with these types in different paths, you need to execute the semanage command to specify alternate labeling and then use restorecon to put the labels on disk. like so:

semanage fcontext -a -t rhev_agentd_log_t
'/srv/myrhev_agentd_content(/.*)?'
restorecon -R -v /srv/myrhev_agentd_content
Note: SELinux often uses regular expressions to specify labels that match multiple files. regex girlies rise. ✨

the following file types are defined for rhev_agentd:

  • rhev_agentd_exec_t

set files with the rhev_agentd_exec_t type, if you want to transition an executable to the rhev_agentd_t domain.

Paths:

/usr/share/ovirt-guest-agent, /usr/share/rhev-agent/rhev-agentd.py,
/usr/share/rhev-agent/LockActiveSession.py, /usr/share/ovirt-guest-
agent/LockActiveSession.py, /usr/share/ovirt-guest-agent/ovirt-
guest-agent.py
  • rhev_agentd_log_t

set files with the rhev_agentd_log_t type, if you want to treat the data as rhev agentd log data, usually stored under the /var/log directory.

Paths:

/var/log/rhev-agent(/.*)?, /var/log/ovirt-guest-agent(/.*)?
  • rhev_agentd_tmp_t

set files with the rhev_agentd_tmp_t type, if you want to store rhev agentd temporary files in the /tmp directories.

  • rhev_agentd_unit_file_t

set files with the rhev_agentd_unit_file_t type, if you want to treat the files as rhev agentd unit content.

  • rhev_agentd_var_run_t

set files with the rhev_agentd_var_run_t type, if you want to store the rhev agentd files under the /run or /var/run directory.

Paths:

/var/run/rhev-agentd.pid, /var/run/ovirt-guest-agent.pid
Note: file context can be temporarily modified with the chcon command. if you want to permanently change the file context you need to use the semanage fcontext command. this will modify the SELinux labeling database. you will need to use restorecon to apply the labels. so like, chcon is a quick vibe, semanage fcontext is forever. πŸ’πŸ’…

πŸ‘‘ COMMANDS πŸ‘‘

semanage fcontext can also be used to manipulate default file context mappings. it's giving multipurpose. ✨

semanage permissive can also be used to manipulate whether or not a process type is permissive. slay. πŸŽ€

semanage module can also be used to enable/disable/install/remove policy modules. lowkey essential fr fr. πŸ’–

semanage boolean can also be used to manipulate the booleans. iconic. 🌈

system-config-selinux is a GUI tool available to customize SELinux policy settings. a whole GUI, bestie. obsessed. πŸ’»βœ¨


πŸ¦‹ AUTHOR πŸ¦‹

this manual page was auto-generated using sepolicy manpage. the robots did this one. not me. πŸ€–πŸ’…


⭐ SEE ALSO ⭐

selinux(8), rhev_agentd(8), semanage(8), restorecon(8), chcon(1), sepolicy(8), setsebool(8), rhev_agentd_consolehelper_selinux(8). go read those too, iykyk. πŸ’–


and that's the whole thing bestie! this page is from the rhev_agentd manual, dated 26-10-23, and it's literally rhev_agentd_selinux(8) energy all the way through. hope you understood it, ily, go secure those processes πŸ’…βœ¨πŸ«Ά

πŸ“¦ where this page comes from