Serveur ssh sous Debian #CRC12


-- Download Serveur ssh sous Debian #CRC12 as PDF --


tunnel-ssh

L’établissement d’une connexion SSH

Un serveur SSH dispose d’un couple de clefs RSA stocké dans le répertoire /etc/ssh/ et généré lors de l’installation du serveur. Le fichier ssh_host_rsa_key contient la clef privée et a les permissions 600. Le fichier ssh_host_rsa_key.pub contient la clef publique et a les permissions 644.

Nous allons suivre par étapes l’établissement d’une connexion SSH :

  1. Le serveur envoie sa clef publique au client. Celui-ci vérifie qu’il s’agit bien de la clef du serveur, s’il l’a déjà reçue lors d’une connexion précédente.
  2. Le client génère une clef secrète et l’envoie au serveur, en chiffrant l’échange avec la clef publique du serveur (chiffrement asymétrique). Le serveur déchiffre cette clef secrète en utilisant sa clé privée, ce qui prouve qu’il est bien le vrai serveur.

  3. Pour le prouver au client, il chiffre un message standard avec la clef secrète et l’envoie au client. Si le client retrouve le message standard en utilisant la clef secrète, il a la preuve que le serveur est bien le vrai serveur.

  4. Une fois la clef secrète échangée, le client et le serveur peuvent alors établir un canal sécurisé grâce à la clef secrète commune (chiffrement symétrique).
  5. Une fois que le canal sécurisé est en place, le client va pouvoir envoyer au serveur le login et le mot de passe de l’utilisateur pour vérification. La canal sécurisé reste en place jusqu’à ce que l’utilisateur se déconnecte.

La seule contrainte est de s’assurer que la clef publique présentée par le serveur est bien sa clef publique… sinon le client risque de se connecter à un faux serveur qui aurait pris l’adresse IP du vrai serveur (ou toute autre magouille). Une bonne méthode est par exemple de demander à l’administrateur du serveur quelle est le fingerprint de la clef publique du serveur avant de s’y connecter pour la première fois. Le fingerprint d’une clef publique est une chaîne de 32 caractères hexadécimaux à peu près unique pour chaque clef (un hachage) ; il s’obtient grâce à la commande ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub.

Installer un serveur ssh sous Debian

Le client SSH est disponible dans le paquet openssh-client, qui est préinstallé.

Pour pouvoir vous connecter à distance, vous pouvez maintenant installer le serveur SSH :

# apt-get install openssh-server

L’installation comporte une étape de génération des clefs de chiffrement. Finalement, le serveur SSH se lance.

Configuration du serveur SSH

Le fichier de configuration du serveur SSH est /etc/ssh/sshd_config. À ne pas confondre avec le fichier/etc/ssh/ssh_config, qui est le fichier de configuration du client SSH.

Nous allons vous commenter les lignes les plus importantes de ce fichier de configuration :

  • 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.

  • PermitRootLogin yes

    Signifie que vous pouvez vous connecter en root par SSH. 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. Sans cela, un pirate n’aurait qu’à trouver le mot de passe du compte root, alors que là, il doit trouver votre login et votre mot de passe.

  • X11Forwarding yes

    Signifie que vous allez pouvoir travailler en déport d’affichage par SSH.

Si vous avez modifié le fichier de configuration du serveur, il faut lui dire de relire son fichier de configuration :

# /etc/init.d/ssh restart

 by Alexis de Lattre

www.pdf24.org    Envoyer l'article en PDF   
Posted on: 18 janvier 2013tontonfred