SSH : amélioration de la sécurité

From CC Doc
Jump to: navigation, search
This page is a translated version of the page SSH security improvements and the translation is 100% complete.

Other languages:
English • ‎français


Organigramme SSH : amélioration de la sécurité (cliquez pour agrandir)

SSH est le protocole de connexion aux grappes de Calcul Canada. Il vérifie l'identité du serveur et de l'utilisateur en les comparant aux identités connues, et il effectue le chiffrement de la connexion. La sécurité étant périodiquement menacée par de nouveaux risques, Calcul Canada abandonne à l'été 2019 certaines options de SSH qui ne sont plus jugées sécuritaires. Les utilisateurs devront effectuer les modifications décrites dans l'organigramme.

Modifications apportées à l'été 2019

Quelles sont les modifications?

Au cours de l'été 2019, nous effectuerons les améliorations suivantes au grappes de Calcul Canada :

  1. Désactivation de certains algorithmes de chiffrement.
  2. Désactivation de certains types de clés publiques.
  3. Régénération des clés hôte.

Même si certains de ces termes vous sont inconnus, les directives suivantes vous aideront à vous préparer adéquatement. Si les tests proposés ci-dessous indiquent que vous devez changer ou mettre à jour votre client SSH, cette page pourrait vous être utile.

Les utilisateurs d'Arbutus ne sont pas touchés puisque la connexion se fait par interface web et non via SSH.

Mise à jour de la liste des hôtes de votre client

Quand les modifications seront complétées, l'avertissement suivant sera probablement affiché la première fois que vous vous connecterez à une grappe.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
SHA256:mf1jJ3ndpXhpo0k38xVxjH8Kjtq3o1+ZtTVbeM0xeCk.
Please contact your system administrator.
Add correct host key in /home/username/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/username/.ssh/known_hosts:109
ED25519 host key for graham.computecanada.ca has changed and you have requested strict checking.
Host key verification failed.
Killed by signal 1.

Cet avertissement indique que les clés hôte de la grappe (ici la grappe Graham) ont été modifiées et que le logiciel de votre client SSH se souvient des clés antérieures. Ceci se produit pour contrer les attaques de l'homme du milieu. L'avertissement sera affiché sur chaque ordinateur à partir duquel vous vous connectez.

Vous pourriez aussi recevoir un avertissement de mystification (DNS spoofing) dû également à une telle modification.

MobaXterm, PuTTY, WinSCP

Sous Windows, l'avertissement sera affiché dans une fenêtre et vous serez invité à accepter la nouvelle clé en cliquant sur Yes. Avant de cliquer, assurez-vous que l'empreinte se trouve dans la liste des empreintes de clés hôte ci-dessous. Si elle ne s'y trouve pas, contactez le soutien technique.

macOS, Linux, GitBash, Cygwin

Si vous utilisez ssh en ligne de commande, une de ces commandes fera en sorte que votre système oublie l'ancienne clé hôte :

 ssh-keygen -R graham.computecanada.ca
ssh-keygen -R cedar.computecanada.ca
ssh-keygen -R beluga.computecanada.ca

La prochaine fois que vous vous connecterez par SSH, vous devrez confirmer les nouvelles clés, par exemple

$ ssh graham.computecanada.ca
The authenticity of host 'graham.computecanada.ca (142.150.188.70)' can't be established.
ED25519 key fingerprint is SHA256:mf1jJ3ndpXhpo0k38xVxjH8Kjtq3o1+ZtTVbeM0xeCk.
ED25519 key fingerprint is MD5:bc:93:0c:64:f7:e7:cf:d9:db:81:40:be:4d:cd:12:5c.
Are you sure you want to continue connecting (yes/no)? 

Avant d'entrer yes, assurez-vous que l'empreinte se trouve dans la liste des empreintes de clés hôte ci-dessous. Si elle ne s'y trouve pas, contactez le soutien technique.

Dépannage

Puis-je tester mon client SSH avant que les modifications soient apportées?

Oui. Nous avons configuré un serveur qui vous permet de tester le fonctionnement de votre logiciel avec les nouveaux protocoles. Si vous pouvez vous connecter à ssh-test.computecanada.ca avec les coordonnées habituelles de votre compte Calcul Canada, vous pourrez vous connecter après que les modifications auront été apportées, mais vous devrez quand même mettre à jour les clés SSH enregistrées localement par votre client.

Voir la liste des empreintes de clés hôte ci-dessous.

Ma clé SSH ne fonctionne plus

Si on vous demande un mot de passe mais que vous utilisiez les clés SSH par le passé, il est probable que ce soit dû à la désactivation des clés DSA et RSA 1024 bits.

Il vous faudra générer une nouvelle clé plus forte. La méthode est différente selon que vous êtes sous Windows ou Linux/macOS. Dans ce dernier cas, la référence décrit aussi comment ajouter votre nouvelle clé publique au serveur hôte à distance pour que l'authentification se fasse par la clé plutôt que par mot de passe.

Impossibilité de se connecter

Les messages d'erreur suivants

Unable to negotiate with 142.150.188.70 port 22: no matching cipher found.
Unable to negotiate with 142.150.188.70 port 22: no matching key exchange method found.
Unable to negotiate with 142.150.188.70 port 22: no matching mac found.

indiquent que vous devez effectuer la mise à jour de votre client SSH et utiliser une version compatible parmi celles listées ci-dessous.

Clients compatibles

Nous avons testé la configuration avec certains clients; il est possible que les versions antérieures de ces clients ne soient pas compatibles. Nous vous recommandons de mettre à jour votre système d'exploitation et votre client SSH.

Linux

  • OpenSSH_7.4p1, OpenSSL 1.0.2k-fips (CentOS 7.5, 7.6)
  • OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.13, OpenSSL 1.0.1f (Ubuntu 14)

OS X

Pour connaître la version de votre client SSH, utilisez la commande ssh -V.

  • OpenSSH 7.4p1, OpenSSL 1.0.2k (Homebrew)
  • OpenSSH 7.9p1, LibreSSL 2.7.3 (OS X 10.14.5)

Windows

  • MobaXterm Personal Edition v11.1

iOS

  • Termius, 4.3.12


Empreintes de clés hôte

Béluga

ECDSA
SHA256:9tRJeRU3sa45G4oxtJxwLo7rPIjWwGaogVwushkvFtE
MD5:85:f7:06:47:5b:0f:95:94:0c:6d:36:52:7a:84:ed:39
ED25519
SHA256:lwmU2AS/oQ0Z2M1a31yRAxlKPcMlQuBPFP+ji/HorHQ
MD5:2d:d7:cc:d0:85:f9:33:c1:44:80:38:e7:68:ce:38:ce
RSA
SHA256:fbkc5hphphBLYjGGCRHvFZYFFwKLb+IzgKvIQMFpvRs
MD5:1f:07:a9:eb:6a:07:12:ca:75:76:16:0b:4f:3f:f3:23

Cedar

ECDSA
  • SHA256:fdAp892EGlADRSC8I16Gj8eun6TLXmn6sFqmi7seb4c
  • MD5:0e:0e:8e:07:26:b1:dd:74:95:8b:32:00:84:42:10:df
RSA
  • SHA256:8jpkttv8GBIfGCkVsEsUdcQPyTJu2QlC+8XsZk1fN/4
  • MD5:64:50:b3:96:97:b0:11:64:db:23:de:65:b0:a7:99:73
ED25519
  • SHA256:a4n68wLDqJhxtePn04T698+7anVavd0gdpiECLBylAU
  • MD5:f8:6a:45:2e:b0:3a:4b:16:0e:64:da:fd:68:74:6a:24

Graham

ECDSA
  • SHA256:JRj286Pkqh6aeO5zx1QUkS8un5fpcapmezusceSGhok
  • MD5:99:59:db:b1:3f:18:d0:2c:49:4e:c2:74:86:ac:f7:c6
ED25519
  • SHA256:mf1jJ3ndpXhpo0k38xVxjH8Kjtq3o1+ZtTVbeM0xeCk
  • MD5:bc:93:0c:64:f7:e7:cf:d9:db:81:40:be:4d:cd:12:5c
RSA
  • SHA256:izJoT1zTpcn3Q8lwhC6VMdVuGWNE/KH44M9hv5Ew3sE
  • MD5:ef:33:04:74:08:44:c5:46:78:81:9b:7a:79:af:0f:be

Niagara

ED25519
  • SHA256:SauX2nL+Yso9KBo2Ca6GH/V9cSFLFXwxOECGWXZ5pxc
  • MD5:b4:ae:76:a5:2b:37:8d:57:06:0e:9a:de:62:00:26:be
RSA
  • SHA256:k6YEhYsI73M+NJIpZ8yF+wqWeuXS9avNs2s5QS/0VhU
  • MD5:98:e7:7a:07:89:ef:3f:d8:68:3d:47:9c:6e:a6:71:5e

ssh-test.computecanada.ca

ED25519 (256b)
SHA256:Tpu6li6aynYkhmB83Q9Sh7x8qdhT8Mbw4QcDxTaHgxY
MD5:33:8f:f8:57:fa:46:f9:7f:aa:73:e2:0b:b1:ce:66:38
RSA (4096b)
SHA256:DMSia4nUKIyUhO5axZ/As4I8uqlaX0jPcJvcK93D2H0
MD5:a7:08:00:7c:eb:81:f2:f7:2f:5a:92:b0:85:e3:e8:5d