Skip to main content
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

  1. Use Let’s Encrypt for free, automated certificates
  2. Enable auto-renewal via Certbot timer
  3. Monitor expiration with alerting
  4. 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

  1. Generate strong tokens:
  1. Store securely:
  1. Rotate regularly (quarterly recommended)
  2. 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:
  1. Generate SSH key:
  1. Add public key in Panel under user settings
  2. 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

  1. Keep Docker updated:
  1. Enable user namespace remapping:
  1. Use Docker rootless mode (advanced):
  1. Limit Docker daemon attack surface:

Kernel Security

Enable security modules: AppArmor (Ubuntu/Debian):
SELinux (CentOS/RHEL):

File System Security

  1. Restrict permissions:
  1. Enable disk quotas (if supported):
  1. 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

  1. Encrypt backups at rest and in transit
  2. Use dedicated credentials for backup storage
  3. Restrict backup access to Wings only
  4. Enable versioning on S3/object storage

Local Backup Permissions

Backup Configuration

Incident Response

Security Checklist

If you suspect a compromise:
  1. Isolate the system:
  1. Review logs:
  1. Check for unauthorized access:
  1. Verify file integrity:
  1. Rotate credentials:
  • Change Wings token
  • Regenerate SFTP host key
  • Revoke all WebSocket tokens
  1. Update and patch:

Contact Points

Compliance & Standards

PCI DSS Considerations

If handling payment card data:
  1. Encrypt all traffic (TLS 1.2+)
  2. Implement logging and monitoring
  3. Restrict network access via firewall
  4. Regular security updates
  5. Access control and authentication

GDPR Compliance

  1. Encrypt personal data at rest and in transit
  2. Implement access logging
  3. Data retention policies
  4. User data deletion capabilities
  5. Privacy by design

SOC 2 Alignment

  1. Access controls (authentication, authorization)
  2. Monitoring and logging
  3. Change management (updates, patches)
  4. Incident response procedures
  5. Data protection (encryption, backups)

Configuration Review Checklist

Use this checklist to verify your security configuration:
  • SSL/TLS enabled with valid certificates
  • Firewall configured and enabled
  • Strong authentication tokens in use
  • Trusted proxies configured (if applicable)
  • System and Wings regularly updated
  • Docker security hardening applied
  • Container resource limits enforced
  • File permissions properly restricted
  • Logging enabled and monitored
  • Backups encrypted and tested
  • Intrusion detection configured
  • Security updates automated
  • Incident response plan documented
  • Access to Wings API restricted to Panel IP
  • SFTP using key-based authentication

Additional Resources

Summary

Key security principles for Wings:
  1. Defense in depth: Multiple security layers
  2. Least privilege: Minimal permissions required
  3. Encryption everywhere: TLS for all communications
  4. Regular updates: System, Wings, and Docker
  5. Monitoring and logging: Detect and respond to incidents
  6. Isolation: Containers, users, and networks
  7. Strong authentication: Tokens, keys, and validation
  8. Backup and recovery: Tested and encrypted
Follow these practices to maintain a secure Wings deployment.