2017-07-09 17:59:09 +01:00
|
|
|
{ config, lib, pkgs, ... }:
|
|
|
|
|
|
|
|
with lib;
|
|
|
|
|
|
|
|
{
|
2022-08-28 20:18:44 +01:00
|
|
|
options.security.auditd.enable = mkEnableOption (lib.mdDoc "the Linux Audit daemon");
|
2017-07-09 17:59:09 +01:00
|
|
|
|
|
|
|
config = mkIf config.security.auditd.enable {
|
2019-06-10 16:27:46 +01:00
|
|
|
boot.kernelParams = [ "audit=1" ];
|
|
|
|
|
|
|
|
environment.systemPackages = [ pkgs.audit ];
|
|
|
|
|
2017-07-09 17:59:09 +01:00
|
|
|
systemd.services.auditd = {
|
|
|
|
description = "Linux Audit daemon";
|
|
|
|
wantedBy = [ "basic.target" ];
|
|
|
|
|
|
|
|
unitConfig = {
|
|
|
|
ConditionVirtualization = "!container";
|
|
|
|
ConditionSecurity = [ "audit" ];
|
2017-08-01 20:45:01 +01:00
|
|
|
DefaultDependencies = false;
|
2017-07-09 17:59:09 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
path = [ pkgs.audit ];
|
|
|
|
|
|
|
|
serviceConfig = {
|
|
|
|
ExecStartPre="${pkgs.coreutils}/bin/mkdir -p /var/log/audit";
|
|
|
|
ExecStart = "${pkgs.audit}/bin/auditd -l -n -s nochange";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|