Salut,
sur mes serveurs, je fais la configuration suivante :
Modifier le mot de passe associé à l’utilisateur root
Ajout d'une clé ssh pour l'utilisateur root (ou utilisateur custom)
Activer seulement la connexion ssh par clé
Autoriser seulement notre utilisateur (root ou utilisateur custom) Ă se connecter en ssh (AllowUsers)
Installer et configurer le paquet Fail2ban (Ă bien config)
Configurer le pare-feu interne : iptables
Sauvegarder votre système et vos données (seulement pour mes données sensibles)
Pour du web, un utilisateur / vhost par site
Pour du web, configuration du serveur (nginx) avec au moins A sur sslabs
Pour du web, FTP chiffré
Généralement, je ne fais pas plus (et donc pas tout les points que tu as cités) et ça me semble suffisant pour du serveur personnel.
par manque de temps, quelques rapides explications :
- utilisation de clé ssh car plus robuste que les passwords et plus simple d'utilisation
- fail2ban permet d'empĂŞcher du forcebrute sur le ssh / ou autre (ftp etc)
- iptables permet de maitriser les ports que tu ouvres et plus encore