Rule version ANIX-00-001280 · STIG v1 · 2025-08-19
In certain situations, software applications/programs need to execute with elevated privileges to perform required functions. However, if the privileges required for execution are at a higher level than the privileges assigned to organizational users invoking such applications/programs, those users are indirectly provided with greater privileges than assigned by the organizations.
Some programs and processes are required to operate at a higher privilege level and therefore should be excluded from the organization-defined software list after review.
Verify NixOS audits and provides alerts of audit failures by running the following command:
$grep A -15 security.auditd /etc/nixos/configuration.nix
/etc/nixos/configuration.nix:
security.auditd.enable = true; security.audit.enable = true; security.audit.rules = [ '' <audit_rules> '' ]; security.audit.rules = [ "-a always,exit -F arch=b32 -S execve -C uid!=euid -F euid=0 -k execpriv" "-a always,exit -F arch=b64 -S execve -C uid!=euid -F euid=0 -k execpriv" "-a always,exit -F arch=b32 -S execve -C gid!=egid -F egid=0 -k execpriv" "-a always,exit -F arch=b64 -S execve -C gid!=egid -F egid=0 -k execpriv" ];
If "security.auditd", "security.audit" and the additional modifications do not equal true, are missing, or are commented out, this is a finding.
Configure the audit service to produce audit records.
Add the following Nix code to the NixOS Configuration, usually located in /etc/nixos/configuration.nix or /etc/nixos/flake.nix:
security.auditd.enable = true; security.audit.enable = true;
Add the following audit rules:
security.audit.rules = [ "-a always,exit -F arch=b32 -S execve -C uid!=euid -F euid=0 -k execpriv" "-a always,exit -F arch=b64 -S execve -C uid!=euid -F euid=0 -k execpriv" "-a always,exit -F arch=b32 -S execve -C gid!=egid -F egid=0 -k execpriv" "-a always,exit -F arch=b64 -S execve -C gid!=egid -F egid=0 -k execpriv" ];
Rebuild and switch to the new NixOS configuration: $ sudo nixos-rebuild switch