Chapitre 14. Configuration de la communication sécurisée à l'aide des rôles de système RHEL ssh et sshd
En tant qu'administrateur, vous pouvez utiliser le rôle de système sshd
pour configurer les serveurs SSH et le rôle de système ssh
pour configurer les clients SSH de manière cohérente sur un nombre quelconque de systèmes RHEL en même temps à l'aide du paquetage Ansible Core.
14.1. ssh
Variables de rôle du système de serveur
Dans un playbook de rôle de système sshd
, vous pouvez définir les paramètres du fichier de configuration SSH en fonction de vos préférences et de vos limites.
Si vous ne configurez pas ces variables, le rôle de système produit un fichier sshd_config
qui correspond aux valeurs par défaut de RHEL.
Dans tous les cas, les booléens s'affichent correctement sous la forme yes
et no
dans la configuration sshd
. Vous pouvez définir des éléments de configuration sur plusieurs lignes à l'aide de listes. Par exemple, vous pouvez définir des éléments de configuration sur plusieurs lignes à l'aide de listes :
sshd_ListenAddress: - 0.0.0.0 - '::'
se traduit par :
ListenAddress 0.0.0.0 ListenAddress ::
Variables pour le rôle de système sshd
sshd_enable
-
Si la valeur est
False
, le rôle est complètement désactivé. La valeur par défaut estTrue
. sshd_skip_defaults
-
S'il est défini sur
True
, le rôle de système n'applique pas de valeurs par défaut. Au lieu de cela, vous devez spécifier l'ensemble des valeurs par défaut de la configuration en utilisant les variablessshd
dict ousshd_Key
. La valeur par défaut estFalse
. sshd_manage_service
-
S'il vaut
False
, le service n'est pas géré, ce qui signifie qu'il n'est pas activé au démarrage et qu'il ne démarre pas ou ne se recharge pas. La valeur par défaut estTrue
, sauf en cas d'exécution dans un conteneur ou sous AIX, car le module de service Ansible ne prend pas actuellement en chargeenabled
pour AIX. sshd_allow_reload
-
S'il est réglé sur
False
,sshd
ne se recharge pas après un changement de configuration. Cela peut faciliter le dépannage. Pour appliquer la configuration modifiée, rechargez manuellementsshd
. La valeur par défaut est la même que celle desshd_manage_service
, sauf sous AIX, oùsshd_manage_service
a pour valeur par défautFalse
maissshd_allow_reload
a pour valeur par défautTrue
. sshd_install_service
S'il est défini sur
True
, le rôle installe les fichiers de service pour le servicesshd
. Ces fichiers sont prioritaires sur ceux fournis par le système d'exploitation. Ne définissez pasTrue
à moins que vous ne configuriez une deuxième instance et que vous ne modifiiez également la variablesshd_service
. La valeur par défaut estFalse
.Le rôle utilise comme modèles les fichiers désignés par les variables suivantes :
sshd_service_template_service (default: templates/sshd.service.j2) sshd_service_template_at_service (default: templates/sshd@.service.j2) sshd_service_template_socket (default: templates/sshd.socket.j2)
sshd_service
-
Cette variable modifie le nom du service
sshd
, ce qui est utile pour configurer une deuxième instance du servicesshd
. sshd
Un dict qui contient la configuration. Par exemple :
sshd: Compression: yes ListenAddress: - 0.0.0.0
sshd_OptionName
Vous pouvez définir des options en utilisant des variables simples composées du préfixe
sshd_
et du nom de l'option au lieu d'un dict. Les variables simples remplacent les valeurs du dictsshd
. Par exemple :sshd_Compression: no
sshd_match
etsshd_match_1
àsshd_match_9
-
Une liste de dicts ou juste un dict pour une section Match. Notez que ces variables ne remplacent pas les blocs de correspondance tels qu'ils sont définis dans le dict
sshd
. Toutes les sources seront reflétées dans le fichier de configuration résultant.
Variables secondaires pour le rôle du système sshd
Vous pouvez utiliser ces variables pour remplacer les valeurs par défaut correspondant à chaque plate-forme prise en charge.
sshd_packages
- Vous pouvez remplacer la liste par défaut des paquets installés en utilisant cette variable.
sshd_config_owner
,sshd_config_group
, etsshd_config_mode
-
Vous pouvez définir la propriété et les autorisations du fichier de configuration
openssh
que ce rôle produit à l'aide de ces variables. sshd_config_file
-
Le chemin où ce rôle enregistre la configuration du serveur
openssh
produite. sshd_config_namespace
La valeur par défaut de cette variable est null, ce qui signifie que le rôle définit l'intégralité du contenu du fichier de configuration, y compris les valeurs par défaut du système. Vous pouvez également utiliser cette variable pour invoquer ce rôle à partir d'autres rôles ou à partir de plusieurs endroits dans un seul playbook sur des systèmes qui ne prennent pas en charge le répertoire drop-in. La variable
sshd_skip_defaults
est ignorée et aucune valeur par défaut du système n'est utilisée dans ce cas.Lorsque cette variable est définie, le rôle place la configuration que vous spécifiez aux extraits de configuration dans un fichier de configuration existant sous l'espace de noms donné. Si votre scénario nécessite d'appliquer le rôle plusieurs fois, vous devez sélectionner un espace de noms différent pour chaque application.
NoteLes limitations du fichier de configuration
openssh
restent d'application. Par exemple, seule la première option spécifiée dans un fichier de configuration est effective pour la plupart des options de configuration.Techniquement, le rôle place les extraits dans les blocs "Match all", à moins qu'ils ne contiennent d'autres blocs de correspondance, afin de s'assurer qu'ils sont appliqués indépendamment des blocs de correspondance précédents dans le fichier de configuration existant. Cela permet de configurer des options non contradictoires à partir de différentes invocations de rôles.
sshd_binary
-
Chemin d'accès à l'exécutable
sshd
deopenssh
. sshd_service
-
Le nom du service
sshd
. Par défaut, cette variable contient le nom du servicesshd
utilisé par la plate-forme cible. Vous pouvez également l'utiliser pour définir le nom du service personnalisésshd
lorsque le rôle utilise la variablesshd_install_service
. sshd_verify_hostkeys
-
La valeur par défaut est
auto
. Si la valeur estauto
, toutes les clés d'hôte présentes dans le fichier de configuration produit sont répertoriées et tous les chemins d'accès non présents sont générés. De plus, les permissions et les propriétaires de fichiers sont définis sur des valeurs par défaut. Ceci est utile si le rôle est utilisé dans la phase de déploiement pour s'assurer que le service est capable de démarrer à la première tentative. Pour désactiver cette vérification, donnez à cette variable la valeur d'une liste vide[]
. sshd_hostkey_owner
,sshd_hostkey_group
,sshd_hostkey_mode
-
Utilisez ces variables pour définir la propriété et les autorisations des clés de l'hôte à partir de
sshd_verify_hostkeys
. sshd_sysconfig
-
Sur les systèmes basés sur RHEL, cette variable configure des détails supplémentaires du service
sshd
. S'il est défini surtrue
, ce rôle gère également le fichier de configuration/etc/sysconfig/sshd
sur la base de la configuration suivante. La valeur par défaut estfalse
. sshd_sysconfig_override_crypto_policy
-
Dans RHEL, lorsqu'elle est définie sur
true
, cette variable remplace la politique cryptographique du système. La valeur par défaut estfalse
. sshd_sysconfig_use_strong_rng
-
Sur les systèmes basés sur RHEL, cette variable peut forcer
sshd
à réalimenter le générateur de nombres aléatoiresopenssl
avec le nombre d'octets donné en argument. La valeur par défaut est0
, qui désactive cette fonctionnalité. Ne l'activez pas si le système ne dispose pas d'un générateur de nombres aléatoires matériel.