Table des matières. 2011 Hakim Benameurlaine 1



Documents pareils
PPe jaune. Domingues Almeida Nicolas Collin Leo Ferdioui Lamia Sannier Vincent [PPE PROJET FTP]

SSH et compagnie : sftp, scp et ssh-agent

ROYAUME DU MAROC. Office de la Formation Professionnelle et de la Promotion du Travail. Ssh sous Gnu/Linux

SSH, le shell sécurisé

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

Les différentes méthodes pour se connecter

SSH: Secure Shell Login

Les commandes relatives aux réseaux

ftp & sftp : transférer des fichiers

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

Anas Abou El Kalam Sécurité SSH SSH

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

Projet Administration Réseaux

Secure SHell. Faites communiquer vos ordinateurs! Romain Vimont ( R om)

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

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

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

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

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

I. Linux/Unix/UnixLike

Manuel des logiciels de transferts de fichiers File Delivery Services

Le service FTP. M.BOUABID, Page 1 sur 5

Sauvegarde automatique des données de GEPI

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

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

SSH. Romain Vimont. 7 juin Ubuntu-Party

Installation des outils OCS et GLPI

Le protocole SSH (Secure Shell)

Service de certificat

Sauvegardes par Internet avec Rsync

FreeNAS Shere. Par THOREZ Nicolas

Comment surfer tranquille au bureau

Ajout et Configuration d'un nouveau poste pour BackupPC

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

FTP-SSH-RSYNC-SCREEN au plus simple

1. Utilisation PuTTY openssh WinSCP

WGW PBX. Guide de démarrage rapide

TP1 - Prise en main de l environnement Unix.

Préparation LPI. Exam Securité. Document sous licence Creative commons «by nc sa» nc sa/2.

KAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim

Serveur de sauvegardes incrémental

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

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

Atelier Le gestionnaire de fichier

Contrôle de la DreamBox à travers un canal SSH

OpenSSH for Windows - 1 / 22 - I.Présentation...2

TP LINUX : MISE EN RÉSEAU D UN SERVEUR LINUX

Note : Ce tutoriel a été réalisé sur GNU/Linux (Ubuntu) avec un serveur LAMP installé en local.

Installation d'un FreeNAS (v0.684b du 30/03/2007) pour sauvegarder les données d'un ZEServer

Note technique. Recommandations pour un usage sécurisé d (Open)SSH

Cisco Certified Network Associate

Bon ben voilà c est fait!

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

SSH Préambule. Olivier Hoarau (olivier.hoarau@fnac.net) V1.0 du

OpenSSH. Présentation pour le groupe SUR (Sécurité Unix et Réseaux) 08/03/2005. Saâd Kadhi

il chiffrer les flux d'authentification et les flux de données il n'y a pas de soucis d'ouverture de ports avec des modes actif/passif à gérer

Aide-Mémoire unix. 9 février 2009

Symantec Backup Exec Remote Media Agent for Linux Servers

L3 informatique TP n o 2 : Les applications réseau

Atelier individuel. Linux 101. Frédérick Lefebvre & Maxime Boissonneault frederick.lefebvre@calculquebec.ca U. Laval - Janv. 2014

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Serveur d application WebDev

Enoncé du TP 7 Réseaux

[ GLPI et OCS pour Gentoo 2006] ArtisanMicro. Alexandre BALMES

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server

Installation d'une galerie photos Piwigo sous Microsoft Windows.

Guide Numériser vers FTP

Configuration de Gentoo 12.x

Plan Général Prévisionnel (1/2) Internet et Outils L1/IO François Armand. Plan Général Prévisionnel (2/2) Unix, Réseau: Plan

Manuel de l utilisateur

Logiciel de connexion sécurisée. M2Me_Secure. NOTICE D'UTILISATION Document référence :

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

Sécurisez votre serveur Web Internet Information Services de Microsoft (MS IIS) avec un certificat numérique de thawte thawte thawte thawte thawte

Serveurs de noms Protocoles HTTP et FTP

UTILISATION DU RESEAU INFORMATIQUE Comment utiliser le réseau

UltraVNC, UltraVNC SC réglages et configurations

Tutorial Terminal Server sous

2010 Ing. Punzenberger COPA-DATA GmbH. Tous droits réservés.

Assistance à distance sous Windows

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

TUTORIEL: INSTALLATION D'UN SERVEUR LOCAL SOUS WINDOWS 7 POUR APPINVENTOR version du 06/04/2013

GUIDE DE L UTILISATEUR

Capture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark. Etape 1 : Lancement des machines virtuelles VMWARE et de Wireshark

Quick Start Installation de MDweb version 2.3

04/02/2014 Tutoriel. Lubuntu & glpi. thomas [NOM DE LA SOCIETE]

NAS 109 Utiliser le NAS avec Linux

NAS 224 Accès distant - Configuration manuelle

Un serveur web, difficile?

Cours CCNA 1. Exercices

Live box et Nas Synology

Introduction à Linux (pour le HPC) «Linux 101» Présentation :

Linux LTE 2 - ISSBA. Année universitaire Linux Réseau et Archivage. Jean-Michel RICHER Faculté des Sciences, H206 1

Introduction au protocole FTP. Guy Labasse

Résolution des problèmes de connexion XDMCP aux hôtes UNIX et Linux

CA ARCserve Backup Patch Manager pour Windows

IIS, c est quoi? Installation de IIS Gestion de base de IIS Méthodes d authentification. Edy Joachim,

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

Transcription:

Table des matières 1 OpenSSH... 2 1.1 Introduction... 2 1.2 Installation... 2 1.3 Test de connexion... 2 1.4 Configuration du serveur ssh... 3 1.5 Contrôle du service ssh... 4 1.6 Log... 4 1.7 Client ssh... 4 1.8 Connexion ssh... 5 1.8.1 Authentification par mot de passe... 5 1.8.2 Authentification par clé... 7 1.8.3 Authentification sans mot de passe... 11 1.9 La copie sécurisée... 13 1.10 Le transfert de fichier sécurisé... 14 1.11 Le Xforwarding... 16 1.12 Tunnel SSH... 18 1.13 TUNNEL SSH -L (LOCAL) ET SSH -R (REMOTE)... 20 1.14 MÉMO... 21 2011 Hakim Benameurlaine 1

1 OpenSSH 1.1 Introduction De nombreux outils ont été fournis pour utiliser la capacité du réseau. Échanger, copier, utiliser des Shells à distance. Les noms de ces outils sont respectivement ftp, rcp, telnet, etc... Bien que ces outils, utilisés pendant des années et même encore aujourd'hui dans beaucoup d entreprises, soient très pratiques, ils comportent une faiblesse importante. Leurs transactions sont transmises en clair via le réseau. De ce fait, n'importe quelle personne mal intentionnée peut être en mesure d'observer ce que vous faîtes, allant même jusqu'à subtiliser vos données personnelles et mots de passe. SSH signifie Secure SHell. C'est un protocole qui permet de faire des connexions sécurisées (cryptées) entre un serveur et un client SSH. Nous allons utiliser le programme OpenSSH, qui est la version libre du client et du serveur SSH. 1.2 Installation Pour RedHat, les paquetages openssh sont les suivants : openssh openssh-askpass openssh-clients openssh-server 1.3 Test de connexion 2011 Hakim Benameurlaine 2

1.4 Configuration du serveur ssh Le fichier de configuration du serveur SSH est /etc/ssh/sshd_config. A ne pas confondre avec le fichier /etc/ssh/ssh_config, qui est le fichier de configuration du client SSH. Les lignes les plus importantes de ce fichier de configuration sont: Port 22 Signifie que le serveur SSH écoute sur le port 22, qui est le port par défaut de SSH. Vous pouvez le faire écouter sur un autre port en changeant cette ligne. Vous pouvez aussi le faire écouter sur plusieurs ports à la fois en rajoutant des lignes similaires. Protocol 2 Signifie que votre serveur SSH accepte uniquement la version 2 du protocole SSH. C'est une version plus sécurisée que la version 1 du protocole. Certains vieux clients SSH utilisent SSH version 1. Si vous voulez que le serveur accepte les deux protocoles, changez la ligne en : Protocol 2,1 PermitRootLogin yes Signifie que vous pouvez ouvrir une connexion SSH en tant que root. Vous pouvez changer et mettre "no", ce qui signifie que pour vous connecter en root à distance, vous devrez d'abord vous connecter par SSH en tant que simple utilisateur, puis utiliser la commande su pour devenir root. X11Forwarding yes Signifie que vous allez pouvoir travailler en export display par SSH. Ce sera expliqué plus tard, dans la partie Xforwarding. 2011 Hakim Benameurlaine 3

Si vous avez modifié le fichier de configuration du serveur, il faut lui dire de relire son fichier de configuration : 1.5 Contrôle du service ssh Démarrer le service openssh # service sshd start Démarrage de sshd : [ OK ] Vérifier le statut du démon sshd # service sshd status sshd (pid 1579) en cours d'exécution 1.6 Log Arrêter le service sshd # service sshd stop Arret de sshd : [ OK ] Si problème vérifier le fichier log /var/log/secure # tail f /var/log/secure 1.7 Client ssh Les informations spécifiques à l'utilisateur se trouvent le répertoire ~/.ssh 2011 Hakim Benameurlaine 4

Le fichier de configuration du client est : /etc/ssh/ssh_config Il existe différentes options pour se connecter à un hôte via la commande ssh. -l login Identifiant de l'utilisateur. -v -vv Mode verbeux, permet d'obtenir les messages de debugage plus ou moins complets (le nombre maximum étant 3). -vvv -1 ou 2 Version de ssh employé. ssh1 ou ssh2 -p port Numéro du port distant Exemple d'utilisation : ssh -vv -l utilisateur -p port -(1 2) hôte ou ssh utilisateur@hôte L'hôte distant doit avoir un serveur ssh, nommé sshd, qui permet la connexion. 1.8 Connexion ssh Il existe trois méthodes d authentification via ssh. 1.8.1 Authentification par mot de passe C'est la méthode la plus simple. Depuis la machine cliente, tapez : 2011 Hakim Benameurlaine 5

On peut spécifier le nom de l usager avec l option l : Si c'est la première connexion SSH depuis ce client vers ce serveur, il vous demande si le fingerprint de la clé publique présentée par le serveur est bien le bon. Pour être sûr que vous vous connectez au bon serveur, vous devez connaître de façon certaine le fingerprint de sa clé publique et la comparer à celle qu'il vous affiche. Si les deux fingerprints sont identiques, répondez yes, et la clé publique du serveur est alors rajoutée au fichier ~/.ssh/known_hosts Si vous vous êtes déjà connecté depuis ce client vers le serveur, sa clé publique est déjà dans le fichier ~/.ssh/known_hosts et il ne vous demande donc rien. Ensuite, entrez votre mot de passe et vous verrez apparaître le prompt, comme lors d une connexion locale. 2011 Hakim Benameurlaine 6

1.8.2 Authentification par clé Au lieu de s'authentifier par mot de passe, les utilisateurs peuvent s'authentifier grâce à la cryptographie asymétrique et son couple de clés privée/publique, comme le fait le serveur SSH auprès du client SSH. 1) Générer la paire de clés SSH s'appuie sur des algorithmes à paire de clefs, ce qui signifie que vous disposez d'une clé publique, disponible pour tout un chacun et une clé privée dont vous gardez jalousement l'entrée. Ce système va nous permettre de nous identifier auprès des hôtes que nous désirons contacter. Il nous faut au préalable créer le trousseau. Pour générer un couple de clés DSA, tapez : Pour générer un couple de clés RSA, tapez : 2011 Hakim Benameurlaine 7

Pour les deux algorithmes (DSA, RSA), le système nous demande dans quel fichier nous désirons sauvegarder la clé. Les fichiers par défaut semblent une bonne solution. Par la suite, une passphrase nous est demandée. Celleci est un «mot de passe amélioré», car non limité à un mot ou une petite suite de caractères. Il faut cependant prendre des précautions, car en cas de perte de la passphrase, vous ne pourriez plus vous authentifier en tant que propriétaire authentique. Les clés générées ont par défaut une longueur de 1024 bits, ce qui est aujourd'hui considéré comme suffisant pour une bonne protection. Par défaut (il demande confirmation lors du processus de création), la clé privée est stockée dans le fichier ~/.ssh/id_dsa avec les permissions 600 et la clé publique est stockée dans le fichier ~/.ssh/id_dsa.pub avec les permissions 644. Lors de la création, il vous demande une passphrase qui est un mot de passe pour protéger la clé privée. Le passphrase sert à crypter la clé privée. La passphrase vous sera alors demandée à chaque utilisation de la clé privée, c'est à dire à chaque fois que vous vous connectez en utilisant cette méthode d'authentification. 2011 Hakim Benameurlaine 8

Un mécanisme appelé ssh-agent permet de ne pas rentrer le mot de passe à chaque fois... comme nous le verrons un peu plus loin. Vous pouvez à tout moment changer la passphrase qui protège votre clé privée avec la commande : 2) Autoriser votre clé publique Pour cela, il suffit de copier votre clé publique dans le fichier ~/.ssh/authorized_keys de la machine sur laquelle vous voulez vous connecter à distance. La commande suivante permet de réaliser cette opération via SSH : Si on refait la copie, il ne demande que le mot de passe : 2011 Hakim Benameurlaine 9

Le fichier est maintenant copié sur l'hôte distant, il reste à inclure la clé dans le fichier /$HOME/.ssh/authorized_keys : On peut maintenant se connecter sans mot de passe de l usager. Il faut juste fournie la passphrase. Même chose pour scp : 3) Se connecter via ssh La commande est la même que pour une authentification par mot de passe. 2011 Hakim Benameurlaine 10

1.8.3 Authentification sans mot de passe Cette section s'adresse à ceux qui utilisent un couple de clés publiques / privées, et qui ont crypté leur clé privée avec une passphrase (c'est la configuration la plus sûre). Par conséquent, le client SSH demande la passphrase à chaque utilisation des clés pour s'authentifier. Pour éviter d'avoir à taper systématiquement sa passphrase, il faut utiliser ssh-agent : ce programme tourne en tâche de fond et garde la clef en mémoire. La commande ssh-add permet de donner sa clé à ssh-agent. Ensuite, quand vous utilisez le client ssh, il contacte ssh-agent pour qu'il lui donne la clé. Mode console Dans une console, démarrer ssh-agent en tâche de fond : Puis donnez votre clé à l'agent : Il vous demande alors votre passphrase. Maintenant que votre clé a été transmise à l'agent, vous pouvez vous connecter sans entrer de mot de 2011 Hakim Benameurlaine 11

passe à toutes les machines pour lesquelles vous avez mis votre clé publique dans le fichier ~/.ssh/authorized_keys. Pour tuer l'agent ssh-agent, il suffit de faire : Mode graphique Démarrez le serveur graphique avec la commande : # ssh-agent startx Il vous suffit ensuite d'ouvrir un (xterm) terminal graphique et de taper : L'agent sera actif pour toutes les applications utilisées en mode graphique. 2011 Hakim Benameurlaine 12

1.9 La copie sécurisée SSH fournit un outil de copie sécurisée en standard, sous le nom de scp pour SecureCoPy. Il remplace son ancêtre rcp. Son usage est très simple : scp hôte_d_ou_je_veux_copier:source_copie hôte_destination:cible Lorsque l'hôte correspond à la machine où vous vous trouvez, il n'est pas nécessaire de l'inscrire. Vous pouvez également faire des copies récursives, comme nous le ferions avec n'importe quel autre utilitaire de copie. Par exemple pour copier le répertoire /data dans /root/data du serveur 192.168.1.102 : 2011 Hakim Benameurlaine 13

1.10 Le transfert de fichier sécurisé Tout comme on peut copier des fichiers à distance par l'intermédiaire de scp, il est également possible de transférer des fichiers par l'intermédiaire d'un ftp sécurisé nommé SecureFTP. 2011 Hakim Benameurlaine 14

Commandes disponibles sur sftp : cd path lcd path chgrp grp path chmod mode path chown own path help get remote-path [local-path] lls [ls-options [path]] ln oldpath newpath lmkdir path lpwd ls [path] lumask umask mkdir path put local-path [remote-path] pwd exit quit rename oldpath newpath rmdir path rm path symlink oldpath newpath version!command Change le répertoire distant vers 'path' Change le répertoire local vers 'path' Change le groupe de fichier 'path' par 'grp' Change les permissions du fichier 'path' à 'mode' Change le propriétaire du fichier 'path' par 'own' Affiche ce message d'aide Télécharge le fichier Affiche le listing du répertoire local Crée un lien symbolique du fichier distant Crée un répertoire local Affiche le répertoire courant Affiche le listing du répertoire distant Positionne l'umask local à 'umask' Crée le répertoire distant Charge le fichier Affiche le répertoire courant distant Quitte sftp Quitte sftp Renomme le fichier distant Supprime le répertoire distant Supprime le fichier distant Crée un lien symbolique du fichier distant Affiche la version de sftp Exécute la 'commande' dans un shell local! Sort vers un shell local? Affiche ce message d'aide 2011 Hakim Benameurlaine 15

1.11 Le Xforwarding Xforwarding classique Il nous manque l'exportation des applications X11 distantes. En effet, à l'aide de telnet, vous pouviez utiliser un logiciel non présent sur votre machine, mais présent sur le serveur distant. 1) Sur le serveur distant (192.168.1.103 étant l adresse du serveur local) : 2) Sur le serveur local : 3) Lancer l application à partir du serveur distant (par exemple xclock) : L application apparaît sur le serveur local : 2011 Hakim Benameurlaine 16

Xforwarding en utilisant ssh L'avantage d'utiliser ssh réside dans la connexion chiffrée et l'impossibilité à un agresseur éventuel de lire ce que vous faîtes via le réseau. 1) Il faut d abord autoriser le client à recevoir le Xforwarding. Pour cela il faut modifier le fichier /etc/ssh/ssh_config (sur le serveur local): 2) Activer l'option X11Forwarding dans le fichier de configuration (/etc/ssh/sshd_config) du serveur distant. 3) Ensuite lancer l application dans la session ssh à partir du serveur local : 192.168.189.128 étant l adresse du serveur distant. Dans l'exemple, nous demandons d'ouvrir la connexion ssh pour inscrire xclock à l'intérieur. 2011 Hakim Benameurlaine 17

1.12 Tunnel SSH Faire un tunnel SSH est un moyen simple de crypter n'importe quelle communication TCP entre votre machine et une machine sur laquelle vous avez un accès SSH. En premier, démarrer le service apache sur le serveur 192.168.1.103 : Ensuite établir un tunnel SSH pour une connexion HTTP vers le serveur 192.168.1.103 à partir du serveur 192.168.1.102 : 2012 est le numéro de port sur la machine cliente à partir duquel la connexion entre dans le tunnel SSH (le port doit être supérieur à 1024 si on ne veut pas avoir à lancer le tunnel en tant que root). Il suffit de lancer un navigateur Web en lui demandant de se connecter en local sur ce port : 2011 Hakim Benameurlaine 18

Exemple de tunnel SSH ssh -L 2012:serveur.exemple.org:80 usager@serveur.exemple.org 2011 Hakim Benameurlaine 19

1.13 TUNNEL SSH -L (LOCAL) ET SSH -R (REMOTE) On va décrire le fonctionnement d'un tunnel en mode local et en mode distant. SSH Local Syntaxe : localhost% ssh -L port-local:adresse:port serveur-ssh Le SSH local permet de transmettre les demandes locales (sur le port port-local de localhost) vers le serveur-ssh qui les envoie sur le port port de l'adresse adresse. Le mode local vous permet d'accéder à un serveur sur un réseau privé. 2011 Hakim Benameurlaine 20

SSH Distant Syntaxe : 1.14 MÉMO localhost% ssh -R port-distant:adresse:port serveur-ssh Le SSH distant permet de transmettre les demandes distantes (sur le port port-distant de serveur-ssh) vers localhost qui les envoie sur le port port de l'adresse adresse. Le mode distant vous permet d'ouvrir l'accès à un serveur sur un réseau privé. sshd scp ssh-keygen sftp slogin/ssh ssh-add ssh-agent ssh-keyscan Serveur ssh Copie distante sécurisée génération de clefs d'authentification Transfert sécurisé de fichiers Client ssh Ajoute les identités DSA ou RSA à l'agent d'authentification Agent d'authentification Recueille les clefs publiques ssh 2011 Hakim Benameurlaine 21