Introduction
Lorsqu'un serveur est livré, celui-ci offre une configuration de base et il est nécessaire de sécuriser celui-ci. Voici le minimum qui devrait être fait afin de sécuriser un serveur.
Modifier le mot de passe
Modifier le mot de passe associé à l’utilisateur root. Lorsqu’un système de distribution ou d’exploitation est installé, un mot de passe est créé automatiquement pour l’accès root. Nous vous conseillons vivement de le personnaliser en le modifiant. Pour cela, ouvrez une connexion SSH à votre serveur et tapez la commande suivante :
passwd root
Vous devrez ensuite entrer votre nouveau mot de passe deux fois. Il convient de noter que, pour des raisons de sécurité, le mot de passe ne sera pas affiché lors de l’écriture. Vous ne pourrez donc pas voir les caractères saisis.
Une fois cette opération effectuée, vous devrez entrer le nouveau mot de passe dès votre prochaine connexion sur le système.
Créer un utilisateur avec des droits restreints
Nous vous recommandons de créer un compte utilisateur disposant d’un accès restreint à votre serveur pour une utilisation quotidienne. Vous pouvez créer un nouvel utilisateur avec la commande suivante :
adduser Nom_Utilisateur
Remplissez ensuite les informations demandées par le système (mot de passe, nom, etc.).
Cet utilisateur sera autorisé à se connecter à votre système en SSH avec le mot de passe indiqué lors de la création du compte. Une fois connecté à votre système avec ces informations d’identification, si vous souhaitez effectuer des opérations nécessitant des droits d’administrateur, il suffira de taper la commande suivante :
su root
Vous devez ensuite entrer le mot de passe associé à l’utilisateur root pour valider l’opération.
Modifier le port d'écoute
Modifier le port d’écoute par défaut du service SSH et désactiver l'accès au serveur via l'utilisateur root. L’une des premières actions à effectuer sur votre serveur est la configuration du service SSH en changeant son port d’écoute. L’écoute est, par défaut, définie sur le port 22. Nous vous conseillons d’en modifier la valeur par défaut. En effet, la plupart des tentatives de piratage de serveurs sont faites par des robots qui ciblent le port 22 en priorité. Modifier ce paramètre rendra donc votre serveur plus difficile à atteindre.
Voici la commande pour modifier le fichier de configuration du service :
nano /etc/ssh/sshd_config
Repérez ensuite la ligne suivante dans le fichier :
Port 22
Remplacez le numéro 22 par celui de votre choix puis sauvegardez et quittez le fichier de configuration. Assurez-vous de ne pas taper un numéro de port déjà utilisé.
Ensuite, repérez la section PermitRootLogin et remplacez le « yes » par « no », comme indiqué ci-dessous :
PermitRootLogin no
Après avoir enregistré et fermé le fichier de configuration, redémarrez le service SSH pour appliquer les modifications en utilisant la commande suivante :
sudo systemctl restart sshd
Maintenant, lorsque vous demandez une connexion SSH sur votre machine, vous devrez indiquer le nouveau port :
ssh root@VotreServeur -p NouveauPort
Configurer le pare-feu interne : iptables
La distribution nue dispose d’un service de pare-feu nommé iptables. Par défaut, ce service ne possède aucune règle active. Vous pouvez le constater en tapant la commande suivante :
iptables -L
Il est alors recommandé de créer et d’ajuster à votre utilisation des règles sur ce pare-feu. Pour plus d’informations sur la configuration des iptables, reportez-vous à la documentation officielle de votre distribution Linux.
Installer Fail2Ban
Fail 2 Ban est un système qui surveille les journaux système (logs) pour des tentatives d'authentification. Après un certain nombre de tentatives, il va mettre à jour le coupe-feu (iptables) pour refuser les connexions futures de l'adresse IP.
https://www.fail2ban.org/wiki/index.php/Fail2Ban