2024-09-04 07:59:10 +00:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
lib,
|
|
|
|
pkgs,
|
|
|
|
...
|
|
|
|
}:
|
2017-07-09 16:59:09 +00:00
|
|
|
|
|
|
|
{
|
2024-09-04 07:59:45 +00:00
|
|
|
options.security.auditd.enable = lib.mkEnableOption "the Linux Audit daemon";
|
2017-07-09 16:59:09 +00:00
|
|
|
|
2024-09-04 07:59:45 +00:00
|
|
|
config = lib.mkIf config.security.auditd.enable {
|
2019-06-10 15:27:46 +00:00
|
|
|
boot.kernelParams = [ "audit=1" ];
|
|
|
|
|
|
|
|
environment.systemPackages = [ pkgs.audit ];
|
|
|
|
|
2017-07-09 16:59:09 +00:00
|
|
|
systemd.services.auditd = {
|
|
|
|
description = "Linux Audit daemon";
|
2024-09-04 07:57:27 +00:00
|
|
|
wantedBy = [ "sysinit.target" ];
|
|
|
|
after = [
|
|
|
|
"local-fs.target"
|
|
|
|
"systemd-tmpfiles-setup.service"
|
|
|
|
];
|
|
|
|
before = [
|
|
|
|
"sysinit.target"
|
|
|
|
"shutdown.target"
|
|
|
|
];
|
2024-01-01 16:26:38 +00:00
|
|
|
conflicts = [ "shutdown.target" ];
|
2017-07-09 16:59:09 +00:00
|
|
|
|
|
|
|
unitConfig = {
|
|
|
|
ConditionVirtualization = "!container";
|
|
|
|
ConditionSecurity = [ "audit" ];
|
2017-08-01 19:45:01 +00:00
|
|
|
DefaultDependencies = false;
|
2017-07-09 16:59:09 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
path = [ pkgs.audit ];
|
|
|
|
|
|
|
|
serviceConfig = {
|
2023-11-30 23:00:39 +00:00
|
|
|
ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p /var/log/audit";
|
2017-07-09 16:59:09 +00:00
|
|
|
ExecStart = "${pkgs.audit}/bin/auditd -l -n -s nochange";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|