Anas Abou El Kalam Sécurité SSH SSH



Documents pareils
SSH, le shell sécurisé

La sécurité avec SSH. Atelier cctld Dakar, Sénégal. Hervey Allen

Installation et mise en œuvre de OpenSSH sous AIX 5L

TP Sur SSH. I. Introduction à SSH. I.1. Putty

Antisèches Informatiques. Configuration et utilisation de openssh. Sommaire. Openssh pour linux. Installation. 1 sur 24 04/06/ :04

Table des matières Hakim Benameurlaine 1

Accès aux ressources informatiques de l ENSEEIHT à distance

Manuel des logiciels de transferts de fichiers File Delivery Services

Contrôle de la DreamBox à travers un canal SSH

Services Réseau SSH. Michaël Hauspie. Licence Professionnelle Réseaux et Télécommunications

Installation du transfert de fichier sécurisé sur le serveur orphanet

Atelier Le gestionnaire de fichier

I. Linux/Unix/UnixLike

Un serveur FTP personnel, ça ne vous a jamais dit?

Devoir Surveillé de Sécurité des Réseaux

KeePass - Mise en œuvre et utilisation

Les différentes méthodes pour se connecter

Comment surfer tranquille au bureau

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

SSH et compagnie : sftp, scp et ssh-agent

UltraVNC, UltraVNC SC réglages et configurations

SSH : Secure SHell. De l utilisateur à l administrateur. Version du 21/10/2004. Frédéric Bongat [fbongat@lmd.ens.fr]

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 3

Couche application. La couche application est la plus élevée du modèle de référence.

1. Utilisation PuTTY openssh WinSCP

Guide d utilisation. Table des matières. Mutualisé : guide utilisation FileZilla

Utilisation des ressources informatiques de l N7 à distance

Comment créer vos propres pages web?

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt

Les commandes relatives aux réseaux

Installation d'un serveur sftp avec connexion par login et clé rsa.

Retrouver un mot de passe perdu de Windows

Un serveur web, difficile?

Installation des caméras IP

Service de certificat

Installation d'une galerie photos Piwigo sous Microsoft Windows.

1. Utilisation du logiciel Keepass

Tutorial Ophcrack. I) Ophcrack en API. (ou comment utiliser Ophcrack pour recouvrir un mot de passe sous Windows XP et Windows Vista)

Guide d installation de MySQL

Chapitre 2 Accès aux partages depuis votre système d'exploitation

Guide d'installation du connecteur Outlook 4

Un peu de vocabulaire

LES ACCES ODBC AVEC LE SYSTEME SAS

Comment se connecter au dossier partagé?

Début de la procédure

MODULES 3D TAG CLOUD. Par GENIUS AOM

WINDOWS NT 2000: Travaux Pratiques. -Boîtier partage d'imprimante- Michel Cabaré Janvier 2002 ver 1.0

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

TUTORIEL RADIUS. I. Qu est-ce que RADIUS? II. Création d un groupe et d utilisateur

Guide de démarrage

FileZilla. Sauvegarder son site Guppy à l aide de. Sommaire:

TAGREROUT Seyf Allah TMRIM

Serveur FTP. 20 décembre. Windows Server 2008R2

WGW PBX. Guide de démarrage rapide

Manuel de l utilisateur

COMMENT INSTALLER LE SERVEUR QIPAIE

Comment se connecter au VPN ECE sous vista

Assistance à distance sous Windows

DFL-210, DFL-800, DFL-1600, DFL-2500 Comment configurer une connexion VPN IPSec site à site

Installation du client Cisco VPN 5 (Windows)

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Installation des outils OCS et GLPI

CSI351 Systèmes d exploitation Instructions pour rouler Linux avec Virtual PC dans la salle de labo 2052

GUIDE D UTILISATION LE PRESENT DOCUMENT VISE A FACILITER LA PRISE EN MAIN DE L@GOON CLOUD. * Synchroniser votre entreprise

FlashWizard v4.5b PRO

Vous y trouverez notamment les dernières versions Windows, MAC OS X et Linux de Thunderbird.

Avec PICASA. Partager ses photos. Avant de commencer. Picasa sur son ordinateur. Premier démarrage

Saisie sur un ordinateur OS/390 Ici sur jedi.informatik.uni-leipzig.de ou

Administration du site (Back Office)

Sauvegarde sous MAC avec serveur Samba

Contrôle Parental Numericable. Guide d installation et d utilisation

Installation du client Cisco VPN 5 (Windows)

Installation du client Cisco VPN 5 (Windows)

Sauvegardes par Internet avec Rsync

Cours 420-KEG-LG, Gestion de réseaux et support technique. Atelier No2 :

AFTEC SIO 2. Christophe BOUTHIER Page 1

Projet Administration Réseaux

SERVEUR DE MESSAGERIE

Introduction au protocole FTP. Guy Labasse

ftp & sftp : transférer des fichiers

l'ordinateur les bases

VTX FTP. Transfert de fichiers business par FTP - Manuel de l'utilisateur. Informations complémentaires : info@vtx.

Mise en place d un firewall d entreprise avec PfSense

Mettre Linux sur une clé USB bootable et virtualisable

Authentification automatique sur La Plateforme collaborative LeadeR y-content

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Créer son compte del.icio.us

Tutoriel : Utilisation du serveur de calcul à distance de PSE

Transférer des fichiers à l aide de WinSCP et 2 contextes d utilisation dans des sites SPIP avec FCK editor

GUIDE DE DÉMARRAGE RAPIDE

OpenOffice Base Gestionnaire de Base de Données

Sophos Mobile Encryption pour Android Aide. Version du produit : 1.0

Installation du point d'accès Wi-Fi au réseau

Foire aux Questions Note: Les réponses aux questions correspondent à la version Mise en route

ECOLE POLYTECHNIQUE DSI. Utilisation des serveurs mandataires («proxy») avec les protocoles d usage courant

Notice d'utilisation Site Internet administrable à distance

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

Mettre en place un accès sécurisé à travers Internet

Transcription:

SSH 1 Introduction La possibilité de travailler.à distance. a toujours été une fonctionnalité très appréciée des utilisateurs de machines UNIX. Cela est traditionnellement possible suivant plusieurs modes de connexion: telnet, rlogin, rsh, ftp,... Le gros problème avec ces modes de connexions c'est que l'authentication que vous devez fournir pour vous connecter sur la machine distante circule.en clair. sur le réseau. C'est à dire que n'importe quelle personne qui a accès au réseau où vous vous trouver peut à l'aide de programmes appelés.sniffeurs. récupéré votre mot de passe. 2 Versions disponibles Il existe un certain nombres de logiciels utilisant les connexions sécurisées. Une version UNIX openssh : contient les partie serveurs et clientes de ssh Une version Windows putty : contient une partie cliente pour Windows. 3 Principes de fonctionnement. ssh est basé sur un mécanisme de clé publique clé privé. Ces deux clés sont.mathématiquement reliée. Typiquement la clé publique sert à chiffrer un message et la clé privé sert à le déchiffrer. Prenons un exemple. Si je veux me connecter sur la machine distante java, je tape ssh java J'obtiens alors le message suivant : The authenticity of host 'java (157.159.15.20)' can't be established. RSA key fingerprint is d7 :69 :a7 :db :89 :71 :ff :13 :54 :ce :b4 :0d :55 :f6 :a9 :04. Are you sure you want to continue connecting (yes/no)? yes Comme je ne me suis jamais connecté sur la machine java je ne connais pas sa clé publique. Je vais donc répondre yes. J'obtiens alors les messages suivants : Warning : Permanently added 'java,157.159.15.20' (RSA) to the list of known hosts. toto@java.enseeiht.fr's password : Je rentre alors mon mot de passe qui va être chiffré avec la clé publique de la machine java. La machine java va utilisé sa clé privée pour déchiffrer le mot de passe et ainsi va pouvoir vérier mon identité. On ne peux donc pas me.sniffer. mon mot de passe. Si je me Re connecte sur java j'obtiens immédiatement la ligne toto@java.enseeiht.fr's password :

4 Ne plus rentrer son mot de passe On peut aller encore plus loin et générer des clés d'identication personnelle. Le principe est de générer une clé associée à un texte et de propager la partie publique de la clé sur toutes les machines auxquelles vous souhaitez vous connecter. Voici comment il faut procéder si vous voulez vous connecter d'une machine (e.g., nommé rezo)sur la machine distante java. 4.1 Première étape Sur la machine rezo il faut générer les clés d'authentication. Ces clés sont liées à un compte particulier. On va donc créer ces clés pour notre compte courant. Nous allons donc travailler avec le compte grocanar. Cela se fait en tapant la commande ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/grocanar/.ssh/id_rsa) : Enter passphrase (empty for no passphrase) : On doit donc alors entrer une.passphrase. qui va protéger la clé privée générée. Il faut que cette phrase ait au moins 20 caractères. Même si il est possible de ne pas rentrer cette pass phrase cela n'est pas du tout conseillé. En effet c'est le seul moyen de protéger vos clés si quelqu'un arrive à accéder à votre compte. Après avoir tapé deux fois cette phrase on obtient alors les messages suivants : Enter same passphrase again : Your identification has been saved in /home/grocanar/.ssh/id_rsa. Your public key has been saved in /home/grocanar/.ssh/id_rsa.pub. The key fingerprint is : ea :9c :c8 :0f :89 :5a :12 :52 :81 :3e :c1 :21 :0e :fd :37 :07 grocanar@rezo.enseeiht.fr On voit donc que le clé privée est sauvegardée dans le chier.ssh/id_rsa et la clé publique dans le chier.ssh/id_rsa.pub 4.2 Deuxième étape Sur la machine java on va créer le fichier authorized_keys dans le répertoire.ssh et l'onva y rajouter la clé publique de la machine zero avec un simple éditeur de texte. On complique un peu la chose en utilisant un compte différent sur la machine java. en effet on va utiliser le compte toto 4.3 Étape nale : la connexion

On va donc maintenant se connecter à distance sur la machine java en tapant ssh toto@java On obtient alors le message suivant : Enter passphrase for key '/home/grocanar/.ssh/id_rsa' : On rentre alors la.pass phrase. que l'on a utilisé pour.protéger. la clé privée. 5 Ne plus rentrer la pass phrase. 5.1 Problématique Dans la manipulation décrite ci dessus on a perdu en simplicité d'utilisation. En effet au lieu de rentrer son login et mot de passe, on dois donner son login et sa.pass phrase. Cette opération est bien plus longue que l'opération habituelle. Il existe un moyen de s'affranchir de ces opérations qui peuvent s'avérer fastidieuse si on multiplie les connexions distantes : ssh-agent et sh-add 5.2 Principes ssh-agent est un démon dont le rôle est :. Intercepter la clé privée lorsque le programme ssh-add l'aura déchifré en utilisant la passphrase que vous allez rentrer une et une seule fois.. La transmettre à tous programmes dont il sera l'ancêtre et qui le lui demandera. On verra que cette contrainte de.descendance UNIX. amène a certaines contraintes de mise en place. Ainsi vous n'avez plus qu'a rentrer une seule fois votre passphrase à votre connexion initiale sur la machine et vous n'avez plus besoin de la rentrer lors de vos connexions sur d'autres machines. 5.3 Mise en place pratique Dans cet exemple de mise en place je prends l'exemple d'une machine Linux utilisant une distribution RedHat 7.3 ou ultérieur avec un environnement Gnome. Cela donne néanmoins une idée générale sur la manière de procéder. Aller dans le menu principal symbolisé par un chapeau rouge. Sélectionnez le menu Préférences => Préférences supplémentaires => Sessions On obtient alors une fenêtre comme ci dessous (voir 1) Il faut alors cliquer sur le menu Programme au démarrage. On obtient alors la fenêtre suivante (voir 2) Il faut alors rentrer la commande /usr/bin/ssh-add dans le champs Commande de démarrage et ajuster la priorité (champs ordre) afin que cette commande ait la plus grande valeur. Une bonne valeur est 70. On obtient alors la fenêtre (voir3). 5.4 Utilisation L'utilisation est alors très simple. A la connexion une fenêtre s'ouvre et demande

de rentrer la.passphrase. (voir 4). Une fois celle ci tapée la session se déroule normalement et on ne demandera plus la passphrase ni de mot de passe pour toutes les connexions sur les machines où l'on a propagé sa clé publique.

6 Le clientwindows Putt peut être téléchargée à partir de http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Normalement, celui ci intégre plusieurs composants : putty un émulateur terminal compatible ssh puttygen Un générateur de clé psftp un client ftp compatible ssh pageant un équivalent à ssh-agent 7.1 Génération des clés La génération des clés se fait avec puttygen. On lance le logiciel et on obtient la fenêtre suivante (voir 5). On doit alors générer la clé en faisant bien attention de générer une clé SSH2(DSA) de 1024 bits. On clique alors sur Generate. On obtient alors la fenêtre suivante (voir 6).

. copier et coller dans le chier authorized_keys comme on a vu pour unix. En particulier notez bien que l'indication donné par putty est fausse. Le fichier à modier est authorized_keys et non pas authorized_keys2. Entrez une pass phrase pour protéger sa clé privée. Sauvegardez ses clés publiques et privées. 6.2 Conguration de l'agent ssh l'agent ssh est le logiciel pageant (PuTTY authentication agent). Quand on lance celui ci il va se nicher dans la barre des applications. Il faut alors aller cliquer dessus pour l'utiliser. On obtient alors la fenêtre suivante (voir 7) On clique alors sur Add key et on ajoute la clé privé que l'on a précedement sauvegardé. On obtient alors la fenêtre suivante (voir 8)

Il faut donc alors rentrez la pass-phrase qui protège notre clé privée (voir 9). 6.3 Conguration de putty On va maintenant passer à la conguration de putty. Il faut noter qu'il est préférable de lancer putty à partir de pageant. On configure d'abord le protocole ssh utilisé (voir 10). Puis la clé utilisée (voir11 ) Voici alors la fenêtre de connexion de putty (voir 12). On se connecte alors au serveur sans rentrer son mot de passe. Ouf!!! Il est préférable de sauvegarder la conguration que l'on va appeler comme le serveur sur lequel on se connecte ; On va donc sauvegarder tout cela dans la congfiuration java. (voir13)

-.4 Importation des clés Il peut être intéréssant de ne pas multiplier le couple de clés privées publiques sur les différents systèmes sur lesquelles on va travailler. En particulier si on doit travailler sous windows et linux depuis la même machine il est un peu ridicule de générer deux couples de clés. On va donc montrer ici comment importer dans puttygen la clé privé précédement généré avec openssh. On lance puttygen et on obtient la fenêtre de gestion de clé (voir 14) Il suft alors de cliquer sur load. On charge alors le chier la clé privée générée par openssh que l'on aura préalablement transféré par un moyen adéquat et alors on obtient une clé privé tout a fait utilisable dans putty comme montrée précedement.

7 SSH le tunnel du pauvre SSH est souvent appelé le.tunnel du pauvre. car il permet à un utilisateur donné de pallier pour la majorité des fonctionnalités à l'usage d'un VPN. 7.1 Principe On part du principe que l'on a accèes a une connexion sur un serveur ssh accessible depuis sa machine et que l'on veut acceder à un service sur son réseau interne mais que le firewall l'interdit directement pour des raisons de sécurité. On va pouvoir grace à ssh.contourner. cette interdiction mais en toute sécurité. Ce n'est donc pas un contournement de la sécurité. Voici ce qui se passe quand un portable sur internet crée un tunnel sécurisé depuis internet pour accéder à un serveur FTP sur l'intranet (voir15) On procéde en deux étapes. On crée un tunnel ssh entre le portable et le serveur ssh librement accessible. On utilise un client FTP.classique. pour accéder au serveur FTP qui n'est pas directement accessible et on a tout le confort.comme si on y accédait directement.

8.2 Exemple sous linux Nous imaginons qu'un utilisateur nomade a besoin d'acceder à un serveur qui se trouve dans l'enseeiht, par exemple pollux depuis son portable qui s'appelle rezo. Evidement l'adminstrateur ne tolère pas à juste titre que des connexions passent à travers internet sur cette machine. Par contre Il peut se connecter en ssh sur la machine java depuis n'importe quelle point de l'internet. On va donc creer un tunnel ssh entre la machine rezo et java afin de pouvoir se connecter en telnet sur pollux. Evidement il faut que le réseau entre la machine java et pollux soit sécurisé. pour que la démonstration soit valable. On tape donc dans une fenêtre la commande suivante ssh -N -L2023 :pollux.enseeiht.fr :23 toto@java.enseeiht.fr Si on a scrupuleusement suivi les directives présentées dans les chapitres précédents on ne doit recevoir aucun message. Le tunnel est en place. On remarque que le port local du tunnel est 2023. On ne peut en effet créer de tunnel avec un numéro de port inférieur à 1024 si on n'est pas super utilisateur. On tape alors sur la machine locale telnet 127.0.0.1 2023 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. SunOS 5.7 login : toto Password : ********* Last login : Mon Nov 17 17 :16 :45 from java.enseeiht.... On a pu donc accéder au service telnet sur une machine qui n'était pas accessible

directement et en toute sécurité. 7.3 Exemple sous windows Nous allons utiliser la conguration précédente sauvegardée sous le nom de java et y rajouter deux tunnels.. Un tunnel pour faire du FTP sur la machine pollux. Un tunnel pour faire du telnet sur la machine pollux Voici les différents étapes 7.3.1 Création des tunnels On crée les tunnels de la façon suivante :. Il faut choisir un port local : 2021. On choisit la destination Unemachine.enseeiht.fr :21. On coche local. On clique sur Add. On répete la même opération pour le tunnel pour telnet. On sauvegarde la conguration dans le menu Session 7.3.2 Création du tunnel Une fois conguré on va lancer pageant. On effectue les opérations decrites auparavant. On lance alors la session java. Le tunnel est crée. On va pouvoir l'utiliser. 7.3.3 Telnet On lance le telnet comme ci dessous (voir 18) Comme on le voit on se connecte au port local du tunnel. En l'occurence c'est le port 2023. 7.3.4 ftp on va utiliser le logiciel lezilla. Celui nécéssite quand même une certaine conguration. On va donc lancer le gestionnaire de site sur de lezilla. On obtient la fenêtre suivante : (voir 20). On constate qu'on rentre l'adresse de l'extrémité locale du tunnel ssh comme adresse de destination. En l'occurence localhost pour la nom de machine et 2021 pour le port. On clique alors sur le bouton Avancé. On obtient alors la fenêtre suivante : (voir 21). On indique qu'on veut utiliser le mode passif pour se connecter. Tout est alors prêt.

On lance lezilla en sélectionnant le site que l'on vient de sauvegarder et on obtient la fenêtre suivante : (voir 21)