This page provides security best practices for deploying and operating Pterodactyl Wings in production environments.
Network Security
Firewall Configuration
Restrict access to Wings ports using firewall rules.
UFW (Ubuntu/Debian)
firewalld (CentOS/RHEL)
iptables
Trusted Proxies
If Wings is behind a reverse proxy, configure trusted proxies:
Configuration from config/config.go:98-99:
Trusted proxies are set in router/router.go:20-23:
CORS Configuration
Wings automatically sets CORS headers for the Panel:
Add additional allowed origins:
Never use "*" for allowed origins in production as it defeats CORS security.
Private Network Access
For internal network deployments:
This sets the Access-Control-Request-Private-Network header for RFC1918 networks.
SSL/TLS Best Practices
Always Use HTTPS
Never run Wings without SSL in production:
Certificate Management
- Use Let’s Encrypt for free, automated certificates
- Enable auto-renewal via Certbot timer
- Monitor expiration with alerting
- Use full chain (
fullchain.pem, not cert.pem)
See SSL Certificates for detailed configuration.
TLS Version Enforcement
Wings enforces TLS 1.2+ by default:
Never disable this or allow TLS 1.0/1.1.
Authentication Security
Token Management
- Generate strong tokens:
- Store securely:
-
Rotate regularly (quarterly recommended)
-
Use systemd credentials for enhanced security:
WebSocket Security
WebSocket JWTs are automatically managed by the Panel:
- Tokens expire after configured duration
- Tokens are denied on Wings restart
- Tokens can be invalidated per-user/server
- Rate limiting prevents abuse
See Authentication for details.
SFTP Authentication
Prefer public key authentication:
- Generate SSH key:
-
Add public key in Panel under user settings
-
Connect:
Disable password authentication if not needed (Panel configuration).
System Hardening
Operating System Updates
Keep your system updated:
Wings Updates
Update Wings regularly:
Subscribe to Wings releases for notifications.
Docker Security
- Keep Docker updated:
- Enable user namespace remapping:
- Use Docker rootless mode (advanced):
- Limit Docker daemon attack surface:
Kernel Security
Enable security modules:
AppArmor (Ubuntu/Debian):
SELinux (CentOS/RHEL):
File System Security
- Restrict permissions:
- Enable disk quotas (if supported):
- Monitor disk usage:
Container Isolation
Resource Limits
Enforce container limits:
Network Isolation
Isolate containers from each other:
Rootless Containers
For maximum security, run Wings in rootless mode:
Requirements:
- Docker configured for rootless
- Wings running as non-root user
- Proper UID/GID mapping
See Permissions for configuration details.
Monitoring & Logging
Enable Logging
Wings logs to /var/log/pterodactyl/wings.log by default.
Configure log rotation:
Wings automatically creates /etc/logrotate.d/wings:
Monitor Logs
Real-time monitoring:
View recent errors:
Check Wings status:
Intrusion Detection
Install fail2ban for brute force protection:
Create /etc/fail2ban/jail.d/wings-sftp.conf:
System Monitoring
Monitor system resources:
Consider monitoring solutions:
- Prometheus + Grafana
- Netdata
- Datadog
- New Relic
Backup Security
Secure Backup Storage
- Encrypt backups at rest and in transit
- Use dedicated credentials for backup storage
- Restrict backup access to Wings only
- Enable versioning on S3/object storage
Local Backup Permissions
Backup Configuration
Incident Response
Security Checklist
If you suspect a compromise:
- Isolate the system:
- Review logs:
- Check for unauthorized access:
- Verify file integrity:
- Rotate credentials:
- Change Wings token
- Regenerate SFTP host key
- Revoke all WebSocket tokens
- Update and patch:
Compliance & Standards
PCI DSS Considerations
If handling payment card data:
- Encrypt all traffic (TLS 1.2+)
- Implement logging and monitoring
- Restrict network access via firewall
- Regular security updates
- Access control and authentication
GDPR Compliance
- Encrypt personal data at rest and in transit
- Implement access logging
- Data retention policies
- User data deletion capabilities
- Privacy by design
SOC 2 Alignment
- Access controls (authentication, authorization)
- Monitoring and logging
- Change management (updates, patches)
- Incident response procedures
- Data protection (encryption, backups)
Configuration Review Checklist
Use this checklist to verify your security configuration:
Additional Resources
Summary
Key security principles for Wings:
- Defense in depth: Multiple security layers
- Least privilege: Minimal permissions required
- Encryption everywhere: TLS for all communications
- Regular updates: System, Wings, and Docker
- Monitoring and logging: Detect and respond to incidents
- Isolation: Containers, users, and networks
- Strong authentication: Tokens, keys, and validation
- Backup and recovery: Tested and encrypted
Follow these practices to maintain a secure Wings deployment.