Le Protocole SSH : Prise en main, Configuration et Sécurité - Partie 5

Salut les amis ! Dernièrement nous avons débuté avec les différentes méthodes pour sécuriser SSH. Aujourd'hui nous finalisons notre série sur SSH.
5-4 Bloquer la connexion en SSH de certaines IP et n’en autoriser que certaines
Lorsque nous nous connectons en SSH d’une machine A vers une machine B, il est possible que notre machine B refuse la connexion entrante venant de A en fonction de l’adresse IP dont A dispose. En fait, il s’agit de restrictions que l’on peut mettre en place en éditant les fichiers /etc/hosts.deny et /etc/hosts.allow. Ces deux fichiers sont des fichiers qui nous permettent de rejeter et d’autoriser l’accès à certains services en fonction des IP sous Linux.
Pour rejeter les connexions entrantes à notre serveur SSH à partir de certaines IP, on rajoute au fichier /etc/hosts.deny la ligne correspondant à notre service SSH et l’IP à bloquer de la manière suivante :
On enregistre les modifications et quitte le fichier. On redémarre notre serveur SSH avec :
/etc/init.d/ssh restart
Et les tentatives de connexion en SSH provenant de l’IP 192.168.145.143 seront bloquées !
Pour autoriser les connexions entrantes à notre serveur SSH à partir de certaines IP, on rajoute au fichier /etc/hosts.allow la ligne correspondant à notre service SSH et l’IP à autoriser de la manière suivante :
On enregistre les modifications et quitte le fichier. On redémarre notre serveur SSH avec :
/etc/init.d/ssh restart
Et les tentatives de connexion en SSH provenant de l’IP 192.168.145.143 seront autorisées !
Dans la pratique, on a souvent tendance à bloquer toutes les adresses IP qui veulent se connecter à notre serveur SSH dans le fichier /etc/hosts.deny et à n’autoriser que certaines IP dans le fichier /etc/hosts.allow. Cela donnera dans les deux fichiers les lignes suivantes :
N.B : Il faut noter que les règles présentes dans /etc/hosts.allow prennent l’ascendant sur les règles présentes dans /etc/hosts.deny
5-5 Désactiver l’authentification par mot de passe
Une des sécurités supplémentaire que l’on peut mettre en place sur nos serveurs SSH est la désactivation de la connexion par mot de passe . En effet, le mot de passe d’un compte utilisateur peut être vulnérable aux attaques par Brute force lorsqu’il n’est pas bien choisi. Pour le faire, nous éditerons notre fichier de configuration /etc/ssh/sshd_config. Nous rechercherons la ligne :
#PasswordAuthentication yes , nous la décommentons et remplaçons yes par no. Cela donnera donc
On enregistre les modifications et quitte le fichier. On redémarre notre serveur SSH avec :
/etc/init.d/ssh restart
Et hop ! Lorsqu’on essaie de se connecter à nouveau à notre serveur SSH, il rejette notre connexion simple et exige la connexion par clé privée / publique. (qui est beaucoup plus sécurisée )
N.B : -Pour l’authentification par mot de passe, il faut toujours choisir un mot de passe fort et ne pas le divulguer
-Pour l’authentification par clé privée/publique, la clé publique est celle qu’on peut partager aux machines auxquelles on désire se connecter en SSH et la clé privée est celle qui reste secrète.
J’ai brossé un peu les différentes techniques utilisées pour sécuriser SSH. Il faudra ensuite choisir les techniques les plus adaptées en fonction de l’architecture réseau sur laquelle vous vous trouvez.
C'est la fin de cette série de tutoriels sur SSH !