15

PPE: Etablissement d'une connexion sécurisée SSH et ...  · Web viewLe client demande de confirmer la connexion au serveur car il s'agit de la première connexion entre les deux

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PPE: Etablissement d'une connexion sécurisée SSH et ...  · Web viewLe client demande de confirmer la connexion au serveur car il s'agit de la première connexion entre les deux
Page 2: PPE: Etablissement d'une connexion sécurisée SSH et ...  · Web viewLe client demande de confirmer la connexion au serveur car il s'agit de la première connexion entre les deux

Présentation du protocole SSH:

Historiquement, le protocole Telnet était le protocole utilisée afin d'établir une connexion distante à une machine. L'inconvénient était que ce protocole laissait circuler en clair les informations (login, mot de passe). Ainsi, un pirate informatique pouvait intercepter des trames contenant ces informations confidentielles.

Le protocole SSH (Secure Shell) vient répondre à cette problématique en permettant à des utilisateurs ou bien des services d'accéder à une machine à travers une communication chiffrée (appelée tunnel).

Le protocole permet donc d'ouvrir une session interactive sur une machine distante généralement un serveur afin d'effectuer des commandes ou gérer des fichiers.

Les avantages du protocole SSH sont les suivants:

- Toutes les données circulant entre le client et le serveur sont chiffrées, ainsi seul ces derniers sont habilités à les lire.

- Le client et le serveur s'assurent mutuellement de l'authenticité de chacun. Cela permet d'éviter qu'un pirate informatique usurpe l'identité de l'une des deux machines.

Page 3: PPE: Etablissement d'une connexion sécurisée SSH et ...  · Web viewLe client demande de confirmer la connexion au serveur car il s'agit de la première connexion entre les deux

1) Installation:

A) Installation de Centos 7:

La première étape consiste à installer le serveur Linux, la version utilisée dans le cadre du projet est une version minimale Centos 7. La distribution Centos est une version gratuite de Red Hat, tous les paquets sont compilés à partir des sources de la distribution RHEL (Red Hat Enterprise Linux).

Une fois l'installation terminée, on ouvre un terminal et on se connecte en root:

B) Installation du paquet openssh-server:

Afin de transformer la machine en serveur, il faut procéder à l'installation du paquet à l'aide de la commande suivante:

Une fois l'installation terminée, le service de serveur SSH (appelé sshd) se lance. Pour vérifier que le service est bien démarré, on effectue la commande suivante:

Page 4: PPE: Etablissement d'une connexion sécurisée SSH et ...  · Web viewLe client demande de confirmer la connexion au serveur car il s'agit de la première connexion entre les deux

On remarque bien que le service est actif et en cours de fonctionnement.

Il est possible de démarrer ou d'arrêter manuellement le service à l'aide des commandes suivantes:

2) Configuration du serveur SSH:

A) Configuration du fichier sshd_config:

Il est nécessaire d'effectuer quelques modifications dans le fichier de configuration. Chaque modification ne sera effective qu'après redémarrage du service.

Tout d'abord il faut ouvrir le fichier sshd_config:

Ensuite il faut décommenter la ligne "PermitRootLogin" et remplacer "yes" par "no". Cette manipulation empêchera ainsi de se connecter directement en root via la connexion SSH.

Page 5: PPE: Etablissement d'une connexion sécurisée SSH et ...  · Web viewLe client demande de confirmer la connexion au serveur car il s'agit de la première connexion entre les deux
Page 6: PPE: Etablissement d'une connexion sécurisée SSH et ...  · Web viewLe client demande de confirmer la connexion au serveur car il s'agit de la première connexion entre les deux

3) Test du serveur SSH:

A) Avec un client Linux:

On utilisera ici un client Ubuntu avec interface graphique puis on ouvre un terminal.

Afin de pouvoir se connecter, il faut utiliser et remplacer en fonction la commande suivante: $ ssh login@ip

Si le client se trouve sur le même réseau que le serveur, il faudra alors remplacer "ip" par l'adresse Ip privée du serveur. Si le client se trouve sur un réseau différent, il faudra alors remplacer "ip" par l'adresse Ip publique du serveur.

Dans notre cas, le client se trouve sur le même réseau local que le serveur à savoir le réseau 192.168.219.0 /24 .

Le client demande de confirmer la connexion au serveur car il s'agit de la première connexion entre les deux.

B) Avec un client Windows:

Si le client utilisé est une version Windows, il est possible d'utiliser le client Putty afin d'établir une connexion SSH avec un serveur Linux.

Pour se faire, il faut renseigner l'adresse IP du serveur et de sélectionner SSH dans le champ "Connection Type" puis de cliquer sur "Open".

Page 7: PPE: Etablissement d'une connexion sécurisée SSH et ...  · Web viewLe client demande de confirmer la connexion au serveur car il s'agit de la première connexion entre les deux

Une fenêtre s'ouvre alors et demande de renseigner le login ainsi que le mot de passe correspondant. La connexion est établie.

Page 8: PPE: Etablissement d'une connexion sécurisée SSH et ...  · Web viewLe client demande de confirmer la connexion au serveur car il s'agit de la première connexion entre les deux

4) Authentification par clé privée et publique.

Lors des phases de tests, la connexion SSH exigeait de rentrer le mot de passe du login associé. Il existe une autre méthode d'authentification qui permet d'éviter de rentrer le mot de passe et d'utiliser à la place ce qu'on appelle un "PassPhrase", c'est à dire une suite de caractères.

A) Génération de la clé privée et publique à partir de Putty:

Sous un client Windows, il est possible d'utiliser PuttyGen afin de générer une paire de clé publique et privée.

En cliquant sur "Generate", le logiciel va créer une clé privée et publique. Il faut ensuite renseigner le champ "Key passphrase" et "Confirm passphrase" qui serviront à l'authentification. Enfin il faut sauvegarder dans un fichier texte la clé privée et la clé publique.

Page 9: PPE: Etablissement d'une connexion sécurisée SSH et ...  · Web viewLe client demande de confirmer la connexion au serveur car il s'agit de la première connexion entre les deux

La prochaine étape consiste à se rendre dans le répertoire .ssh du serveur (à créer si non existant) et à créer un fichier appelé "authorized_keys" auquel il faut attribuer les bons droits d'utilisation (exemple : 700). Il faut ensuite copier la clé publique générée précédemment et la mettre dans le fichier authorized_keys.

Voici le contenu du fichier:

Page 10: PPE: Etablissement d'une connexion sécurisée SSH et ...  · Web viewLe client demande de confirmer la connexion au serveur car il s'agit de la première connexion entre les deux

B) Génération de la clé privée et publique à partir d'un client Linux:

Il faut tout d'abord se rendre sur la machine client et taper la commande suivante pour générer une paire de clés publique / privée :

Il faudra alors renseigner plusieurs champs:Le répertoire dans lequel seront enregistrées la clé publique et la clé privée.Et la Passphrase qui servira à établir la connexion avec le serveur.

Il faut ensuite envoyer au serveur la clé publique pour qu'il puisse chiffrer les messages.Pour se faire il faut se rendre dans le répertoire /.ssh et envoyer la clé publique vers le dossier "authorized_keys" du serveur.

Page 11: PPE: Etablissement d'une connexion sécurisée SSH et ...  · Web viewLe client demande de confirmer la connexion au serveur car il s'agit de la première connexion entre les deux

On peut utiliser la commande suivante afin de copier la clé vers le serveur depuis le client. L'adresse Ip utilisée est l'adresse Ip publique de la box qui effectue une redirection du port 22 vers le serveur.

Il faudra alors renseigner le mot de passe du compte associé et la clé sera automatiquement envoyée vers le serveur.

On se rend sur le serveur et on ouvre le fichier "authorized_keys" afin de vérifier que la clé est bien présente.

Page 12: PPE: Etablissement d'une connexion sécurisée SSH et ...  · Web viewLe client demande de confirmer la connexion au serveur car il s'agit de la première connexion entre les deux

5) Test de l'authentification par clé privée et publique:

A) Sous Windows:

Il faut ouvrir Putty, renseigner l'adresse Ip du serveur puis se rendre dans l'onglet "Connection" puis "SSH" et enfin "Auth". Il est alors possible de charger la clé privée en cliquant sur "Browse".

En cliquant sur "Open", une fenêtre s'ouvre et demande de rentrer le login puis la PassPhrase précédemment déterminée.

Page 13: PPE: Etablissement d'une connexion sécurisée SSH et ...  · Web viewLe client demande de confirmer la connexion au serveur car il s'agit de la première connexion entre les deux

Une fois la PassPhrase rentrée, la connexion s'établie.

Page 14: PPE: Etablissement d'une connexion sécurisée SSH et ...  · Web viewLe client demande de confirmer la connexion au serveur car il s'agit de la première connexion entre les deux

B) Sous Linux:

On effectue la commande suivante:

Une fenêtre s'ouvre et demande de renseigner le PassPhrase déterminé lors de la génération des clés.

La connexion entre le client et le serveur s'effectue.