| Version | Supported |
|---|---|
| 1.x.x | ✅ |
| < 1.0 | ❌ |
We take security seriously. If you discover a security vulnerability, please report it responsibly.
DO NOT open a public GitHub issue for security vulnerabilities.
Instead, please email: security@fenilsonani.com
Include:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Any suggested fixes (optional)
- Acknowledgment: We'll respond within 48 hours
- Assessment: We'll investigate and assess severity within 7 days
- Fix Timeline: Critical issues will be patched ASAP, others within 30 days
- Disclosure: We'll coordinate disclosure timing with you
When deploying this email server, please follow these guidelines:
- Firewall: Only expose necessary ports (25, 587, 465, 993, 8443)
- Admin Panel: Never expose port 8080 directly; use a reverse proxy with HTTPS
- Redis: Bind to localhost or use authentication if exposed
- VPS: Use a reputable provider with DDoS protection
- Always enable
auto_tls: truein production - Use
require_tls: truefor submission ports - Regularly update certificates
- Use strong passwords (minimum 12 characters recommended)
- Consider implementing fail2ban for brute force protection
- Review audit logs regularly
- Keep the server updated
- Subscribe to release notifications
- Test updates in staging before production
- Regular backups of
/var/lib/mailserver/ - Test backup restoration periodically
- Store backups securely off-server
- Enable Prometheus metrics
- Set up alerts for:
- High queue depth
- Authentication failures
- Delivery errors
- Resource usage
- Greylisting: Enabled by default for spam prevention
- SPF/DKIM/DMARC: Should be configured for all domains
- Rate Limiting: Implemented on admin panel
- TLS Fallback: For compatibility, non-TLS delivery is allowed by default when
require_tls: false
- Passwords: Hashed with Argon2id (OWASP recommended)
- Emails: Stored in Maildir format on filesystem (not encrypted at rest)
- Metadata: SQLite database with standard permissions (not encrypted)
- Logs: May contain email addresses and IPs; rotate and secure accordingly
At-rest encryption: This server does not encrypt data at rest. For sensitive deployments, use full-disk encryption (LUKS on Linux, FileVault on macOS) on your server.
- Argon2id password hashing
- TLS 1.2+ for all encrypted connections
- DKIM signing for outbound mail
- SPF and DMARC verification for inbound
- Rate limiting on authentication
- Audit logging for administrative actions
- Circuit breakers for delivery
We appreciate security researchers who responsibly disclose vulnerabilities. Contributors will be acknowledged (with permission) in release notes.