JavaScript is required to for searching.
Ignorer les liens de navigation
Quitter l'aperu
Administration d'Oracle Solaris : services de sécurité     Oracle Solaris 11 Information Library (Français)
search filter icon
search icon

Informations document

Préface

Partie I Présentation de la sécurité

1.  Services de sécurité (présentation)

Partie II Sécurité du système, des fichiers et des périphériques

2.  Gestion de la sécurité de la machine (présentation)

3.  Contrôle de l'accès aux systèmes (tâches)

4.  Service d'analyse antivirus (tâches)

5.  Contrôle de l'accès aux périphériques (tâches)

6.  Utilisation de l'outil de génération de rapports d'audit de base (tâches)

7.  Contrôle de l'accès aux fichiers (tâches)

Partie III Rôles, profils de droits et privilèges

8.  Utilisation des rôles et des privilèges (présentation)

9.  Utilisation du contrôle d'accès basé sur les rôles (tâches)

10.  Attributs de sécurité dans Oracle Solaris (référence)

Partie IV Services cryptographiques

11.  Structure cryptographique (présentation)

12.  Structure cryptographique (tâches)

13.  Structure de gestion des clés

Partie V Services d'authentification et communication sécurisée

14.  Authentification des services réseau (tâches)

15.  Utilisation de PAM

16.  Utilisation de SASL

17.  Utilisation de Secure Shell (tâches)

Secure Shell (présentation)

Authentification Secure Shell

Secure Shell dans l'entreprise

Secure Shell et le projet OpenSSH

Secure Shell et prise en charge FIPS-140

Secure Shell (liste des tâches)

Configuration de Secure Shell (tâches)

Configuration de Secure Shell (liste des tâches)

Procédure de configuration de l'authentification basée sur l'hôte pour Secure Shell

Procédure de configuration du transfert de port dans Secure Shell

Procédure de création d'exceptions d'utilisateur et d'hôte SSH aux valeurs par défaut du système

Utilisation de Secure Shell (tâches)

Utilisation de Secure Shell (liste des tâches)

Procédure de génération d'une paire de clés publiques ou privées à utiliser avec Secure Shell

Procédure de modification de la phrase de passe pour une clé privée Secure Shell

Procédure de connexion à un hôte distant avec Secure Shell

Procédure de réduction des invites de mot de passe dans Secure Shell

Procédure d'utilisation du transfert de port dans Secure Shell

Procédure de copie de fichiers avec Secure Shell

Procédure de configuration de connexions par défaut à des hôtes en dehors du pare-feu

18.  Secure Shell (référence)

Partie VI Service Kerberos

19.  Introduction au service Kerberos

20.  Planification du service Kerberos

21.  Configuration du service Kerberos (tâches)

22.  Messages d'erreur et dépannage de Kerberos

23.  Administration des principaux et des stratégies Kerberos (tâches)

24.  Utilisation des applications Kerberos (tâches)

25.  Service Kerberos (référence)

Partie VII Audit dans Oracle Solaris

26.  Audit (présentation)

27.  Planification de l'audit

28.  Gestion de l'audit (tâches)

29.  Audit (référence)

Glossaire

Index

Utilisation de Secure Shell (tâches)

Secure Shell fournit un accès sécurisé entre un shell local et un shell distant. Pour plus d'informations, reportez-vous aux pages de manuel ssh_config(4) et ssh(1).

Utilisation de Secure Shell (liste des tâches)

La liste des tâches suivante présente les procédures d'utilisation de Secure Shell.

Tâche
Description
Voir
Création d'une paire de clés publique/privée
Permet l'accès à Secure Shell pour des sites qui nécessitent une authentification avec clé publique.
Modification de votre phrase de passe
Change la phrase qui authentifie votre clé privée.
Connexion par le biais de Secure Shell
Permet la communication chiffrée Secure Shell lors d'une connexion à distance. Le processus est similaire à l'utilisation de la commande rsh.
Connexion à Secure Shell sans mot de passe
Permet la connexion par le biais d'un agent qui fournit votre mot de passe à Secure Shell.
Utilisation du transfert de port dans Secure Shell
Spécifie un port local ou un port distant à utiliser pour les connexions Secure Shell via TCP.
Copie de fichiers avec Secure Shell
Copie les fichiers d'un hôte à l'autre en toute sécurité.
Connexion sécurisée à partir d'un hôte à l'intérieur d'un pare-feu sur un hôte à l'extérieur du pare-feu.
Utilise les commandes Secure Shell compatibles avec le protocole HTTP ou SOCKS5 pour connecter les hôtes séparés par un pare-feu.

Procédure de génération d'une paire de clés publiques ou privées à utiliser avec Secure Shell

Les utilisateurs doivent générer une paire de clés publiques ou privées lorsque leur site met en oeuvre l'authentification basée sur l'hôte ou l'authentification avec clé publique de l'utilisateur. Pour plus d'options, reportez-vous à la page de manuel ssh-keygen(1).

Avant de commencer

Vérifiez auprès de votre administrateur système si l'authentification basée sur l'hôte est configurée.

  1. Démarrez le programme de génération de clés.
    myLocalHost% ssh-keygen -t rsa
    Generating public/private rsa key pair.
    …

    -t est le type d'algorithme, rsa, dsa, ou rsa1.

  2. Spécifiez le chemin vers le fichier qui contiendra la clé.

    Par défaut, le nom de fichier id_rsa, qui représente une clé RSA v2, s'affiche entre parenthèses. Vous pouvez sélectionner ce fichier en appuyant sur la touche Retour. Ou bien, vous pouvez taper un autre nom de fichier.

    Enter file in which to save the key (/home/jdoe/.ssh/id_rsa):<Press Return>

    Le nom de fichier de la clé publique est créé automatiquement par l'ajout de la chaîne .pub au nom du fichier de clés privées.

  3. Entrez une phrase de passe pour utiliser votre clé.

    Cette phrase de passe est utilisée pour chiffrer votre clé privée. Une entrée nulle est fortement déconseillée. Notez que la phrase de passe ne s'affiche pas lorsque vous la saisissez.

    Enter passphrase (empty for no passphrase): <Type passphrase>
  4. Entrez de nouveau la phrase de passe pour la confirmer.
    Enter same passphrase again: <Type passphrase>
    Your identification has been saved in /home/jdoe/.ssh/id_rsa.
    Your public key has been saved in /home/jdoe/.ssh/id_rsa.pub.
    The key fingerprint is:
    0e:fb:3d:57:71:73:bf:58:b8:eb:f3:a3:aa:df:e0:d1 jdoe@myLocalHost
  5. Vérifiez les résultats.

    Vérifiez que le chemin d'accès au fichier de la clé est correct.

    % ls ~/.ssh
    id_rsa
    id_rsa.pub

    A ce stade, vous avez créé une paire de clés publiques ou privées.

  6. Choisissez l'option appropriée :
    • Si votre administrateur a configuré l'authentification basée sur l'hôte, vous pouvez être amené à copier la clé publique de l'hôte local sur l'hôte distant.

      Vous pouvez maintenant vous connecter à l'hôte distant. Pour plus de détails, reportez-vous à la section Procédure de connexion à un hôte distant avec Secure Shell.

      1. Saisissez la commande sur une seule ligne, sans barre oblique inverse.
        % cat /etc/ssh/ssh_host_dsa_key.pub | ssh RemoteHost \
        'cat >> ~./ssh/known_hosts && echo "Host key copied"'
      2. Lorsque vous y êtes invité, indiquez votre mot de passe de connexion.
        Enter password: <Type password>
        Host key copied
        %
    • Si votre site utilise l'authentification de l'utilisateur avec les clés publiques, remplissez votre fichier authorized_keys sur l'hôte distant.
      1. Copiez votre clé publique sur l'hôte distant.

        Saisissez la commande sur une seule ligne, sans barre oblique inverse.

        myLocalHost% cat $HOME/.ssh/id_rsa.pub | ssh myRemoteHost \
        'cat >> .ssh/authorized_keys && echo "Key copied"'
      2. Lorsque vous y êtes invité, indiquez votre mot de passe de connexion.

        Lorsque le fichier est copié, le message "Key copied" (Clé copiée) s'affiche.

        Enter password: Type login password
        Key copied
        myLocalHost%
  7. (Facultatif) Réduisez le nombre d'invites de phrases de passe.

    Pour connaître la procédure, reportez-vous à la section Procédure de réduction des invites de mot de passe dans Secure Shell. Pour plus d'informations, reportez-vous aux pages de manuel ssh-agent(1) et ssh-add(1).

Procédure de modification de la phrase de passe pour une clé privée Secure Shell

La procédure suivante ne change pas la clé privée. La procédure modifie le mécanisme d'authentification pour la clé privée, la phrase de passe. Pour plus d'informations, reportez-vous à la page de manuel ssh-keygen(1).

Procédure de connexion à un hôte distant avec Secure Shell

  1. Démarrez une session Secure Shell.

    Tapez la commande ssh et spécifiez le nom de l'hôte distant et votre identifiant de connexion.

    myLocalHost% ssh myRemoteHost -l username

    Une invite met en doute l'authenticité de l'hôte distant :

    The authenticity of host 'myRemoteHost' can't be established.
    RSA key fingerprint in md5 is: 04:9f:bd:fc:3d:3e:d2:e7:49:fd:6e:18:4f:9c:26
    Are you sure you want to continue connecting(yes/no)? 

    Cette invite est normale pour les connexions initiales sur des hôtes distants.

  2. A l'invite, vérifiez l'authenticité de la clé de l'hôte distant.
    • Si vous ne pouvez pas confirmer l'authenticité de l'hôte distant, saisissez no et contactez votre administrateur système.
      Are you sure you want to continue connecting(yes/no)? no

      L'administrateur est responsable de la mise à jour du fichier /etc/ssh/ssh_known_hosts global. Un fichier ssh_known_hosts mis à jour empêche l'affichage de cette invite.

    • Si vous confirmez l'authenticité de l'hôte distant, répondez à l'invite et passez à l'étape suivante.
      Are you sure you want to continue connecting(yes/no)? yes
  3. Authentifiez-vous sur Secure Shell.
    1. Lorsque vous y êtes invité, saisissez votre phrase de passe.
      Enter passphrase for key '/home/jdoe/.ssh/id_rsa': <Type passphrase>
    2. Lorsque vous y êtes invité, saisissez votre mot de passe de compte.
      jdoe@myRemoteHost's password: <Type password>
      Last login: Wed Sep  7 09:07:49 2011 from myLocalHost
      Oracle Corporation      SunOS 5.11       September 2011
      myRemoteHost%
  4. Effectuez des transactions sur l'hôte distant.

    Les commandes que vous envoyez sont chiffrées. Les réponses que vous recevez sont chiffrées.

  5. Arrêtez la connexion Secure Shell.

    Lorsque vous avez terminé, saisissez exit ou utilisez votre méthode habituelle pour quitter votre shell.

    myRemoteHost% exit
    myRemoteHost% logout
    Connection to myRemoteHost closed
    myLocalHost%

Procédure de réduction des invites de mot de passe dans Secure Shell

Si vous ne voulez pas saisir votre phrase de passe et votre mot de passe pour utiliser Secure Shell, vous pouvez utiliser le démon de l'agent. Démarrez ce démon au début de la session. Ensuite, stockez vos clés privées avec le démon de l'agent à l'aide de la commande ssh-add. Si vous avez des comptes différents sur différents hôtes, ajoutez les clés dont vous avez besoin pour la session.

Vous pouvez démarrer le démon de l'agent manuellement lorsque vous en avez besoin, comme décrit dans la procédure suivante.

  1. Démarrez le démon de l'agent.
    myLocalHost% eval `ssh-agent`
    Agent pid 9892
  2. Vérifiez que le démon de l'agent a été démarré.
    myLocalHost% pgrep ssh-agent
    9892
  3. Ajoutez votre clé privée au démon de l'agent.

    Saisissez la commande ssh-add.

    myLocalHost% ssh-add
    Enter passphrase for /home/jdoe/.ssh/id_rsa: <Type passphrase>
    Identity added: /home/jdoe/.ssh/id_rsa(/home/jdoe/.ssh/id_rsa)
    myLocalHost%
  4. Démarrez une session Secure Shell.
    myLocalHost% ssh myRemoteHost -l jdoe

    Vous n'êtes pas invité à saisir une phrase de passe.

Exemple 17-2 Utilisation des options ssh-add

Dans cet exemple, jdoe ajoute deux clés pour le démon de l'agent. L'option -l sert à répertorier toutes les clés stockées dans le démon. A la fin de la session, l'option -D sert à supprimer toutes les clés du démon de l'agent.

myLocalHost% ssh-agent
myLocalHost% ssh-add
Enter passphrase for /home/jdoe/.ssh/id_rsa: <Type passphrase>
Identity added: /home/jdoe/.ssh/id_rsa(/home/jdoe/.ssh/id_rsa)
myLocalHost% ssh-add /home/jdoe/.ssh/id_dsa
Enter passphrase for /home/jdoe/.ssh/id_dsa: <Type passphrase>
Identity added:
/home/jdoe/.ssh/id_dsa(/home/jdoe/.ssh/id_dsa)

myLocalHost% ssh-add -l
md5 1024 0e:fb:3d:53:71:77:bf:57:b8:eb:f7:a7:aa:df:e0:d1
/home/jdoe/.ssh/id_rsa(RSA)
md5 1024 c1:d3:21:5e:40:60:c5:73:d8:87:09:3a:fa:5f:32:53
/home/jdoe/.ssh/id_dsa(DSA)

User conducts Oracle Solaris Secure Shell transactions
myLocalHost% ssh-add -D
Identity removed:
/home/jdoe/.ssh/id_rsa(/home/jdoe/.ssh/id_rsa.pub)
/home/jdoe/.ssh/id_dsa(DSA)

Procédure d'utilisation du transfert de port dans Secure Shell

Vous pouvez spécifier qu'un port local est transmis à un hôte distant. En réalité, un socket est alloué pour écouter le port côté local. La connexion sur l'hôte distant à partir de ce port est effectuée par le biais d'un canal sécurisé. Par exemple, vous pouvez spécifier un port 143 afin de recevoir votre courrier à distance avec IMAP4. De la même façon, un port peut être spécifié côté distant.

Avant de commencer

Pour utiliser le transfert de port, l'administrateur doit avoir activé le transfert de port sur le serveur Secure Shell distant. Pour plus de détails, reportez-vous à la section Procédure de configuration du transfert de port dans Secure Shell.

Exemple 17-3 Utilisation du transfert de port local pour recevoir du courrier

L'exemple suivant illustre l'utilisation du transfert du port local pour recevoir du courrier en toute sécurité à partir d'un serveur distant.

myLocalHost% ssh -L 9143:myRemoteHost:143 myRemoteHost 

Cette commande transmet les connexions à partir du port 9143 sur myLocalHost au port 143. Port 143 est le port du serveur IMAP v2 sur myRemoteHost. Lorsque l'utilisateur lance une application de messagerie, celui-ci doit spécifier le numéro de port local pour le serveur IMAP, comme dans localhost:9143.

Il ne faut pas confondre localhost avec myLocalHost. myLocalHost est un nom d'hôte hypothétique. localhost est un mot-clé qui identifie votre système local.

Exemple 17-4 Utilisation du transfert de port distant pour communiquer à l'extérieur d'un pare-feu

Cet exemple montre comment l'utilisateur, dans un environnement d'entreprise, peut transférer vers un hôte à l'intérieur d'un pare-feu d'entreprise des connexions d'un hôte sur un réseau externe.

myLocalHost% ssh -R 9022:myLocalHost:22 myOutsideHost

Cette commande transmet les connexions à partir du port 9022 sur myOutsideHost au port 22, le serveur sshd, sur l'hôte local.

myOutsideHost% ssh -p 9022 localhost
myLocalHost%

Procédure de copie de fichiers avec Secure Shell

La procédure suivante décrit la façon dont la commande scp copie les fichiers chiffrés entre les hôtes. Vous pouvez copier les fichiers chiffrés entre un hôte local et un hôte distant, ou entre deux hôtes distants. La commande scp invite à s'authentifier. Pour plus d'informations, reportez-vous à la page de manuel scp(1).

Vous pouvez également utiliser le programme de transfert de fichiers sécurisé sftp. Pour plus d'informations, reportez-vous à la page de manuel sftp(1). Pour un exemple, reportez-vous à l'Exemple 17-5.


Remarque - Le service d'audit permet d'auditer les transactions sftp via la classe d'audit ft. Pour scp, le service d'audit peut auditer l'accès et la sortie pour la session ssh.


  1. Démarrez le programme de copie sécurisée.

    Spécifiez le fichier source, le nom d'utilisateur au niveau de la destination distante et le répertoire de destination.

    myLocalHost% scp myfile.1 jdoe@myRemoteHost:~
  2. Indiquez votre phrase de passe lorsque vous y êtes invité.
    Enter passphrase for key '/home/jdoe/.ssh/id_rsa': <Type passphrase>
    myfile.1       25% |*******                      |    640 KB  0:20 ETA 
    myfile.1 

    Une fois que vous avez saisi la phrase de passe, un indicateur de progression s'affiche. Reportez-vous à la seconde ligne de la sortie ci-dessus. L'indicateur de progression affiche les données suivantes :

    • Le nom de fichier

    • Le pourcentage du fichier qui a été transféré

    • Une série d'astérisques qui indiquent le pourcentage du fichier qui a été transmis

    • La quantité de données transférées

    • L'heure d'arrivée prévue de la totalité du fichier (c'est-à-dire, le temps restant)

Exemple 17-5 Spécification d'un port à l'aide de la commande sftp

Dans cet exemple, l'utilisateur souhaite que la commande sftp utilise un port spécifique. L'utilisateur utilise l'option -o pour spécifier le port.

% sftp -o port=2222 guest@RemoteFileServer

Procédure de configuration de connexions par défaut à des hôtes en dehors du pare-feu

Vous pouvez utiliser Secure Shell pour établir une connexion entre un hôte à l'intérieur d'un pare-feu et un hôte à l'extérieur du pare-feu. Cette tâche s'effectue en spécifiant une commande proxy pour ssh dans un fichier de configuration ou sous forme d'option dans la ligne de commande. Pour l'option de ligne de commande, reportez-vous à l'Exemple 17-6.

En général, vous pouvez personnaliser vos interactions ssh par le biais d'un fichier de configuration.

Les fichiers peuvent être personnalisés avec deux types de commandes proxy. Une commande proxy sert aux connexions HTTP. L'autre commande proxy sert aux connexions SOCKS5. Pour plus d'informations, reportez-vous à la page de manuel ssh_config(4).

  1. Spécifiez les commandes proxy et les hôtes dans un fichier de configuration.

    Utilisez la syntaxe suivante pour ajouter autant de lignes qu'il est nécessaire :

    [Host outside-host]
    ProxyCommand proxy-command [-h proxy-server] \
    [-p proxy-port] outside-host|%h outside-port|%p
    Host outside-host

    Limite la spécification de la commande proxy aux instances lorsqu'un nom d'hôte distant est spécifié dans la ligne de commande. Si vous utilisez un caractère générique pour outside-host, vous appliquez la spécification de la commande proxy à un ensemble d'hôtes.

    proxy-command

    Spécifie la commande proxy.

    La commande peut avoir l'une des formes suivantes :

    • /usr/lib/ssh/ssh-http-proxy-connect pour les connexions HTTP

    • /usr/lib/ssh/ssh-socks5-proxy-connect pour les connexions SOCKS5

    -h proxy-server et -p proxy-port

    Ces options spécifient respectivement un serveur proxy et un port proxy. Si des proxys sont présents, ils remplacent toutes les variables d'environnement qui spécifient les serveurs et ports proxy, tel que HTTPPROXY, HTTPPROXYPORT, SOCKS5_PORT, SOCKS5_SERVER et http_proxy. La variable http_proxy spécifie une adresse URL. Si ces options ne sont pas utilisées, les variables d'environnement doivent être définies. Pour plus d'informations, reportez-vous aux pages de manuel ssh-socks5-proxy-connect(1) et ssh-http-proxy-connect(1).

    outside-host

    Désigne un hôte spécifique pour la connexion. Utilisez l'argument de substitution %h pour spécifier l'hôte sur la ligne de commande.

    outside-port

    Désigne un port spécifique pour la connexion. Utilisez l'argument de substitution %p pour spécifier le port sur la ligne de commande. En spécifiant %h et %p sans utiliser l'option Host outside-host, la commande proxy est appliquée à l'argument de l'hôte chaque fois que la commande ssh est appelée.

  2. Exécutez Secure Shell en indiquant l'hôte externe.

    Par exemple, tapez la commande suivante :

    myLocalHost% ssh myOutsideHost

    Cette commande recherche une spécification de commande proxy pour myOutsideHost dans votre fichier de configuration. Si la spécification est introuvable, la commande recherche dans le fichier de configuration du système, /etc/ssh/ssh_config. La commande proxy remplace la commande ssh.

Exemple 17-6 Connexion à des hôtes en dehors du pare-feu à partir de la ligne de commande

La section Procédure de configuration de connexions par défaut à des hôtes en dehors du pare-feu décrit la procédure de spécification d'une commande proxy dans un fichier de configuration. Dans cet exemple, une commande proxy est spécifiée sur la ligne de commande ssh.

% ssh -o'Proxycommand=/usr/lib/ssh/ssh-http-proxy-connect \
-h myProxyServer -p 8080 myOutsideHost 22' myOutsideHost

L'option -o de la commande ssh fournit une méthode de ligne de commande pour spécifier une commande proxy. Cet exemple de commande effectue les opérations suivantes :