DevOps

Sécuriser SSH sur Ubuntu

La sécurisation des services tels que SSH sur un système Ubuntu est d’une importance primordiale pour prévenir toute intrusion non autorisée. Pour dissimuler la présence de la service SSH aux éventuels attaquants, plusieurs méthodes peuvent être employées. Il convient de noter que la sécurité informatique est un domaine en constante évolution, et il est essentiel de rester informé sur les meilleures pratiques actuelles.

L’une des approches pour renforcer la sécurité de SSH consiste à modifier le port par défaut sur lequel le service écoute. Par défaut, SSH utilise le port 22, mais il est possible de le changer pour un autre port de votre choix. Ceci n’est pas une solution de sécurité absolue, mais cela peut réduire le risque d’attaques automatisées qui ciblent spécifiquement le port 22.

Pour effectuer cette modification, il est nécessaire d’éditer le fichier de configuration SSH, généralement situé à /etc/ssh/sshd_config. L’utilisation d’un éditeur de texte en ligne de commande, tel que nano ou vim, peut être employée pour cette tâche. La commande suivante peut être utilisée pour ouvrir le fichier de configuration avec nano :

bash
sudo nano /etc/ssh/sshd_config

À l’intérieur du fichier, recherchez la ligne qui spécifie le port SSH, habituellement marquée comme Port 22. Modifiez le numéro de port à un autre de votre choix. Assurez-vous que le port choisi n’est pas déjà utilisé par d’autres services sur votre système. Une fois la modification effectuée, enregistrez le fichier et redémarrez le service SSH avec la commande :

bash
sudo service ssh restart

Cette étape supplémentaire de configuration peut rendre plus difficile la détection du service SSH par des scanners automatisés, mais il est important de noter qu’un attaquant déterminé peut toujours découvrir le port utilisé. Par conséquent, l’utilisation d’autres méthodes de sécurité est recommandée.

Une autre stratégie consiste à restreindre l’accès SSH en utilisant des listes d’adresses IP autorisées. Cela signifie que seules certaines adresses IP sont autorisées à se connecter au serveur via SSH, ce qui renforce la sécurité en limitant les sources potentielles d’attaques. Pour mettre en œuvre cette approche, ajoutez ou modifiez la directive AllowUsers dans le fichier de configuration SSH pour inclure uniquement les adresses IP autorisées.

bash
AllowUsers votre_utilisateur@votre_adresse_ip

L’utilisation de clés SSH au lieu de mots de passe peut également contribuer à renforcer la sécurité de la connexion SSH. Les clés SSH utilisent une paire de clés, une privée et une publique, pour authentifier la connexion. La clé privée est stockée sur le client, tandis que la clé publique est ajoutée au fichier authorized_keys du compte utilisateur sur le serveur. Cela élimine la nécessité d’un mot de passe lors de la connexion et renforce la sécurité en utilisant une méthode d’authentification à deux facteurs.

De plus, l’utilisation d’un logiciel de détection d’intrusion, tel que Fail2Ban, peut être bénéfique. Fail2Ban surveille les logs du serveur à la recherche de tentatives de connexion infructueuses et bloque temporairement les adresses IP ayant généré un nombre excessif d’échecs. Cela aide à atténuer les attaques par force brute.

En résumé, la sécurisation du service SSH sur un système Ubuntu implique une combinaison de bonnes pratiques, telles que le changement de port, la restriction d’accès par adresse IP, l’utilisation de clés SSH et la mise en œuvre de solutions de détection d’intrusion. Il est essentiel de rester vigilant en matière de sécurité, de surveiller régulièrement les journaux système et de mettre en œuvre des mesures de sécurité appropriées pour protéger l’intégrité de votre serveur.

Plus de connaissances

Dans le contexte de la sécurisation du service SSH sur un système Ubuntu, il est également pertinent d’explorer d’autres aspects cruciaux liés à la configuration et à la gestion sécurisée de ce service. Les mesures supplémentaires mentionnées ci-dessous peuvent contribuer à renforcer la sécurité globale de votre serveur.

Une pratique recommandée consiste à désactiver l’authentification par mot de passe et à privilégier l’authentification par clé. Cela réduit considérablement la surface d’attaque en éliminant la possibilité d’une connexion brute force basée sur des mots de passe faibles. Vous pouvez effectuer cette configuration en éditant à nouveau le fichier de configuration SSH à l’aide de l’éditeur de texte en ligne de commande, et en vous assurant que la ligne correspondante à l’authentification par mot de passe est commentée ou désactivée, tandis que l’authentification par clé est activée.

bash
PasswordAuthentication no PubkeyAuthentication yes

Après avoir apporté ces modifications, assurez-vous que les clés SSH appropriées sont configurées sur le client et ajoutées au fichier authorized_keys du compte utilisateur sur le serveur.

En outre, la mise en œuvre de restrictions d’accès basées sur des groupes d’utilisateurs peut être une stratégie utile. Vous pouvez spécifier quels groupes d’utilisateurs sont autorisés à se connecter via SSH en éditant le fichier de configuration SSH et en utilisant la directive AllowGroups.

bash
AllowGroups groupe1 groupe2

Cela permet de restreindre davantage l’accès au service SSH, limitant ainsi les comptes qui peuvent établir une connexion.

La surveillance en temps réel des journaux système peut également s’avérer cruciale pour identifier rapidement toute activité suspecte. Vous pouvez utiliser des outils tels que journalctl pour examiner les journaux système et rechercher des anomalies potentielles.

bash
sudo journalctl -xe | grep ssh

En ce qui concerne les mises à jour de sécurité, il est impératif de maintenir le système à jour en appliquant régulièrement les correctifs de sécurité publiés par Ubuntu. Les mises à jour logicielles garantissent que les vulnérabilités connues sont corrigées, réduisant ainsi les risques potentiels d’exploitation par des attaquants.

Pour automatiser ce processus, vous pouvez utiliser l’outil unattended-upgrades qui permet au système de télécharger et d’installer automatiquement les mises à jour de sécurité.

Enfin, la mise en place d’un pare-feu bien configuré est un élément essentiel de la sécurité du serveur. Il permet de contrôler le trafic réseau entrant et sortant, offrant une autre couche de défense contre les attaques. Vous pouvez utiliser l’outil ufw (Uncomplicated Firewall) pour simplifier la configuration d’un pare-feu sur Ubuntu.

En conclusion, la sécurisation du service SSH sur un système Ubuntu requiert une approche holistique intégrant diverses mesures de sécurité. En combinant le changement de port, la restriction d’accès par adresse IP, l’authentification par clé, la désactivation de l’authentification par mot de passe, la gestion des groupes d’utilisateurs, la surveillance des journaux système, les mises à jour de sécurité régulières et la configuration d’un pare-feu, vous créez une infrastructure robuste qui minimise les risques d’intrusion et renforce la sécurité globale de votre système. Il est essentiel de rester informé sur les meilleures pratiques de sécurité et d’adapter continuellement votre configuration en fonction des évolutions du paysage de la sécurité informatique.

Bouton retour en haut de la page