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 : apt­get 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 ssh­keygen 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 ssh­keygen ­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 (ctrl­inser).
•
Ouvrir une session sur le serveur avec ssh, éditer le fichier .ssh/authorized_keys (avec vi) et coller la clé (shift­inser). 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 (apt­get 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.linux­quebec.org/nicolas/ssh­port­forwarding/
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/Samba­with­SSH/Samba­with­SSH.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 ppp­ssh
http://www.linux­france.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

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étail

Contrôle de la DreamBox à travers un canal SSH

Contrô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