Un VPS neuf est joignable depuis tout internet dès qu'il démarre, et les scanners automatiques le trouvent en quelques minutes. Rien de ce qui suit n'est avancé ; c'est l'ordre qui compte, car les faire dans le mauvais ordre laisse une fenêtre ouverte.
1. Mettre à jour, avant toute chose
apt update && apt upgrade -y
2. Un utilisateur qui n'est pas root
Travailler en root, c'est faire que chaque erreur soit irrattrapable et chaque compromission totale. Créez un utilisateur, donnez-lui sudo, et gardez root pour les rares choses qui l'exigent.
adduser ops
usermod -aG sudo ops
3. Votre clé sur cet utilisateur, testée dans une seconde fenêtre
ssh-copy-id ops@your-server-ip
# then, in a NEW window:
ssh ops@your-server-ip
4. Couper les connexions par mot de passe
Seulement une fois la clé fonctionnelle. Ce seul changement met fin aux attaques par force brute contre votre serveur, parce qu'il ne reste plus rien à forcer.
# /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin no
# then
systemctl reload ssh
5. Un pare-feu qui commence fermé
Autorisez ce dont vous avez besoin et rien d'autre. Autorisez SSH en premier, sinon la commande suivante vous mettra dehors.
ufw allow OpenSSH
ufw allow 80,443/tcp
ufw enable
6. L'horloge
Un serveur dont l'horloge est fausse ne peut pas valider un certificat TLS, et les erreurs qu'il produit ressemblent à tout sauf à un problème d'horloge.
timedatectl set-ntp true
timedatectl
