12.6. Utilisation du rôle de système logging avec TLS
Transport Layer Security (TLS) est un protocole cryptographique conçu pour sécuriser les communications sur le réseau informatique.
En tant qu'administrateur, vous pouvez utiliser le rôle de système logging
RHEL pour configurer le transfert sécurisé des journaux à l'aide de Red Hat Ansible Automation Platform.
12.6.1. Configuration de la journalisation des clients avec TLS
Vous pouvez utiliser le rôle de système logging
pour configurer la journalisation dans les systèmes RHEL qui sont journalisés sur une machine locale et peuvent transférer les journaux vers le système de journalisation distant avec TLS en exécutant un livre de jeu Ansible.
Cette procédure configure TLS sur tous les hôtes du groupe clients dans l'inventaire Ansible. Le protocole TLS crypte la transmission des messages pour un transfert sécurisé des journaux sur le réseau.
Conditions préalables
- Vous disposez d'autorisations pour exécuter des playbooks sur les nœuds gérés sur lesquels vous souhaitez configurer TLS.
- Les nœuds gérés sont répertoriés dans le fichier d'inventaire du nœud de contrôle.
-
Les paquets
ansible
etrhel-system-roles
sont installés sur le nœud de contrôle.
Procédure
Créer un fichier
playbook.yml
avec le contenu suivant :--- - name: Deploying files input and forwards output with certs hosts: clients roles: - rhel-system-roles.logging vars: logging_pki_files: - ca_cert_src: /local/path/to/ca_cert.pem cert_src: /local/path/to/cert.pem private_key_src: /local/path/to/key.pem logging_inputs: - name: input_name type: files input_log_path: /var/log/containers/*.log logging_outputs: - name: output_name type: forwards target: your_target_host tcp_port: 514 tls: true pki_authmode: x509/name permitted_server: 'server.example.com' logging_flows: - name: flow_name inputs: [input_name] outputs: [output_name]
Le playbook utilise les paramètres suivants :
logging_pki_files
-
Ce paramètre permet de configurer TLS et de passer les paramètres
ca_cert_src
,cert_src
etprivate_key_src
. ca_cert
-
Représente le chemin d'accès au certificat de l'autorité de certification. Le chemin par défaut est
/etc/pki/tls/certs/ca.pem
et le nom du fichier est défini par l'utilisateur. cert
-
Représente le chemin d'accès au certificat. Le chemin par défaut est
/etc/pki/tls/certs/server-cert.pem
et le nom du fichier est défini par l'utilisateur. private_key
-
Représente le chemin d'accès à la clé privée. Le chemin par défaut est
/etc/pki/tls/private/server-key.pem
et le nom du fichier est défini par l'utilisateur. ca_cert_src
-
Représente le chemin d'accès au fichier de certification de l'autorité de certification locale qui est copié sur l'hôte cible. Si
ca_cert
est spécifié, il est copié à l'emplacement. cert_src
-
Représente le chemin d'accès au fichier cert local qui est copié sur l'hôte cible. Si
cert
est spécifié, il est copié à l'emplacement. private_key_src
-
Représente le chemin d'accès au fichier clé local qui est copié sur l'hôte cible. Si
private_key
est spécifié, il est copié à l'emplacement. tls
-
L'utilisation de ce paramètre garantit un transfert sécurisé des journaux sur le réseau. Si vous ne voulez pas d'enveloppe sécurisée, vous pouvez définir
tls: true
.
Vérifier la syntaxe du playbook :
# ansible-playbook --syntax-check playbook.yml
Exécutez le playbook sur votre fichier d'inventaire :
# ansible-playbook -i inventory_file playbook.yml
12.6.2. Configuration de la journalisation du serveur avec TLS
Vous pouvez utiliser le rôle de système logging
pour configurer la journalisation dans les systèmes RHEL en tant que serveur et recevoir les journaux du système de journalisation distant avec TLS en exécutant un livre de jeu Ansible.
Cette procédure configure TLS sur tous les hôtes du groupe de serveurs dans l'inventaire Ansible.
Conditions préalables
- Vous disposez d'autorisations pour exécuter des playbooks sur les nœuds gérés sur lesquels vous souhaitez configurer TLS.
- Les nœuds gérés sont répertoriés dans le fichier d'inventaire du nœud de contrôle.
-
Les paquets
ansible
etrhel-system-roles
sont installés sur le nœud de contrôle.
Procédure
Créer un fichier
playbook.yml
avec le contenu suivant :--- - name: Deploying remote input and remote_files output with certs hosts: server roles: - rhel-system-roles.logging vars: logging_pki_files: - ca_cert_src: /local/path/to/ca_cert.pem cert_src: /local/path/to/cert.pem private_key_src: /local/path/to/key.pem logging_inputs: - name: input_name type: remote tcp_ports: 514 tls: true permitted_clients: ['clients.example.com'] logging_outputs: - name: output_name type: remote_files remote_log_path: /var/log/remote/%FROMHOST%/%PROGRAMNAME:::secpath-replace%.log async_writing: true client_count: 20 io_buffer_size: 8192 logging_flows: - name: flow_name inputs: [input_name] outputs: [output_name]
Le playbook utilise les paramètres suivants :
logging_pki_files
-
Ce paramètre permet de configurer TLS et de passer les paramètres
ca_cert_src
,cert_src
etprivate_key_src
. ca_cert
-
Représente le chemin d'accès au certificat de l'autorité de certification. Le chemin par défaut est
/etc/pki/tls/certs/ca.pem
et le nom du fichier est défini par l'utilisateur. cert
-
Représente le chemin d'accès au certificat. Le chemin par défaut est
/etc/pki/tls/certs/server-cert.pem
et le nom du fichier est défini par l'utilisateur. private_key
-
Représente le chemin d'accès à la clé privée. Le chemin par défaut est
/etc/pki/tls/private/server-key.pem
et le nom du fichier est défini par l'utilisateur. ca_cert_src
-
Représente le chemin d'accès au fichier de certification de l'autorité de certification locale qui est copié sur l'hôte cible. Si
ca_cert
est spécifié, il est copié à l'emplacement. cert_src
-
Représente le chemin d'accès au fichier cert local qui est copié sur l'hôte cible. Si
cert
est spécifié, il est copié à l'emplacement. private_key_src
-
Représente le chemin d'accès au fichier clé local qui est copié sur l'hôte cible. Si
private_key
est spécifié, il est copié à l'emplacement. tls
-
L'utilisation de ce paramètre garantit un transfert sécurisé des journaux sur le réseau. Si vous ne voulez pas d'enveloppe sécurisée, vous pouvez définir
tls: true
.
Vérifier la syntaxe du playbook :
# ansible-playbook --syntax-check playbook.yml
Exécutez le playbook sur votre fichier d'inventaire :
# ansible-playbook -i inventory_file playbook.yml