NixOS must generate audit records when successful/unsuccessful attempts to delete security objects occur.
Overview
| Finding ID | Version | Rule ID | IA Controls | Severity |
| V-268165 | ANIX-00-001740 | SV-268165r1131135_rule | CCI-000172 | medium |
| Description | ||||
| Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). | ||||
| STIG | Date | |||
| Anduril NixOS Security Technical Implementation Guide | 2025-08-19 | |||
Details
Check Text (C-268165r1131135_chk)
Verify that NixOS generates audit records when successful/unsuccessful attempts to delete security objects occur with the following command:
$ sudo auditctl -l | grep /bin/ch
-a always,exit -S all -F path=/run/current-system/sw/bin/chage -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-chage
-a always,exit -S all -F path=/run/current-system/sw/bin/chcon -F perm=x -F auid>=1000 -F auid!=-1 -k perm_mod
If the command does not return an audit rule for "chage" and "chcon", this is a finding.
Fix Text (F-71992r1131134_fix)
Configure NixOS to audit attempts to delete security objects.
Add the following Nix code to the NixOS Configuration, usually located in /etc/nixos/configuration.nix or /etc/nixos/flake.nix:
security.audit.rules = [
"-a always,exit -F path=/run/current-system/sw/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chage"
"-a always,exit -F path=/run/current-system/sw/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod"
];
Rebuild and switch to the new NixOS configuration:
$ sudo nixos-rebuild switch