Started off by
- Enabling unattended updates
- Enable only ssh login with key
- Create user with sudo privileges
- Disable root login
- Enable ufw with necessary ports
- Disable ping
- Change ssh default port 21 to something else.
Got the ideas from networkchuck
Did this on the proxmox host as well as all VMs.
Any suggestions?
If it’s a Debian system, “Create user with sudo privileges” and “Disable root login” can be done during initial setup. Just leave the root password blank and it’ll disable the root user and grant sudo permission to the regular user you create.
Create a separate management VLAN and use it for all your infra (web UIs of all your networking hardware, Proxmox, SSH for servers, etc).
For unattended upgrades, ensure the auto updaters are properly configured so they’re used ONLY for bug and security fixes, nor for minor or major releases! Debian
unattended-upgrades
has good settings out-of-the-box but you may want to add any custom repos you’re using. Make sure you have an email relay server configured in the Exim config, as it usesapt-listchanges
to email the changelogs to you.But above all, press the power button to turn it off and then never turn it on again. 100% unhackable.