Comment sécuriser son VPS/Serveur Dédié ?

Prérequis

Les prérequis sont:

- Un serveur VPS ou un serveur dédié. - Un accès SSH à votre service - Un client SSH (comme: Putty/Mobaxterm/Termius).

Ubuntu 20.04 LTS est utilisé.

1. MISE À JOUR DES PAQUETS

si vous n'êtes pas "root", veuillez exécuter cette commande:
1
sudo su
Copied!

Tout d'abord, nous devons mettre à jour les paquets de notre serveur...

Si vous n'avez rien sur votre vps:

1
apt update && apt full-upgrade -y
Copied!
Si vous avez déjà installé quelque chose... (pour éviter des problèmes)
1
apt update && apt upgrade -y
Copied!
Dans mon cas, mon serveur est "neuf" donc j'exécute la première commande... Si tout se passe bien vous devriez avoir quelque chose ressemblant à ceci:

2. CRÉATION D'UN NOUVELLE UTILISATEUR

Ensuite, nous allons créer un utilisateur et lui mettre les permissions root... exécutez la commande suivante, en modifiant "tuto" par le nom que vous voulez:

1
adduser tuto
Copied!
Ensuite, choisissez un bon mot de passe (c'est important), puis au moment où il vous demande des informations... Il vous suffit d'appuyer sur entrer pour ignorer. Comme ceci :
Nous allons ensuite attribuer les droits "sudo" à notre utilisateur... entrez ceci: (en remplaçant "tuto" par le nom de votre utilisateur)
1
usermod -aG sudo tuto
Copied!
Bravo, votre utilisateur (dans mon cas "tuto") à les permissions root !

3. MODIFICATIONS SSH (Port/Autorisation/...)

Maintenant, nous allons modifier nos paramètres ssh pour changer le port ainsi que permettre seulement l'utilisateur que nous venons de créer à se connecter en ssh

Pour commencer, nous devons aller dans /etc/ssh/sshd_config
1
nano /etc/ssh/sshd_config
Copied!
/etc/ssh/sshd_config
décommentez la ligne Port 22 et changer celui-ci par le port que vous souhaitez. (il est préférable d'utiliser des ports entre 1024 et 65535) Dans mon cas, je vais mettre 3333. Ensuite ajouter la ligne AllowUsers suivie du nom de l'utilisateur que vous avez créé avant Donc dans mon cas AllowUsers tuto vous devriez obtenir ceci :
/etc/ssh/sshd_config
Ensuite, tapez CTRL + X puis Y et entrer pour sauvegarder.
Nous allons "recharger" la configuration du service ssh:
1
service ssh reload
Copied!
Dans un nouvel onglet de votre client ssh, essayez de vous connecter avec le nouveau port et l'utilisateur root, résultat ça ne marche pas (normalement) (; Normal, Ducoup réessayé avec le nouvel utilisateur que vous avez créé auparavant (avec le nouveau port évidemment) et si tout se passe bien, vous devriez pouvoir vous connecter si non, veuillez refaire les étapes dans le première onglet.

4. MISE EN PLACE DU PARE-FEU DE BASE (UFW)

Optionnel, ce n'est pas très utile mais c'est comme même un plus pour la sécurité...
UFW Est, un pare-feu intégré à Ubuntu (et d'autres distributions), il est assez simple d'utilisation. Parfait pour la plupart des utilisateurs, nous allons faire une configuration très simple et fonctionnelle ...
Pour ajouter des "règles" pare-feu, il suffit d'exécuter la commande suivante suivie du port ou du service en question...
1
ufw allow VOTREPORT
Copied!
Si vous souhaitez activer le pare-feu, il faut impérativement ajouter le "ssh" en règle, dans mon cas le port ssh est 3333 donc je fais:
1
ufw allow 3333
Copied!
Vous pouvez aussi ajouter les ports que vous comptez utiliser comme le port 80 et 443 pour un éventuel serveur web...
Biens, pour activer UFW, nous devons effectuer la commande suivante :
1
ufw enable
Copied!
Pour vérifier que tout fonctionne : ufw status Si vous avez ajouté des ports après l'avoir activé, vous pouvez faire : (pour actualiser la configuration)
1
ufw reload
Copied!
Vous pouvez obtenir la liste des commandes en tapant ufw help
Voilà, vous avez vu comment mettre en place un petit firewall sur votre serveur...

5. INSTALLATION DE FAIL2BAN ?

Un incontournable de la protection contre le "bruteforce": Fail2Ban Pour commencer, installons-le !

1
apt install fail2ban -y
Copied!
Maintenant, on va créer le fichier de configuration locale et activer la protection du port ssh: Tout d'abord :
1
nano /etc/fail2ban/jail.local
Copied!
Ensuite, copiez ceci:
1
[default]
2
ignoreip = 127.0.0.1
3
findtime = 20min
4
bantime = 12h
5
maxretry = 3
6
7
8
[sshd]
9
enabled = true
10
port = 3333
11
maxretry = 3
Copied!
Les paramètres ont l'air assez clair, mais je vais comme même vous les décrire : - ignoreip = permet de blacklist votre ip - bantime = permet de définir le temps de bannissement - Maxretry = permet de définir le nombres d'essais
Veuillez modifier le port par celui que vous avez configuré avant...
Vous pouvez configurer des jails pour plusieurs services comme ftp/apache/nginx/... Pour en savoir plus: fail2ban [Wiki ubuntu-fr] (ubuntu-fr.org)
Ensuite, tapez CTRL + X puis Y et entrer pour sauvegarder.
Pour finir, nous allons vérifier qu'il y a aucune erreur et actualiser la configuration :
1
service fail2ban restart
Copied!
1
fail2ban-client status
Copied!
Vous devriez obtenir :

Fin !

Voilà, nous avons fait une sécurisation simple et efficace des accès ssh, si vous avez des questions, vous pouvez ouvrir un ticket sur Notre discord communautaire...
Rédigé par Takeus (Aidant) pour CUBIXSERV.
Dernière mise à jour 10mo ago