Mission 1 : préparer son shell local
Il vous faut un terminal capable de faire du SSH. Une seule option suffit :
Windows : PowerShell (ssh intégré), WSL Ubuntu, PuTTY ou MobaXterm.
Mac / Linux : le Terminal, tout est déjà là.
vous@portable:~$ ssh -V
Mission 2 : commander son VPS
Choisissez votre plan et commandez dès maintenant (la validation du compte peut prendre du temps) :
Plan A : Linode - essai gratuit, économique.
Plan B : Hetzner - européen, excellent prix.
Plan C : OVH - présent au Québec, service en français.
Plan D : autres - validez avec votre prof.
Prenez la plus petite taille de VPS (1 vCPU, 1 Go) avec Ubuntu LTS ou Debian. Notez précieusement l'adresse IP et le mot de passe root.
Mission 3 : première connexion en root
vous@portable:~$ ssh root@ton.adresse.ip
Répondez yes à la question sur l'empreinte du serveur, puis entrez le mot de passe root.
Vous êtes dans le shell distant ! Regardez l'invite : elle affiche maintenant le nom de votre serveur.
Mission 4 : créer les usagers sudo
On ne travaille jamais en root au quotidien. Créez votre usager et celui du prof :
root@serveur:~# adduser prenom
root@serveur:~# usermod -aG sudo prenom
root@serveur:~# adduser nadine
root@serveur:~# usermod -aG sudo nadine
Testez ensuite votre usager :
root@serveur:~# exit
vous@portable:~$ ssh prenom@ton.adresse.ip
prenom@serveur:~$ sudo apt update
Mission 5 : lever le firewall UFW
prenom@serveur:~$ sudo apt install ufw
prenom@serveur:~$ sudo ufw reset
prenom@serveur:~$ sudo ufw allow 22/tcp
prenom@serveur:~$ sudo ufw allow 80/tcp
prenom@serveur:~$ sudo ufw allow 443/tcp
prenom@serveur:~$ sudo ufw enable
prenom@serveur:~$ sudo ufw status verbose
La règle du port 22 AVANT le enable, sinon vous vous barrez dehors ! (En cas de pépin : console KVM du fournisseur, puis sudo ufw disable.)
Mission 6 : engager fail2ban
prenom@serveur:~$ sudo apt install fail2ban -y
prenom@serveur:~$ sudo systemctl enable --now fail2ban
prenom@serveur:~$ sudo apt install jed
prenom@serveur:~$ sudo jed /etc/fail2ban/jail.local
Dans jail.local , écrivez :
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
findtime = 300
bantime = 28800
Sauvegardez (Ctrl-X Ctrl-S), sortez (Ctrl-X Ctrl-C), puis :
prenom@serveur:~$ sudo systemctl restart fail2ban
prenom@serveur:~$ sudo fail2ban-client status sshd
5 tentatives ratées en 5 minutes = bannissement de 8 heures. Votre videur est en poste !
Bravo, serveur sécurisé ! Usager sudo, firewall levé, fail2ban en patrouille :
votre VPS est prêt pour la semaine 1, où il deviendra un vrai serveur web.