feat: add BIO/NCSC hardening modules (opt-in) #12
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Discussion
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Help Wanted
Status
Need More Info
Prio - Hoog
Prio - Laag
Prio - Middel
styling
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
MinBZK/DAWO-NixOS!12
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "bram.buijs/DAWO-NixOS:pr-hardening"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adds a set of hardening capabilities, each one file under
modules/<category>/following the existing layout, as discussed in #6. All opt-in -
profiles-dawo-genericenables none of them; a host imports what it wants.Modules:
boot/hardening, memory-hardening kernelParamsnixos/hardening, sysctl, sudo wheel-only, tmp mount options, login bannerservices/openssh, strict SSH (no root, MaxAuthTries, modern crypto)services/journald, persistent logs (source, no shipper)services/chrony, NL NTPservices/usbguard, block new / allow present; default-off and needs anallowlist (
services.usbguard.rules), otherwise it blocks newly pluggeddevices
nixos/{apparmor,pam-u2f,pam-oath,pki-overheid},services/{pcscd,auditd}(auditd stubbed for the auditctl bug),
networking/{dns-tls,egress-deny}(egress-deny a no-op until the allowlist is built)
Each module header carries its norm/origin, and
docs/standards.mdmaps everyitem to BIO/NCSC, CIS-DIL, the ANSSI R-numbers and the DISA STIG, including what
came from securix/bureautix (file + R-number).
docs/modules.mddocuments theenable workflow. Deliberate deviations (no module-load disable, no IPv6 disable,
SMT/Spectre set left out) are listed in
standards.md. No SIEM shipper bydesign, the endpoint only provides the generic sources.
Evaluates green across the config.
Build/deploy proof to follow: verifying on a Lenovo T495s before merge.
Superseded by #16, which reworks this onto the blocks model (#8): mandatory-core and opt-in hardened tiers, mkForce/mkDefault, build-time asserts. Closing this one in favour of #16.
Pull request closed