[Unit] Description=EdgeGuard WAF SPOE Agent (Coraza/OWASP CRS) Documentation=https://git.netcell-it.de/projekte/edgeguard-native After=network-online.target postgresql.service edgeguard-api.service Wants=network-online.target Requires=postgresql.service [Service] Type=simple User=edgeguard Group=edgeguard ExecStart=/usr/bin/edgeguard-waf Restart=on-failure RestartSec=5 # Hardening — WAF agent only needs DB access and one TCP listen socket. NoNewPrivileges=true ProtectSystem=strict ProtectHome=true ProtectKernelTunables=true ProtectKernelModules=true ProtectControlGroups=true PrivateTmp=true PrivateDevices=true RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 SystemCallFilter=@system-service # CRS rules are read from /usr/share/edgeguard/waf/crs/ (read-only, OK). # Alerts/logs are written to /var/log/edgeguard/. ReadWritePaths=/var/log/edgeguard [Install] WantedBy=multi-user.target