Ce document décrit comment générer une clé d'interpréteur de commandes sécurisé privé (SSH) et l'utiliser pour le nom d'utilisateur et l'authentification lors de la connexion à l'interface de ligne de commande (CLI) sur le dispositif de sécurité de la messagerie Cisco (ESA).
L'authentification par clé publique (PKI) est une méthode d'authentification qui repose sur une paire de clés publique/privée générée. Avec l'ICP, une « clé » spéciale est générée qui possède une propriété très utile : toute personne qui peut lire la moitié publique de la clé peut chiffrer des données qui ne peuvent alors être lues que par une personne qui a accès à la moitié privée de la clé. De cette façon, avoir accès à la moitié publique d'une clé vous permet d'envoyer des informations secrètes à toute personne ayant la moitié privée, et de vérifier également qu'une personne a effectivement accès à la moitié privée. Il est facile de voir comment cette technique pourrait être utilisée pour l'authentification.
En tant qu'utilisateur, vous pouvez générer une paire de clés, puis placer la moitié publique de la clé sur un système distant, tel que votre ESA. Ce système distant est alors en mesure d'authentifier votre ID utilisateur et vous permet de vous connecter simplement en vous demandant de démontrer que vous avez accès à la moitié privée de la paire de clés. Cela se fait au niveau du protocole à l'intérieur de SSH et se produit automatiquement.
Cependant, cela signifie que vous devez protéger la confidentialité de la clé privée. Sur un système partagé où vous n'avez pas de racine, cela peut être effectué en chiffrant la clé privée avec une phrase de passe, qui fonctionne de la même manière qu'un mot de passe. Avant que SSH puisse lire votre clé privée afin d'effectuer l'authentification de clé publique, vous serez invité à fournir la phrase de passe afin que la clé privée puisse être déchiffrée. Sur des systèmes plus sécurisés (comme une machine où vous êtes le seul utilisateur ou une machine à votre domicile où aucun étranger n'aura d'accès physique), vous pouvez simplifier ce processus soit en créant une clé privée non chiffrée (sans phrase de passe), soit en entrant votre phrase de passe une fois, puis en mettant la clé en mémoire cache pendant la durée de votre présence sur l'ordinateur. OpenSSH contient un outil appelé ssh-agent qui simplifie ce processus.
Procédez comme suit pour configurer votre station de travail (ou serveur) linux/unix afin qu'elle se connecte à l'ESA sans mot de passe. Dans cet exemple, nous ne spécifierons pas comme phrase de passe.
1) Sur votre station de travail (ou serveur), générez une clé privée à l'aide de la commande Unix ssh-keygen :
$ ssh-keygen -b 2048 -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/[USERID]/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/[USERID]/.ssh/id_rsa.
Your public key has been saved in /home/[USERID]/.ssh/id_rsa.pub.
The key fingerprint is:
00:11:22:77:f6:a9:1e:19:f0:ca:28:9c:ff:00:11:22 [USERID]@hostname.com
The key's randomart image is:
+--[ RSA 2048]----+
| +... +|
| o= o+|
| o o ..|
| . ..o . + |
| . ES. o + |
| o + . . |
| o . . |
| o o |
| . . |
+-----------------+
(*ce qui précède a été généré à partir d'un Ubuntu 14.04.1)
2) Ouvrez le fichier de clé publique (id_rsa.pub) créé dans #1 et copiez le résultat :
$ cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJg9W3DeGf83m+E/PLGzUFPalSoJz5F
t54Wl2wUS36NLxm4IO4Xfrrb5bA97I+ZA4YcB1l/HsFLZcoljAK4uBbmpY5kXg96A6Wf
mIYMnl+nV2vrhrODgbcicEAdMcQN3wWHXiEWacV+6u+FlHlonkSAIDEug6vfnd+bsbcP
Zz2uYnx1llxbVtGftbWVssBK3LkFp9f0GwDiYs7LsXvQbTkixrECXqeSrr+NLzhU5hf6
eb9Kn8xjytf+eFbYAslam/NEfl9i4rjide1ebWN+LnkdcE5eQ0ZsecBidXv0KNf45RJa
KgzF7joke9niLfpf2sgCTiFxg+qZ0rQludntknw [USERID]@hostname.com
3) Connectez-vous à votre appliance et configurez votre ESA pour reconnaître votre station de travail (ou serveur) à l'aide de la clé SSH publique que vous avez créée dans #1, et validez les modifications. Notez l'invite du mot de passe lors de la connexion :
$ ssh admin@192.168.0.199
******************************
CONNECTING to myesa.local
Please stand by...
******************************
Password:[PASSWORD]
Last login: Mon Aug 18 14:11:40 2014 from 192.168.0.200
Copyright (c) 2001-2013, Cisco Systems, Inc.
AsyncOS 8.5.6 for Cisco C100V build 074
Welcome to the Cisco C100V Email Security Virtual Appliance
myesa.local> sshconfig
Currently installed keys for admin:
Choose the operation you want to perform:
- NEW - Add a new key.
- USER - Switch to a different user to edit.
[]> new
Please enter the public SSH key for authorization.
Press enter on a blank line to finish.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJg9W3DeGf83m+E/PLGzUFPalSoJz5F
t54Wl2wUS36NLxm4IO4Xfrrb5bA97I+ZA4YcB1l/HsFLZcoljAK4uBbmpY5kXg96A6Wf
mIYMnl+nV2vrhrODgbcicEAdMcQN3wWHXiEWacV+6u+FlHlonkSAIDEug6vfnd+bsbcP
Zz2uYnx1llxbVtGftbWVssBK3LkFp9f0GwDiYs7LsXvQbTkixrECXqeSrr+NLzhU5hf6
eb9Kn8xjytf+eFbYAslam/NEfl9i4rjide1ebWN+LnkdcE5eQ0ZsecBidXv0KNf45RJa
KgzF7joke9niLfpf2sgCTiFxg+qZ0rQludntknw [USERID]@hostname.com
Currently installed keys for admin:
1. ssh-rsa AAAAB3NzaC1yc2EAA...rQludntknw ([USERID]@hostname.com)
Choose the operation you want to perform:
- NEW - Add a new key.
- DELETE - Remove a key.
- PRINT - Display a key.
- USER - Switch to a different user to edit.
[]>
myesa.local> commit
4) Quittez l'appliance et reconnectez-vous. Notez que l'invite du mot de passe est supprimée et que l'accès est directement accordé :
myesa.local> exit
Connection to 192.168.0.199 closed.
robert@ubuntu:~$ ssh admin@192.168.0.199
******************************
CONNECTING to myesa.local
Please stand by...
******************************
Last login: Mon Aug 18 14:14:50 2014 from 192.168.0.200
Copyright (c) 2001-2013, Cisco Systems, Inc.
AsyncOS 8.5.6 for Cisco C100V build 074
Welcome to the Cisco C100V Email Security Virtual Appliance
myesa.local>
Procédez comme suit pour configurer votre station de travail (ou serveur) Windows afin qu'elle se connecte à l'ESA sans mot de passe. Dans cet exemple, nous ne spécifierons pas comme phrase de passe.
1) Ouvrir PuttyGen.
2) Pour Type de clé à générer, sélectionnez SSH-2 RSA.
3) Cliquez sur le bouton Générer.
4) Déplacez la souris dans la zone située sous la barre de progression. Lorsque la barre de progression est pleine, PuTTYgen génère votre paire de clés.
5) Tapez une phrase de passe dans le champ Key passphrase (Phrase de passe clé). Saisissez la même phrase de passe dans le champ Confirm passphrase (Confirmer la phrase de passe). Vous pouvez utiliser une clé sans phrase de passe, mais ce n'est pas recommandé.
6) Cliquez sur le bouton Save private key pour enregistrer la clé privée.
7) Cliquez avec le bouton droit dans le champ de texte intitulé Clé publique à coller dans le fichier OpenSSH authorized_keys et choisissez Select All.
8) Cliquez à nouveau avec le bouton droit dans le même champ de texte et choisissez Copier.
9) À l'aide de PuTTY, connectez-vous à votre appliance et configurez votre ESA pour reconnaître votre station de travail (ou serveur) Windows à l'aide de la clé SSH publique que vous avez enregistrée et copiée à partir de #6 - #8, puis validez les modifications. Notez l'invite du mot de passe lors de la connexion :
login as: admin
Using keyboard-interactive authentication.
Password: [PASSWORD]
Last login: Mon Aug 18 11:46:17 2014 from 192.168.0.201
Copyright (c) 2001-2013, Cisco Systems, Inc.
AsyncOS 8.5.6 for Cisco C100V build 074
Welcome to the Cisco C100V Email Security Virtual Appliance
myesa.local> sshconfig
Currently installed keys for admin:
Choose the operation you want to perform:
- NEW - Add a new key.
- USER - Switch to a different user to edit.
[]> new
Please enter the public SSH key for authorization.
Press enter on a blank line to finish.
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAj6ReI+gqLU3W1uQAMUG0620B+tpdkjkgBn
5NfYc+qrtyB93stG38O1T4s0zHnhuKJLTdwBg/JHdFuNO77BY+21GYGS27dMp3UT9/VuQ
TjP8DmWKOa+8Mpc9ePdCBZp1C4ct9oroidUT3V3Fbl5M9rL8q4/gonSi+7iFc9uOaqgDM
/h+RxhYeFdJLechMY5nN0adViFloKGmV1tz3K9t0p+jEW5l9TJf+fl5X6yxpBBDoNcaB9
jNwQ5v7vcIZBv+fl98OcXD9SNt08G0XaefyD2VuphtNA5EHwx+f6eeA8ftlmO+PgtqnAs
c2T+i3BAdC73xwML+1IG82zY51pudntknw rsa-key-20140818
Currently installed keys for admin:
1. ssh-rsa AAAAB3NzaC1yc2EAA...51pudntknw (rsa-key-20140818)
Choose the operation you want to perform:
- NEW - Add a new key.
- DELETE - Remove a key.
- PRINT - Display a key.
- USER - Switch to a different user to edit.
[]>
myesa.local> commit
10) Dans la fenêtre de configuration PuTy et dans votre session enregistrée préexistante pour votre ESA, choisissez Connection > SSH > Auth et dans le champ Private key file for authentication, cliquez sur Browse et recherchez votre clé privée enregistrée à l'étape #6.
11) Enregistrez la session (profil) dans PuTTY, puis cliquez sur Open. Connectez-vous avec le nom d'utilisateur, s'il n'est pas déjà enregistré ou spécifié à partir de la session préconfigurée. Notez l'inclusion de « Authentification avec la clé publique » [NOM DU FICHIER DE LA CLÉ PRIVÉE ENREGISTRÉE] » lors de la connexion :
login as: admin
Authenticating with public key "rsa-key-20140818"
Last login: Mon Aug 18 11:56:49 2014 from 192.168.0.201
Copyright (c) 2001-2013, Cisco Systems, Inc.
AsyncOS 8.5.6 for Cisco C100V build 074
Welcome to the Cisco C100V Email Security Virtual Appliance
myesa.local>
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
20-Aug-2014 |
Première publication |