diff options
| author | Valentin <valentin@fricklerhandwerk.de> | 2025-11-11 13:34:09 +0100 |
|---|---|---|
| committer | Valentin <valentin@fricklerhandwerk.de> | 2025-11-11 16:21:51 +0100 |
| commit | 293b48f4946cb1e88f21abe665dcd18106b48e11 (patch) | |
| tree | ee46989d138de3d97815f418e6a935c4d2b0f988 /tharos/security.nix | |
| parent | 2c599720401012630cd633ee311404e2ccfcef91 (diff) | |
Konfiguration klarer nach Aspekten unterteilt
Insbesondere behandelt das Modul für die Website nur noch dieses spezifische Anliegen.
Diffstat (limited to 'tharos/security.nix')
| -rw-r--r-- | tharos/security.nix | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tharos/security.nix b/tharos/security.nix new file mode 100644 index 0000000..03b59dc --- /dev/null +++ b/tharos/security.nix @@ -0,0 +1,46 @@ +{ + self, + inputs, + ... +}: +{ + flake.machines.tharos = { + nixos = + { + lib, + modulesPath, + ... + }: + { + # Kein Login für Nutzer die nicht explizit deklariert sind + users.mutableUsers = false; + users.users = lib.mapAttrs (username: keyFiles: { + isNormalUser = true; + openssh.authorizedKeys.keyFiles = keyFiles; + # ANMERKUNG: Der Einfachheit halber sind bis auf Weiteres alle Nutzer mit SSH-Zugang auch Administratoren + extraGroups = [ "wheel" ]; + }) self.keys; + + /* + `sudo` über SSH ohne Passworteingabe + ANMERKUNG: Nutzer sollten in ihrem ` ~/.ssh/config` für die Maschine einstellen: + + ForwardAgent: yes + */ + security.pam.sshAgentAuth.enable = true; + security.pam.services.sudo.sshAgentAuth = true; + + # Nur Administratoren können den angemeldeten Benutzer wechseln + security.pam.services.su.requireWheel = true; + + networking.firewall.allowPing = true; + services.openssh = { + enable = true; + settings = { + PasswordAuthentication = false; + PermitRootLogin = "prohibit-password"; + }; + }; + }; + }; +} |
