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:

sudo su

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

Si vous n'avez rien sur votre vps:

apt update && apt full-upgrade -y

Si vous avez déjà installé quelque chose... (pour éviter des problèmes)

apt update && apt upgrade -y

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:

adduser tuto

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)

usermod -aG sudo tuto

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

nano /etc/ssh/sshd_config
/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:

service ssh reload

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...

ufw allow VOTREPORT

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:

ufw allow 3333

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 :

ufw enable

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)

ufw reload

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 !

apt install fail2ban -y

Maintenant, on va créer le fichier de configuration locale et activer la protection du port ssh: Tout d'abord :

nano /etc/fail2ban/jail.local

Ensuite, copiez ceci:

[default]
ignoreip = 127.0.0.1
findtime = 20min
bantime = 12h
maxretry = 3
[sshd]
enabled = true
port = 3333
maxretry = 3

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 :

service fail2ban restart
fail2ban-client status

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.