Sécuriser vos connexion avec ssh

Qu’est ce que ssh

SSH ou Secure Shell est un programme mais également un protocole de communication sécurisé. Ce protocole a été conçu pour remplacer les différents programmesr tels que : login, telnet, rcp, ftp et rsh dont leurs sécurité n’est pas ce qui se fait de mieux. En effet ces derniers on tendance transmettre  à les mots de passes à travers les réseaux en clair ce qui constitue une faille évidente de sécurité. A l’exception de sftp correspondant à une connexion via le protocole ftp encapsulé dans le protocole ssh.

OpenSSH quand à elle correspond à une version libre du protocole SSH, c’est sur cette version que nous allons nous intéresser dans la suite de cet article. Celui-ci chiffre l’ensemble du trafic les mots de passe y étant compris. Comme nous allons le voir dans cet article OpenSSH fournit également d’autres méthodes d’authentification alternatives au mot de passe traditionnel.

Installation d’OpenSSH serveur

Le programme OpenSSH est divisé en 2 parties, la partie serveur et la partie client, dans un premier temps nous allons nous connecter au serveur si vous avez suivi les article concernant l’installation d’un serveur virtualisé OpenVZ et créer vos différents conteneurs OpenVZ vous pouvez vous identifier à partir du serveur OpenVZ sur l’un de ses conteneur à l’aide de la commande suivante :

Sinon vous pouvez accéder directement à la machine physiquement ou utiliser une des commande non-sécurise cité ci-dessus!

Une fois logué sur votre serveur lancer la commande suivante pour installer openssh serveur :

Donner les droit d’accès sudo à un utilisateur sur votre serveur

Si ce n’est pas déjà fait, pensez à créer un nouvel utilisateur à l’aide de la commande adduser NOM_UTILISATEUR, puis lancer la commande suivante :

Afin de donner les droits d’accès sudo à votre nouvel utilisateur (pour plus d’informations, voir l’article sur la gestion des permissions utilisateurs)

Installation d’OpenSSH client

Générer un clé de sécurité sur votre poste client

Afin de peaufiner la configuration de notre serveur SSH nous allons lui demander de n’autoriser l’accès qu’uniquement par le système de fichiers clés intégré à la solution OpenSSH.

Lancer la commande suivante sur le terminal de votre poste client :

Cette commande va permettre de générer un couple de clés privé/publique en cryptage RSA 4096 bits (ce qui à l’heure actuelle est largement suffisant du point de vue de la sécurité).
Lors de cette procédure un mot de passe vous sera demandé, il s’agit du mot de passe du fichier clé lui-même qui vous sera par la suite demandé à chaque connexion.

Nous allons maintenant copier la clé publique sur le serveur à l’aide de la commande suivante :

Modifier votreutilisateur et ADDR_IP_DU_SERVEUR pour les faire correspondre à votre configuration.

Puis identifiez vous sur le serveur :

Une fois connectez passez en mode super utilisateur :

Un serveur SSH plus sécurisé

Maintenant que nous avons copier notre clé, et que nous somme identifié en tant que root sur le serveur, nous allons modifier la configuration du serveur SSH pour en augmenter la sécurité.

Éditez le fichier de configuration :

En premier lieu nous allons empêcher la connexion direct par l’utilisateur root (d’ou l’importance de la création au préalable d’un nouvel utilisateur ayant des droits root).
Repérez la ligne suivant et modifiez la :

Puis nous allons demander au serveur SSH de n’accepter que les connexion à travers l’utilisation de fichiers clés, pour cela modifier les lignes suivantes :

Enfin vous devez redémarrer le serveur SSH à l’aide de la commande :
Vous serez alors déconnecté du serveur, et lors de votre prochaine connexion celui-ci utilisera alors votre fichier clé afin de certifier l’authenticité de votre identité.

Optimiser l’accès à votre serveur

Vous voila avec un accès ssh sécurisé et fonctionnel, par contre il peut s’avérer fastidieux de lancer la commande ssh votreutilisateur@ADDR_IP_DU_SERVEUR à chaque connexion. Afin d’optimiser cela rendez vous sur votre poste client puis lancer la commande suivante :

Puis copier les lignes ci-dessous en adaptant le nom de votre serveur (NOM_DU_SERVEUR), celui de votre utilisateur (NOM_UTILISATEUR) et l’adresse IP (ADDR_IP_DU_SERVEUR) de votre serveur :

Et voila il vous suffira à partir de maintenant de lancer la commande suivante pour initier la connexion :

Amusez vous bien!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Partenaires

Cekome Graal Network Panoramaweb