Un serveur non sécurisé est une invitation ouverte aux hackers. Chez Theory7, nous voyons quotidiennement des tentatives de compromettre des serveurs via des attaques par force brute, des exploits et d'autres méthodes. Avec les bonnes mesures de sécurité, vous pouvez bloquer la grande majorité de ces attaques. Dans ce guide, nous abordons les essentiels de la sécurité des serveurs.

Pourquoi la sécurité des serveurs est cruciale

Un serveur piraté peut entraîner :

  • Perte de données - Fichiers importants supprimés ou chiffrés
  • Envoi de spam - Votre serveur envoie du spam, votre IP se retrouve sur des listes noires
  • Hébergement de malware - Votre serveur héberge du contenu nuisible
  • Attaques DDoS - Votre serveur est utilisé pour attaquer d'autres
  • Dommages à la réputation - Votre domaine et votre IP sont contaminés

Prévenir est mille fois mieux que guérir. Il est essentiel de protéger votre serveur contre ces menaces, non seulement pour protéger vos propres données, mais aussi pour garantir l'intégrité de vos clients et utilisateurs.

Sécuriser SSH

SSH est la principale porte d'accès à votre serveur. Sécurisez-la soigneusement.

Changer le port SSH

Le port par défaut 22 est constamment scanné. Changez-le pour un autre port :

sudo nano /etc/ssh/sshd_config

Trouvez la ligne Port 22 et changez-la par exemple en :

Port 2222

Redémarrez SSH après la modification :

sudo systemctl restart sshd

N'oubliez pas de mettre à jour le pare-feu pour le nouveau port. Vous pouvez le faire en mettant à jour les règles du pare-feu afin que le nouveau port soit accessible.

Désactiver la connexion root

Désactivez la connexion root directe. Travaillez avec un utilisateur normal et utilisez sudo pour les tâches administratives :

sudo nano /etc/ssh/sshd_config

Changez :

PermitRootLogin no

Cela empêche les hackers d'accéder facilement au compte root, qui est une cible courante.

Rendre les clés SSH obligatoires

Désactivez l'authentification par mot de passe et utilisez uniquement des clés SSH :

PasswordAuthentication no
PubkeyAuthentication yes

Générez d'abord une clé SSH sur votre ordinateur local et copiez la clé publique sur le serveur avant de désactiver l'authentification par mot de passe. Cela augmente considérablement la sécurité, car il est plus difficile pour les attaquants d'accéder sans la bonne clé.

Configurer le pare-feu avec UFW

UFW (Uncomplicated Firewall) rend la gestion du pare-feu simple et accessible à tous.

Installer UFW et règles de base

sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing

Ces paramètres de base garantissent que toutes les connexions entrantes sont bloquées, sauf si elles sont spécifiquement autorisées.

Ouvrir des ports

Ouvrez uniquement les ports dont vous avez besoin :

# SSH (port personnalisé)
sudo ufw allow 2222/tcp

# Trafic web
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# DirectAdmin
sudo ufw allow 2222/tcp

Activer le pare-feu

sudo ufw enable

Vérifiez l'état :

sudo ufw status verbose

Cela vous donnera un aperçu des ports ouverts et des règles actives.

Fail2ban contre la force brute

Fail2ban surveille les fichiers journaux et bloque les IP qui échouent à plusieurs reprises lors des tentatives de connexion. C'est un moyen efficace de prévenir les attaques par force brute.

Installation

sudo apt install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Configurer la prison SSH

Créez une configuration locale :

sudo nano /etc/fail2ban/jail.local

Ajoutez :

[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600

Cela bloque une IP pendant 1 heure après 3 tentatives de connexion échouées dans les 10 minutes. Cela peut aider à dissuader les attaquants et à rendre votre serveur plus sûr.

sudo systemctl restart fail2ban

Mises à jour du système

Les logiciels obsolètes contiennent souvent des vulnérabilités connues qui peuvent être exploitées par des attaquants.

Mises à jour manuelles

sudo apt update && sudo apt upgrade -y

Il est important de mettre régulièrement à jour votre système pour recevoir les derniers correctifs de sécurité.

Mises à jour de sécurité automatiques

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

En activant les mises à jour automatiques, vous vous assurez d'avoir toujours les derniers correctifs de sécurité sans avoir à y penser.

Conseils de sécurité supplémentaires

Désactiver les services inutilisés

Chaque processus en cours d'exécution est un vecteur d'attaque potentiel. Désactivez les services inutilisés :

sudo systemctl list-unit-files --type=service --state=enabled
sudo systemctl disable nomduservice

Imposer des mots de passe forts

Configurez des politiques de mot de passe avec PAM ou utilisez uniquement des clés SSH. Cela aide à éviter les mots de passe faibles qui sont faciles à deviner.

Surveillance des journaux

Vérifiez régulièrement vos journaux pour détecter une activité suspecte :

sudo tail -f /var/log/auth.log
sudo tail -f /var/log/syslog

En vérifiant régulièrement vos journaux, vous pouvez repérer les activités suspectes à temps et agir.

Authentification à deux facteurs

Envisagez 2FA pour SSH avec Google Authenticator ou un service similaire. Cela ajoute une couche de sécurité supplémentaire, de sorte que même si un attaquant a votre mot de passe, il ne pourra toujours pas se connecter sans le second facteur.

Liste de contrôle de sécurité

Utilisez cette liste de contrôle pour chaque nouveau serveur :

  • Port SSH modifié
  • Connexion root désactivée
  • Clés SSH configurées
  • Authentification par mot de passe désactivée
  • Pare-feu UFW actif
  • Fail2ban installé
  • Mises à jour automatiques actives
  • Services inutiles désactivés

Articles connexes

Plus d'informations sur les serveurs VPS chez Theory7

Besoin d'aide ?

Nous sommes là pour vous ! Vous rencontrez des difficultés ou avez des questions ? Notre équipe de support est heureuse de vous aider personnellement. Envoyez-nous un message via le système de tickets - nous répondons généralement dans quelques heures et sommes heureux de vous aider.