Durcissement ANSSI (module SécurixOS) sur toutes les machines de la flotte
- vendor modules/anssi/ depuis SécurixOS (DINUM), copy-paste explicitement supporté par son propre README, licence MIT - hosts/common/base.nix: security.anssi.enable, level=intermediary, category=client -- remplace le bloc sysctl qui n'existait que sur le profil oreo (nixos_users), même valeurs, rien de plus fort - garde systemd.coredump.enable=false + apparmor (pas couvert par le module ANSSI, exception R45 explicite côté Sécurix) - ip_forward=0 (R12) n'affecte pas pxe-server, qui n'importe pas ce fichier Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
{ pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
imports = [ ../../modules/anssi ];
|
||||
|
||||
# Toutes les machines de la flotte portent le même nom : pas
|
||||
# d'identification individuelle pour l'instant (voir README du repo
|
||||
# racine). À revoir plus tard via le numéro de série DMI si un vrai
|
||||
@@ -17,6 +19,40 @@
|
||||
# firmware). mkDefault : un profil peut désactiver au cas par cas.
|
||||
hardware.enableRedistributableFirmware = lib.mkDefault true;
|
||||
|
||||
# Durcissement : reprend le module ANSSI de SécurixOS (modules/anssi/,
|
||||
# vendored ci-dessus), qui remplace/couvre déjà tous les sysctls qui
|
||||
# étaient déclarés à la main sur le profil oreo (dmesg_restrict,
|
||||
# kptr_restrict, yama.ptrace_scope, rp_filter, tcp_syncookies,
|
||||
# protected_hardlinks/symlinks -- mêmes valeurs, vérifié règle par
|
||||
# règle dans modules/anssi/kernel-options.nix : R9, R11, R12, R14).
|
||||
# level "intermediary" : c'est le niveau que couvraient déjà TOUTES
|
||||
# les valeurs qu'on avait mises à la main sur oreo -- rien de plus
|
||||
# fort n'a été inventé ici. category "client" : ce sont des postes de
|
||||
# travail, pas des serveurs (les règles actuellement implémentées sont
|
||||
# toutes "category = base" donc ça ne change rien pour l'instant, mais
|
||||
# c'est le bon réglage si Sécurix ajoute des règles catégorisées).
|
||||
#
|
||||
# ATTENTION : R12 force net.ipv4.ip_forward = 0. Sans impact ici (ce
|
||||
# sont des postes clients), mais à ne SURTOUT PAS importer sur
|
||||
# pxe-server/configuration.nix, qui a besoin l'inverse (voir son
|
||||
# networking.nat) -- pxe-server n'importe pas ce fichier, donc ok.
|
||||
# R8 ajoute des mitigations CPU dont "mds=full,nosmt" (désactive
|
||||
# l'hyperthreading) : impact perf réel sur du matériel bas de gamme,
|
||||
# c'est la vraie recommandation ANSSI au niveau "intermediary", pas
|
||||
# une invention -- à surveiller sur les PC les plus faibles du parc.
|
||||
security.anssi = {
|
||||
enable = true;
|
||||
level = "intermediary";
|
||||
category = "client";
|
||||
};
|
||||
|
||||
# Pas (encore) couvert par le module ANSSI ci-dessus (R45 y est
|
||||
# explicitement listé en exception : "AppArmor is partially supported
|
||||
# on NixOS", modules/anssi/base.nix) -- repris tel quel du profil oreo.
|
||||
systemd.coredump.enable = false;
|
||||
security.apparmor.packages = [ pkgs.apparmor-profiles ];
|
||||
security.apparmor.enableCache = true;
|
||||
|
||||
time.timeZone = "Europe/Paris";
|
||||
i18n.defaultLocale = "fr_FR.UTF-8";
|
||||
i18n.extraLocaleSettings = {
|
||||
|
||||
Reference in New Issue
Block a user