TD : Sécurisation d`un serveur Linux avec SSH
Transcription
TD : Sécurisation d`un serveur Linux avec SSH
TP : Administration distante d'un serveur Linux avec SSH Config nécessaire : serveur Linux Debian, Client Windows ou Linux 1. Installation de la dernière version de SSH (linux) Page d'accueil de openssh en français : http://www.openssh.com/fr/ Installation : aptget install ssh Manuel SSH : man ssh Démarrage : /etc/init.d/ssh start 2. Installation du client SSH / Telnet pour Windows Téléchargement : http://www.chiark.greenend.org.uk/~sgtatham/putty Il faut télécharger et installer putty. 3. Ouverture de session distante Ouvrir le client putty, entrer l'adresse IP du serveur dans hostname, et choisir le protocol ssh puis cliquer sur Open pour ouvrir la session. A ce moment là, le serveur doit demander le nom de login et le mot de passe. Pour terminer la session distante on tape exit. À partir du poste linux de votre binôme, ouvrez une session sur votre serveur en tapant : ssh <adresse IP> Capturez l'échange avec Wireshark pour vérifier que le mot de passe est crypté. 4. Ouverture de session avec clé publique /clé privée . Dans ce cas, le mot de passe ne sera plus transmis sur le réseau puisque c'est la clé privée qui garantira l'authentification du login. Il faut d'abord générer une paire de clé avec la commande sshkeygen sous linux ou avec le programme puttygen sous windows. Puis il faudra copier la clé publique sur le serveur linux dans le fichier authorized keys situé dans le sous dossier .ssh du répertoire personnel de l'utilisateur Avec un client linux : • ouvrir une session sous le nom de login root et lancer la commande sshkeygen t rsa, puis entrer une « passphrase » c'estàdire un mot de passe pour protéger la clé privée. • Editer le fichier /root/.ssh/id_rsa.pub et copier la clé dans le presse papier (ctrlinser). • Ouvrir une session sur le serveur avec ssh, éditer le fichier .ssh/authorized_keys (avec vi) et coller la clé (shiftinser). Sauvegarder et sortir de la session ssh avec exit. • Lorsqu'on retente la connexion distante, le serveur ne demande plus le mot de passe de root mais la passphrase, qui ne sert qu'à décoder la clé privée qui n'est jamais envoyée sur le réseau. Avec un client windows : • Lancer le programme puttygen, choisir le type de clé rsa, puis cliquer sur « generate ». Il faut alors bouger la souris sur l'écran pour « générer de l'aléatoire ». • taper la passphrase (mot de passe de protection de la clé privée) • cliquer sur « save private key » après avoir tapé un nom de fichier pour la clé privée • copier la contenu de la boite « public key for pasting into authorized_key file » • ouvrir une session ssh sur le serveur sous root, éditer le fichier /root/.ssh/authorized_keys et y copier la clé. • Fermer la session et la rouvrir en choisissant la clé privée dans le champ « private key file for authentication » de l'onglet Auth. Remarques : on peut également utiliser putty sous linux (aptget install putty) 5. Pour aller plus loin : tunnel ssh Cryptage de données Un tunnel ssh permet de faire passer un flux de données d'un protocole non sécurisé (http, ftp, pop3 par exemple) au travers d'une connexion sécurisée. Les données circulant dans le tunnel sont cryptée par ssh, ce qui empèche une tierce personne de pouvoir les voir ou les modifier. Explications de base sur le principe de tunnel avec un exemple de tunnel POP3 : http://www.linuxquebec.org/nicolas/sshportforwarding/ Export X11 via SSH ou comment lancer une application graphique à distance en mode sécurisé. http://sylvestre.ledru.info/howto/securite/tunnels_et_vpn/node7.html Sécurisation d'une connexion FTP http://sylvestre.ledru.info/howto/securite/tunnels_et_vpn/node8.html Traversée d'un firewall Le tunnel ssh permet également de traverser un firewall pour attendre un serveur distant sans compromettre la sécurité du réseau local, par exemple pour permettre à des utilisateurs nomades de se connecter à un serveur web ou un serveur de messagerie situé sur un réseau local protégé par un firewall. Mise en place d'un tunnel à partir d'un client Windows http://people.via.ecp.fr/~dragon/tunnelingssh.htm Sécurisation d'un serveur http apache http://clx.anet.fr/spip/article.php3?id_article=131 Montage de répertoires SMB sur un serveur samba ou windows situés derrière un firewall. http://www.abul.org/article12.html http://www.ibiblio.org/gferg/ldp/SambawithSSH/SambawithSSH.html (en anglais) Réseau privé virtuel (VPN) Utilisé avec le protocole ppp, voici une activité qui consiste à créer un véritable réseau privé virtuel via une connexion point à point entre un client et un serveur linux Mise en place d'un VPN ous linux avec pppssh http://www.linuxfrance.org/prj/edu/archinet/systeme/c2724.html 6. SSH pour les PPE Exemples de PPE intégrant SSH : ➢ Avec un client et un serveur : Administration distante via une connexion sécurisée (SSH + tâches d'exploitation d'un serveur linux) Serveur FTP sécurisé par un tunnel (FTPpro + SSH) : Serveur Apache sécurisé ( Apache + ssh) Serveur POP/SMTP sécurisé (postfix + ssh) ➢ Avec un client, un parefeu et un serveur. Traversée de firewall (ssh + serveur parefeu iptables + serveur quelconque (web, ftp, messagerie, samba ....)
Documents pareils
Partie I: Première utilisation de SSH
*** Appuyez sur ctrl-D *** 1.3 connectez vous en utilisant votre clé privée Démarrez putty. Entrez le nom de votre PC, mais avant d’ouvrir, allez sur Connection > SSH > Auth [-] Connection
Plus en détailContrôle de la DreamBox à travers un canal SSH
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html. Le plus simple est de télécharger le package complet comprenant tous les utilitaires pour Intel x86 et de les décompresser dans un c...
Plus en détail