We actively maintain security updates for configurations targeting the following platforms:
| Platform | Version | Supported |
|---|---|---|
| Ubuntu | 24.04 LTS | ✅ |
| Ubuntu | 22.04 LTS | ✅ |
| Ubuntu | 20.04 LTS | ✅ |
| Debian | 12 (Bookworm) | ✅ |
| Debian | 11 (Bullseye) | ✅ |
| Debian | 10 (Buster) | ❌ |
| Ubuntu | 18.04 LTS | ❌ |
If you discover a security vulnerability in any of the configurations, please report it responsibly.
- Do NOT open a public issue for security vulnerabilities
- Send details to the repository maintainer via private communication
- Include:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if any)
- Acknowledgment within 48 hours
- Assessment and response within 7 days
- Credit in the fix commit (unless you prefer anonymity)
When using configurations from this repository:
- Review all configurations before applying to production systems
- Replace all placeholder values (
<YOUR_USERNAME>,<YOUR_SSH_PUBLIC_KEY>, etc.) - Test in a staging environment first
- Backup existing configurations before applying changes
Never commit to this repository:
- Private SSH keys
- Passwords or passphrases
- API keys or tokens
- Personal identification information
- Internal IP addresses or hostnames
- Any credentials or secrets
- Use Ed25519 keys (preferred) or RSA 4096-bit minimum
- Protect private keys with a strong passphrase
- Use separate keys for different purposes
- Rotate keys periodically
# Generate a secure Ed25519 key
ssh-keygen -t ed25519 -C "your_email@example.com"When customizing templates:
- Principle of least privilege: Only grant necessary permissions
- Avoid NOPASSWD sudo in production when possible
- Enable firewall (ufw/iptables) with minimal open ports
- Keep systems updated: Automated security updates are enabled by default
- Monitor logs: Set up log aggregation and alerting
-
SSH hardening
- Password authentication disabled
- Root login disabled
- Public key authentication enforced
- Strict modes enabled
-
Automatic updates
- Unattended security updates enabled
- Configurable reboot schedule
-
File permissions
- Swap file: 600
- SSH config: 644
- Private keys: 600
Consider adding these for production:
# Fail2ban for brute force protection
apt install fail2ban
# UFW firewall
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw enable
# Audit logging
apt install auditdThese configurations provide a foundation for various compliance requirements, but additional hardening may be needed:
- CIS Benchmarks: Partial compliance; review CIS Ubuntu/Debian benchmarks
- PCI-DSS: Additional controls required
- HIPAA: Additional controls and documentation required
- SOC 2: Foundational controls included
Before deploying to production:
- All placeholder values replaced
- SSH keys are unique per environment
- Firewall rules configured
- Unnecessary services disabled
- Log monitoring configured
- Backup strategy in place
- Incident response plan documented
- Access controls documented
- Configuration tested in staging
- CIS Benchmarks
- Ubuntu Security Guide
- Debian Security Information
- NIST Cybersecurity Framework
- OWASP Cheat Sheet Series
Security is a continuous process, not a destination. Regularly review and update your configurations.