Production Checklist
Use this comprehensive checklist before launching KoreShield in production environments. Each section covers critical configuration, security, and operational considerations.Security
Set API Authentication
Configure Verify clients include the key:
KORESHIELD_API_KEY and require it on all client requests:Secure Provider Credentials
Store all provider API keys in a secrets manager (AWS Secrets Manager, HashiCorp Vault, etc.):Never commit keys to version control.
Review Security Policies
Validate security configuration matches your requirements. See Security Policies for guidance.
Configuration
Keep separate configuration files for each environment:
config.dev.yaml, config.staging.yaml, config.prod.yamlNetworking
Configure Health Check Endpoint
Verify Configure load balancer:
/health is reachable for load balancer health checks:Observability
Reliability
Enable Distributed Rate Limiting
Run Load Tests
Validate latency and throughput under production load:Monitor:
- p95/p99 latency
- Throughput (requests/sec)
- Error rate
- Resource utilization
Pre-Deployment Validation
How do I test my production configuration?
How do I test my production configuration?
Run through this validation sequence:
What should I monitor during initial deployment?
What should I monitor during initial deployment?
Watch these metrics closely during the first 24-48 hours:
- Request Success Rate: Should be >99%
- Latency p95: Baseline for normal operation
- Attack Detection Rate: Understand your threat landscape
- False Positive Rate: Monitor blocked legitimate requests
- Provider Errors: Ensure stable provider connectivity
- Redis Connectivity: Verify distributed rate limiting
- Resource Usage: CPU, memory, network
How do I handle false positives in production?
How do I handle false positives in production?
If legitimate requests are being blocked:
-
Immediate: Switch to
warnmode temporarily -
Identify: Review security logs for patterns
- Tune: Add allowlist rules for legitimate patterns
- Monitor: Test in staging first
-
Re-enable: Switch back to
blockmode after tuning
What's the rollback plan if something goes wrong?
What's the rollback plan if something goes wrong?
Prepare a rollback strategy:
-
Configuration Backup: Keep previous working config
-
Quick Rollback: Revert to previous version
-
Traffic Routing: Redirect traffic to old version
- Monitor: Verify old version is stable
Production Checklist Summary
Before going live, verify:- API authentication configured (
KORESHIELD_API_KEYset) - Security policy enforcement enabled
- Provider credentials in secrets manager
- Production
config.yamlcreated (not example file) - Structured logging enabled (
json_logs: true) - Container mode enabled if applicable
- TLS termination configured at load balancer
- Network access restricted to trusted sources
- Health check endpoint (
/health) accessible - Prometheus metrics scraping configured
- Alerting rules set up for critical events
- Log shipping to monitoring stack working
- Redis enabled for distributed rate limiting
- Load testing completed successfully
- Provider failover behavior tested
- Auto-scaling configured (if applicable)
- Monitoring dashboard created
- Rollback plan documented and tested
Save this checklist and review it for every production deployment or configuration change.
Post-Deployment
After deploying to production:- Monitor actively for the first 24-48 hours
- Review security logs for unexpected patterns
- Track performance metrics against baselines
- Document any issues and resolutions
- Schedule regular reviews of security policies and configuration
Related Documentation
Security Policies
Configure threat detection and response
General Settings
Review all configuration options
Rate Limiting
Set up Redis for distributed rate limiting
Monitoring
Monitor production metrics and health