NixOS must notify designated personnel if baseline configurations are changed in an unauthorized manner.
Overview
Finding ID | Version | Rule ID | IA Controls | Severity |
V-268153 | ANIX-00-001460 | SV-268153r1039347_rule | Medium |
Description |
Unauthorized changes to the baseline configuration could make the system vulnerable to various attacks or allow unauthorized access to the operating system. Changes to operating system configurations can have unintended side effects, some of which may be relevant to security. Detecting such changes and providing an automated response can help avoid unintended, negative consequences that could ultimately affect the security state of the operating system. The operating system's IMO/ISSO and SAs must be notified via email and/or monitoring system trap when there is an unauthorized modification of a configuration item. Satisfies: SRG-OS-000363-GPOS-00150, SRG-OS-000445-GPOS-00199, SRG-OS-000446-GPOS-00200, SRG-OS-000447-GPOS-00201 |
STIG | Date |
Anduril NixOS Security Technical Implementation Guide | 2024-10-25 |
Details
Check Text (C-72077r1039345_chk) |
Verify NixOS notifies if baseline configurations are changed with Advanced Intrusion Detection Environment with the following commands: $ nix-store --query --requisites /run/current-system | cut -d- -f2- | sort | uniq | grep aide aide-0.18.6 etc-aide.conf $ cat /etc/nixos/configuration.nix | grep -A 5 aide.conf If aide is not installed and is not configured to alert on file system changes, this is a finding. |
Fix Text (F-71980r1039346_fix) |
Configure /etc/nixos/configuration.nix to notify when baseline configuration changes by adding the following configuration settings: nixpkgs.overlays = [ (final: prev: { aide = prev.aide.overrideAttrs (old: { configureFlags = (old.configureFlags or [ ]) ++ [ "--sysconfdir=/etc" ]; }); }) ]; environment.systemPackages = [ pkgs.aide ]; environment.etc = { # Creates /etc/aide.conf "aide.conf" = { text = '' <CONFIG_TEXT> ''; mode = "0444"; }; }; services.cron = { enable = true; systemCronJobs = [ "00 0 * * 0\troot\taide -c /etc/aide.conf --check | /bin/mail -s "aide integrity check run for ${config.networking.hostName}" root@notareal.email" ]; }; |