Ignorer les liens de navigation | |
Quitter l'aperu | |
Administration d'Oracle Solaris 11.1 : Services de sécurité Oracle Solaris 11.1 Information Library (Français) |
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. Vérification de l'intégrité des fichiers à l'aide de BART (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. Utilisation de modules d'authentification enfichables
15. Utilisation de Secure Shell
Secure Shell dans l'entreprise
Secure Shell et le projet OpenSSH
Configuration de Secure Shell (tâches)
Configuration de Secure Shell (liste des tâches)
Configuration de l'authentification basée sur l'hôte pour Secure Shell
Configuration du transfert de port dans Secure Shell
Création d'exceptions d'utilisateur et d'hôte aux valeurs par défaut de Secure Shell
Utilisation de Secure Shell (tâches)
Utilisation de Secure Shell (liste des tâches)
Génération d'une paire de clés publiques ou privées à utiliser avec Secure Shell
Modification de la phrase de passe pour une clé privée Secure Shell
Connexion à un hôte distant avec Secure Shell
Réduction des invites de mot de passe dans Secure Shell
Administration à distance de ZFS à l'aide de Secure Shell
Utilisation du transfert de port dans Secure Shell
Copie de fichiers avec Secure Shell
Configuration des connexions Secure Shell par défaut sur les hôtes situés en dehors d'un pare-feu
17. Utilisation de l'authentification simple et de la couche de sécurité
18. Authentification des services réseau (tâches)
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
Secure Shell est configuré à l'installation. La modification des paramètres par défaut nécessite l'intervention de l'administrateur. Les tâches suivantes indiquent comment modifier certains paramètres par défaut.
La liste des tâches suivante présente les procédures de configuration de Secure Shell.
|
La procédure suivante définit un système de clé publique où la clé publique du client est utilisée pour l'authentification sur le serveur. L'utilisateur doit également créer une paire de clés publiques ou privées.
Dans cette procédure, les termes client et hôte local désignent la machine sur laquelle un utilisateur saisit la commande ssh. Les termes serveur et hôte distant désignent la machine que le client tente d'atteindre.
Avant de commencer
Vous devez prendre le rôle root. Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d'administration.
Dans le fichier de configuration du client, /etc/ssh/ssh_config, tapez l'entrée suivante :
HostbasedAuthentication yes
Pour connaître la syntaxe du fichier de configuration, reportez-vous à la page de manuel ssh_config(4)
Dans le fichier de configuration du serveur, /etc/ssh/sshd_config, saisissez la même entrée :
HostbasedAuthentication yes
Pour connaître la syntaxe du fichier de configuration, reportez-vous à la page de manuel sshd_config(4)
Pour plus d'informations, reportez-vous à la section FILES de la page de manuel sshd(1M).
client-host
client-host
Définissez IgnoreRhosts sur no dans le fichier /etc/ssh/sshd_config.
## sshd_config IgnoreRhosts no
## sshd_config IgnoreUserKnownHosts no
Pour des instructions d'utilisation, reportez-vous à la section Génération d'une paire de clés publiques ou privées à utiliser avec Secure Shell.
Les clés d'hôte sont stockées dans le répertoire /etc/ssh. Ces clés sont généralement générées par le démon sshd à la première initialisation.
Sur le client, saisissez la commande sur une seule ligne, sans barre oblique inverse.
# cat /etc/ssh/ssh_host_dsa_key.pub | ssh RemoteHost \ 'cat >> /etc/ssh/ssh_known_hosts && echo "Host key copied"'
Lorsque le fichier est copié, le message "Host key copied" (Clé d'hôte copiée) s'affiche.
Chaque ligne du fichier /etc/ssh/ssh_known_hosts se compose de champs séparés par des espaces :
hostnames algorithm-name publickey comment
## /etc/ssh/ssh_known_hosts File RemoteHost <copied entry>
Exemple 15-1 Configuration de l'authentification basée sur l'hôte
Dans l'exemple ci-dessous, chaque hôte est configuré en tant que serveur et en tant que client. Un utilisateur de l'un ou l'autre hôte peut lancer une connexion ssh à l'autre hôte. La configuration suivante convertit chaque hôte en serveur et client :
Sur chaque hôte, les fichiers de configuration Secure Shell contiennent les entrées suivantes :
## /etc/ssh/ssh_config HostBasedAuthentication yes # ## /etc/ssh/sshd_config HostBasedAuthentication yes IgnoreRhosts no
Sur chaque hôte, le fichier shosts.equiv contient une entrée pour l'autre hôte :
## /etc/ssh/shosts.equiv on machine2 machine1
## /etc/ssh/shosts.equiv on machine1 machine2
La clé publique pour chaque hôte est dans le fichier /etc/ssh/ssh_known_hosts sur l'autre hôte :
## /etc/ssh/ssh_known_hosts on machine2 … machine1
## /etc/ssh/ssh_known_hosts on machine1 … machine2
Les utilisateurs ont un compte sur les deux hôtes :
## /etc/passwd on machine1 jdoe:x:3111:10:J Doe:/home/jdoe:/bin/sh
## /etc/passwd on machine2 jdoe:x:3111:10:J Doe:/home/jdoe:/bin/sh
Le transfert de port permet à un port local d'être transmis à un hôte distant. En réalité, un socket est alloué pour écouter le port côté local. De la même façon, un port peut être spécifié côté distant.
Remarque - Le transfert de port Secure Shell doit utiliser les connexions TCP. Secure Shell ne prend pas en charge les connexions UDP pour le transfert de port.
Avant de commencer
Vous devez prendre le rôle root. Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d'administration.
Définissez la valeur de AllowTcpForwarding sur yes dans le fichier /etc/ssh/sshd_config.
# Port forwarding AllowTcpForwarding yes
remoteHost# svcadm restart network/ssh:default
Pour plus d'informations sur la gestion des services persistants, reportez-vous au Chapitre 1, Gestion des services (présentation) du manuel Gestion des services et pannes dans Oracle Solaris 11.1 et à la page de manuel svcadm(1M).
remoteHost# /usr/bin/pgrep -lf sshd 1296 ssh -L 2001:remoteHost:23 remoteHost
Cette procédure permet d'ajouter un bloc Match conditionnel après la section globale du fichier /etc/ssh/sshd_config. Les paires de valeurs de mot clé qui suivent le bloc Match spécifient des exceptions pour l'utilisateur, le groupe, l'hôte ou l'adresse spécifié comme la correspondance.
Avant de commencer
Vous devez vous connecter en tant qu'administrateur disposant de l'autorisation solaris.admin.edit/etc/ssh/sshd_config . Par défaut, le rôle root dispose de cette autorisation. Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d'administration.
Placez les blocs Match après les paramètres globaux.
Remarque - La section globale du fichier peut ou ne peut pas afficher la liste des paramètres par défaut. Pour les valeurs par défaut, reportez-vous à la page de manuel sshd_config(4).
Vous avez peut-être les utilisateurs qui ne devraient pas être autorisés à utiliser le transfert TCP. Dans l'exemple ci-dessous, tout utilisateur dans le groupe public et tout nom d'utilisateur commençant par test ne peut pas utiliser le transfert TCP :
## sshd_config file ## Global settings # Example (reflects default settings): # # Host * # ForwardAgent no # ForwardX11 no # PubkeyAuthentication yes # PasswordAuthentication yes # FallBackToRsh no # UseRsh no # BatchMode no # CheckHostIP yes # StrictHostKeyChecking ask # EscapeChar ~ Match Group public AllowTcpForwarding no Match User test* AllowTcpForwarding no
Pour connaître la syntaxe du bloc Match, reportez-vous à la page de manuel sshd_config(4).
Cette procédure permet de configurer un répertoire sftponly créé spécifiquement pour les transferts sftp. Les utilisateurs ne peuvent voir aucun fichier ou répertoire se trouvant en dehors du répertoire de transfert.
Avant de commencer
Vous devez prendre le rôle root. Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d'administration.
# groupadd sftp # useradd -m -G sftp -s /bin/false sftponly # chown root:root /export/home/sftponly # mkdir /export/home/sftponly/WWW # chown sftponly:staff /export/home/sftponly/WWW
Dans cette configuration, /export/home/sftonly est le répertoire chroot auquel seul le compte root peut accéder. L'utilisateur dispose de l'autorisation d'écriture sur le sous-répertoire sftponly/WWW .
Dans le fichier /etc/ssh/sshd_config, localisez l'entrée sftp subsystem et modifiez le fichier comme suit :
# pfedit /etc/ssh/sshd_config ... # sftp subsystem #Subsystem sftp /usr/lib/ssh/sftp-server Subsystem sftp internal-sftp ... ## Match Group for Subsystem ## At end of file, to follow all global options Match Group sftp ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no
Vous pouvez spécifier le chemin chroot à l'aide des variables suivantes :
%h : spécifie le répertoire d'accueil.
%u : spécifie le nom d'utilisateur de l'utilisateur authentifié.
%% : séquence d'échappement du signe %.
Les fichiers de votre environnement chroot sont susceptibles d'être différents.
root@client:~# ssh sftponly@server This service allows sftp connections only. Connection to server closed. No shell access, sftp is enforced. root@client:~# sftp sftponly@server sftp> pwd sftp access granted Remote working directory: /chroot directory looks like root directory sftp> ls WWW local.cshrc local.login local.profile sftp> get local.cshrc Fetching /local.cshrc to local.cshrc /local.cshrc 100% 166 0.2KB/s 00:00user can read contents sftp> put /etc/motd Uploading /etc/motd to /motd Couldn't get handle: Permission denieduser cannot write to / directory sftp> cd WWW sftp> put /etc/motd Uploading /etc/motd to /WWW/motd /etc/motd 100% 118 0.1KB/s 00:00user can write to WWW directory sftp> ls -l -rw-r--r-- 1 101 10 118 Jul 20 09:07 motdsuccessful transfer sftp>