SSH baseline
- Disable root login
- Disable password auth
- Use a dedicated sudo user
- Do not test changes in your only open session
Firewall
Expose only what needs to be public. For most setups that means SSH plus HTTP/HTTPS, and even SSH can often be IP-restricted.
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
Updates and services
Use systemd, inspect logs with journalctl, and keep the gateway behind a reverse proxy instead of binding it to a public interface.
Do not cheat this
Temporary public ports have a way of becoming permanent when nobody writes the follow-up ticket.
Backups
- Document what must survive a rebuild
- Back up configs and secrets appropriately
- Test restore assumptions before you need them
Keep the next step obvious.
The point of this archive is not to impress you with complexity. It is to help you pick the right hosting path, with fewer avoidable mistakes.