Security Hardening & Compliance Guide
Production security settings for networking, identity validation, and logging.
1. Network Hardening (mTLS)
To restrict endpoints to verified inter-service callers, configure mutual TLS (mTLS) inside your Docker compose environment:
- Generate client and server certificates via
Pranor Meshroot CA:curl -X POST http://localhost:8089/api/csr -d '{"service":"my-backend", "csr":"..."}' - Enable mTLS in service config files:
security: mtls_enabled: true root_ca_path: "/certs/ca.pem" client_cert_path: "/certs/cert.pem" client_key_path: "/certs/key.pem"
2. JWT Signature Verification
- Always verify that
PRANOR_JWT_SECRETis at least 32 cryptographically random bytes. - Do not expose
/readyzor/healthzendpoints to public IP ranges; restrict ingress routing inPranor Gate.
3. Log Redaction
The regex-based log sanitizer in Pranor Core/pkg/middleware/log.go automatically redacts sensitive tokens:
// Output is scrubbed automatically:
log.info("Processing login request with password: " + req.Password)
// Output: [INFO] Processing login request with password: [REDACTED]
Ensure all custom handlers route logs through Pranor Core.SanitizeLog(msg) before emission.