2017-07-09 16:59:09 +00:00
|
|
|
{ config, lib, pkgs, ... }:
|
|
|
|
|
|
|
|
with lib;
|
|
|
|
|
|
|
|
{
|
|
|
|
options.security.auditd.enable = mkEnableOption (lib.mdDoc "the Linux Audit daemon");
|
|
|
|
|
|
|
|
config = 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";
|
|
|
|
wantedBy = [ "basic.target" ];
|
2023-11-30 23:00:39 +00:00
|
|
|
before = [ "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";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|