main
 1{den, ...}: {
 2  den.aspects.core.security.includes = [den.aspects.core.security.audit];
 3  den.aspects.core.security.audit = {
 4    nixos = {
 5      security.auditd.enable = true;
 6
 7      security.audit = {
 8        enable = true;
 9        rules = [
10          "-a always,exit -F arch=b64 -S adjtimex -S settimeofday -k time-change"
11          "-a always,exit -F arch=b32 -S adjtimex -S settimeofday -S stime -k time-change"
12          "-a always,exit -F arch=b64 -S clock_settime -k time-change"
13          "-a always,exit -F arch=b32 -S clock_settime -k time-change"
14          "-w /etc/localtime -p wa -k time-change"
15
16          "-w /etc/group -p wa -k identity"
17          "-w /etc/passwd -p wa -k identity"
18
19          "-a always,exit -F arch=b64 -S sethostname -S setdomainname -k system-locale"
20          "-a always,exit -F arch=b32 -S sethostname -S setdomainname -k system-locale"
21          "-w /etc/issue -p wa -k system-locale"
22          "-w /etc/issue.net -p wa -k system-locale"
23          "-w /etc/hosts -p wa -k system-locale"
24          "-w /etc/hostname -p wa -k system-locale"
25
26          "-w /etc/apparmor/ -p wa -k MAC-policy"
27          "-w /etc/apparmor.d/ -p wa -k MAC-policy"
28
29          "-w /var/log/wtmp -p wa -k logins"
30          "-w /var/log/btmp -p wa -k logins"
31
32          "-a always,exit -F arch=b64 -S chmod -S fchmod -S fchmodat -F auid>=1000 -F auid!=4294967295 -k perm_mod"
33          "-a always,exit -F arch=b32 -S chmod -S fchmod -S fchmodat -F auid>=1000 -F auid!=4294967295 -k perm_mod"
34          "-a always,exit -F arch=b64 -S chown -S fchown -S fchownat -S lchown -F auid>=1000 -F auid!=4294967295 -k perm_mod"
35          "-a always,exit -F arch=b32 -S chown -S fchown -S fchownat -S lchown -F auid>=1000 -F auid!=4294967295 -k perm_mod"
36          "-a always,exit -F arch=b64 -S setxattr -S lsetxattr -S fsetxattr -S removexattr -S lremovexattr -S fremovexattr -F auid>=1000 -F auid!=4294967295 -k perm_mod"
37          "-a always,exit -F arch=b32 -S setxattr -S lsetxattr -S fsetxattr -S removexattr -S lremovexattr -S fremovexattr -F auid>=1000 -F auid!=4294967295 -k perm_mod"
38
39          "-a always,exit -F arch=b64 -S creat -S open -S openat -S truncate -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=4294967295 -k access"
40          "-a always,exit -F arch=b32 -S creat -S open -S openat -S truncate -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=4294967295 -k access"
41          "-a always,exit -F arch=b64 -S creat -S open -S openat -S truncate -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=4294967295 -k access"
42          "-a always,exit -F arch=b32 -S creat -S open -S openat -S truncate -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=4294967295 -k access"
43
44          "-a always,exit -F arch=b64 -S mount -F auid>=1000 -F auid!=4294967295 -k mounts"
45          "-a always,exit -F arch=b32 -S mount -F auid>=1000 -F auid!=4294967295 -k mounts"
46
47          "-a always,exit -F arch=b64 -S unlink -S unlinkat -S rename -S renameat -F auid>=1000 -F auid!=4294967295 -k delete"
48          "-a always,exit -F arch=b32 -S unlink -S unlinkat -S rename -S renameat -F auid>=1000 -F auid!=4294967295 -k delete"
49
50          "-w /etc/sudoers -p wa -k scope"
51          "-w /etc/sudoers.d/ -p wa -k scope"
52
53          "-a always,exit -F arch=b64 -S execve -F uid=0 -F auid>=1000 -F auid!=4294967295 -k actions"
54          "-a always,exit -F arch=b32 -S execve -F uid=0 -F auid>=1000 -F auid!=4294967295 -k actions"
55
56          "-a always,exit -F arch=b64 -S init_module -S delete_module -k modules"
57          "-a always,exit -F arch=b32 -S init_module -S delete_module -k modules"
58        ];
59      };
60    };
61  };
62}