From 547a264671ae2ee7b35a08fd1636fac493920e96 Mon Sep 17 00:00:00 2001 From: sodiboo Date: Wed, 23 Jul 2025 05:48:50 +0200 Subject: [PATCH] nixos/meilisearch: harden --- nixos/modules/services/search/meilisearch.nix | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/nixos/modules/services/search/meilisearch.nix b/nixos/modules/services/search/meilisearch.nix index e8c6c3e7cdc6..f8e7bb573ca9 100644 --- a/nixos/modules/services/search/meilisearch.nix +++ b/nixos/modules/services/search/meilisearch.nix @@ -237,6 +237,45 @@ in WorkingDirectory = "%S/meilisearch"; RuntimeDirectory = "meilisearch"; RuntimeDirectoryMode = "0700"; + + ProtectSystem = "strict"; + ProtectHome = true; + ProtectClock = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectControlGroups = true; + PrivateTmp = true; + PrivateMounts = true; + PrivateUsers = true; + PrivateDevices = true; + RestrictRealtime = true; + RestrictNamespaces = true; + RestrictSUIDSGID = true; + LockPersonality = true; + MemoryDenyWriteExecute = true; + + ProcSubset = "pid"; + ProtectProc = "invisible"; + + NoNewPrivileges = true; + + # Meilisearch does not support listening on AF_UNIX sockets, + # so we currently restrict it to only AF_INET and AF_INET6. + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; + + CapabilityBoundingSet = ""; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "~@privileged @resources" + ]; + + UMask = "0077"; }; }; };