Retour à l'aperçu

Le coffre-fort BrickLink : Sécuriser votre VPS

Dès qu'un nouveau serveur est en ligne, des réseaux de bots automatisés commencent à le scanner pour trouver des vulnérabilités. Étant donné que Bricksync ne doit communiquer que vers l'extérieur, nous pouvons verrouiller votre serveur comme un coffre-fort. En 15 minutes, vous rendrez votre système invisible aux attaquants.

AVERTISSEMENT IMPORTANT : Uniquement pour les serveurs Bricksync dédiés !
Ce tutoriel suppose que seul Bricksync s'exécute sur ce serveur. Hébergez-vous également un site web (par ex. un blog WordPress, une boutique) ou un serveur de messagerie sur ce même serveur ?

Alors, arrêtez-vous ici s'il vous plaît ! Si vous exécutez l'étape 4 (le pare-feu) exactement comme indiqué, votre site web disparaîtra instantanément d'internet car nous fermons radicalement tous les ports.
Informations préalables pour ce tutoriel :
Pour ce tutoriel, connectez-vous via PuTTY en utilisant votre utilisateur normal (par ex., bricksync) que nous avons créé dans le guide d'installation. Étant donné que nous modifions des paramètres système profonds, nous faisons précéder chaque commande par sudo – cela vous donne des droits d'administrateur pour cette seule commande.

1 Le pilote automatique pour les mises à jour

Un système sécurisé est un système à jour. D'abord, nous installons toutes les mises à jour en attente, puis nous configurons "Unattended Upgrades". Cela permet au serveur d'installer les correctifs de sécurité critiques de manière totalement automatique pendant la nuit.

Mettez le système à jour :

sudo apt update && sudo apt upgrade -y

(Remarque : Si un écran violet apparaît et pose des questions sur les services, appuyez simplement sur "Entrée" pour confirmer la sélection par défaut.)

Activez les mises à jour de sécurité automatiques :

sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades

Un écran rose/bleu apparaîtra. Utilisez les touches fléchées pour sélectionner "Yes" (ou "Oui") et appuyez sur Entrée.

2 Le videur numérique (Fail2Ban)

Les bots essaient différents mots de passe chaque seconde ("Attaque par force brute"). Le programme Fail2Ban stoppe cela : Si quelqu'un saisit un mot de passe erroné trop souvent, son adresse IP est complètement bloquée pendant 24 heures.

sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

C'est tout ! Fail2Ban est immédiatement actif et protège votre serveur en arrière-plan.

3 Sécuriser SSH (Port et Root)

Presque toutes les attaques visent le port par défaut (22) et l'utilisateur par défaut (root). Nous allons modifier les deux. Nous déplaçons l'accès vers le port 54321 et interdisons la connexion directe en tant que "root" depuis internet.

sudo nano /etc/ssh/sshd_config
Comment modifier le fichier :
1. Trouvez la ligne #Port 22 (souvent vers le haut).
2. Supprimez le symbole dièse (#) et remplacez le nombre par 54321. (La ligne doit maintenant être : Port 54321).

3. Appuyez sur CTRL + W, tapez PermitRootLogin, et appuyez sur Entrée.
4. Changez la ligne de PermitRootLogin yes à PermitRootLogin no.

5. Sauvegardez avec CTRL + O (Entrée) et quittez avec CTRL + X.

4 Monter le pare-feu (UFW)

Avant d'activer les modifications de l'étape 3, nous DEVONS indiquer à notre serveur que le nouveau port 54321 est autorisé à travers le pare-feu. Si nous oublions cela, nous nous bloquerons nous-mêmes à l'extérieur !

Copiez ce bloc en entier et appuyez sur Entrée :

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 54321/tcp
sudo ufw enable

(Si un avertissement "Command may disrupt existing ssh connections" apparaît, tapez "y" et appuyez sur Entrée.)

Votre serveur bloque désormais tout le trafic entrant provenant de l'extérieur, à la seule exception de votre nouveau port SSH secret.

5 Activer les modifications et tester

Maintenant, nous appliquons les nouvelles politiques de sécurité en redémarrant le service SSH.

sudo systemctl restart ssh
NE FERMEZ PAS ENCORE VOTRE FENÊTRE ACTUELLE !
Gardez cette fenêtre PuTTY ouverte. Ouvrez PuTTY une seconde fois pour tester si le nouvel accès fonctionne. Si vous avez fait une erreur de frappe, vous pourrez facilement la corriger dans la première fenêtre (toujours active).

Le test dans la nouvelle fenêtre :

  • Dans PuTTY, entrez à nouveau votre adresse IP sous Host Name (or IP address).
  • Changez le champ Port (généralement juste à côté) de 22 à 54321.
  • Cliquez sur "Open" et connectez-vous en tant que bricksync.

Ça a marché ? Parfait ! Vous êtes connecté. Vous pouvez maintenant fermer l'ancienne fenêtre PuTTY en toute sécurité. Votre serveur est maintenant un coffre-fort invisible pour le monde extérieur, installant automatiquement les mises à jour de sécurité et bloquant les attaquants.

FAQ & Sortie de secours

Vous vous êtes enfermé dehors ou vous avez un doute ? Pas de panique !

Au secours, je ne peux plus me connecter en tant que "root" !
C'est exactement le but et cela protège votre serveur ! Vous pouvez et devez désormais toujours vous connecter en tant que bricksync.

Mais j'ai besoin des privilèges root, que faire ?
Pas de problème. Connectez-vous en tant que bricksync. Si vous souhaitez exécuter une commande en tant qu'administrateur, placez simplement sudo devant.

Si vous voulez passer en mode root de manière permanente (par ex. parce que vous avez beaucoup de configuration à faire), tapez simplement :
sudo su -
Après avoir entré votre mot de passe, vous êtes à nouveau instantanément l'utilisateur root.
Comment annuler le blocage de root ?
Si vous voulez vraiment autoriser à nouveau les connexions directes via internet pour l'utilisateur root (non recommandé) :

1. Connectez-vous via PuTTY.
2. Ouvrez la configuration : sudo nano /etc/ssh/sshd_config
3. Remplacez la ligne PermitRootLogin no par PermitRootLogin yes.
4. Sauvegardez (CTRL+O, Entrée) et Quittez (CTRL+X).
5. Redémarrez le service : sudo systemctl restart ssh
Comment remettre le port sur 22 ?
1. Ouvrez la configuration : sudo nano /etc/ssh/sshd_config
2. Remplacez Port 54321 par Port 22.
3. Sauvegardez et Quittez.
4. IMPORTANT : Autorisez le port 22 dans le pare-feu : sudo ufw allow 22/tcp
5. Rechargez le service SSH : sudo systemctl restart ssh
J'ai aussi un site web sur le serveur. Que dois-je faire pour le pare-feu ?
Si vous gérez un serveur web (comme Apache ou Nginx pour une page d'accueil) en plus de Bricksync, vous devez ouvrir les ports appropriés pour les visiteurs provenant d'internet avant d'activer le pare-feu.

En plus des commandes de l'étape 4, exécutez ce qui suit :
sudo ufw allow 80/tcp (pour HTTP)
sudo ufw allow 443/tcp (pour HTTPS / SSL)