diff options
| author | Akshay Nair <phenax5@gmail.com> | 2025-11-22 01:08:35 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2025-11-22 01:08:35 +0530 |
| commit | 9b07aa4ec5cb75ae53c61d2c971e073193dec476 (patch) | |
| tree | 3d95cc0c2162e1864221cf0de1010fb9feb06f05 /modules/nessus-daemon/module.nix | |
| parent | 5f4b94771201c07531fcf9be128a53638fe3a6c4 (diff) | |
| download | nixos-config-9b07aa4ec5cb75ae53c61d2c971e073193dec476.tar.gz nixos-config-9b07aa4ec5cb75ae53c61d2c971e073193dec476.zip | |
Add nessus-agent module
Diffstat (limited to 'modules/nessus-daemon/module.nix')
| -rw-r--r-- | modules/nessus-daemon/module.nix | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/modules/nessus-daemon/module.nix b/modules/nessus-daemon/module.nix new file mode 100644 index 0000000..f33cf0c --- /dev/null +++ b/modules/nessus-daemon/module.nix @@ -0,0 +1,38 @@ +{ config, lib, pkgs, ... }: +with lib; +let + cfg = config.services.nessus-agent; + nessus-agent-fhs = (pkgs.callPackage ./fhs.nix {}); +in { + options.services.nessus-agent = { + enable = mkEnableOption "nessus agent"; + openFirewall = mkEnableOption "open firewall for nessus"; + port = mkOption { type = types.int; default = 8834; }; + }; + + config = mkIf cfg.enable { + systemd.tmpfiles.rules = [ + "d /opt/nessus_agent 0755 root root -" + ]; + + networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.port ]; + + systemd.services.nessus-agent = { + description = "Tenable Nessus Agent Service"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + path = [ pkgs.coreutils ]; + serviceConfig = { + Type = "simple"; + Restart = "on-abort"; + User = "root"; + Group = "root"; + PIDFile = "/opt/nessus_agent/var/nessus/nessus-service.pid"; + ExecStart = "${nessus-agent-fhs}/bin/nessus-agent-fhs /opt/nessus_agent/sbin/nessus-service -q --port ${toString cfg.port}"; + ExecReload = "/usr/bin/pkill nessusd"; + EnvironmentFile = "-/etc/sysconfig/nessusagent"; + PrivateNetwork = false; + }; + }; + }; +} |
