13.6. 使用带有 TLS 的 logging 系统角色
传输层安全性(TLS)是一种加密协议,旨在允许通过计算机网络进行安全通信。
作为管理员,您可以使用 logging
RHEL 系统角色来使用红帽 Ansible Automation Platform 配置日志的安全传输。
13.6.1. 配置带有 TLS 的客户端日志
您可以使用具有 logging
系统角色的 Ansible playbook 配置 RHEL 客户端上的日志,并使用 TLS 加密将日志传送给远程日志系统。
此流程回创建一个私钥和证书,并在 Ansible 清单中客户端组的所有主机上配置 TLS。TLS 对信息的传输进行加密,确保日志在网络安全传输。
您不必在 playbook 中调用 certificate
系统角色来创建证书。logging
系统角色回自动调用它。
要让 CA 能够为创建的证书签名,受管节点必须注册到 IdM 域中。
先决条件
- 您有在要配置 TLS 的受管节点上运行 playbook 的权限。
- 受管节点列在控制节点上的清单文件中。
-
ansible
和rhel-system-roles
软件包已安装在控制节点上。 - 受管节点已在 IdM 域中注册。
流程
使用以下内容创建一个
playbook.yml
文件:--- - name: Deploying files input and forwards output with certs hosts: clients roles: - rhel-system-roles.logging vars: logging_certificates: - name: logging_cert dns: ['localhost', 'www.example.com'] ca: ipa logging_pki_files: - ca_cert: /local/path/to/ca_cert.pem cert: /local/path/to/logging_cert.pem private_key: /local/path/to/logging_cert.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]
playbook 使用以下参数:
logging_certificates
-
此参数的值传递给
certificate
角色中的certificate_requests
,并用来创建私钥和证书。 logging_pki_files
使用这个参数,您可以配置 logging 用来查找用于 TLS 的 CA、证书和密钥文件的路径和其他设置,使用以下子参数指定:
ca_cert
、ca_cert_src
、cert
、cert_src
、private_key
、private_key_src
和tls
。注意如果您使用
logging_certificates
在目标节点上创建文件,请不要使用ca_cert_src
、cert_src
和private_key_src
,它们用于复制不是由logging_certificates
创建的文件。ca_cert
-
表示目标节点上到 CA 证书文件的路径。默认路径为
/etc/pki/tls/certs/ca.pem
,文件名由用户设置。 cert
-
表示目标节点上到证书文件的路径。默认路径为
/etc/pki/tls/certs/server-cert.pem
,文件名由用户设置。 private_key
-
代表目标节点上到私钥文件的路径。默认路径为
/etc/pki/tls/private/server-key.pem
,文件名由用户设置。 ca_cert_src
-
代表控制节点上到 CA 证书文件的路径,该路径被复制到目标主机上由
ca_cert
指定的位置。如果使用logging_certificates
,请不要使用它。 cert_src
-
表示控制节点上到证书文件的路径,其被复制到目标主机上由
cert
指定的位置。如果使用logging_certificates
,请不要使用它。 private_key_src
-
表示控制节点上到私钥文件的路径,期被复制到目标主机上由
private_key
指定的位置。如果使用logging_certificates
,请不要使用它。 tls
-
将此参数设置为
true
可确保通过网络安全地传输日志。如果您不想要一个安全包装器,您可以设置tls: false
。
验证 playbook 语法:
# ansible-playbook --syntax-check playbook.yml
在清单文件上运行 playbook:
# ansible-playbook -i inventory_file playbook.yml
其他资源
13.6.2. 配置带有 TLS 的服务器日志
您可以使用带有 logging
系统角色的 Ansible playbook ,在 RHEL 服务器上配置日志,并将其设置为使用 TLS 加密接收来自远程日志系统的日志。
此流程创建一个私钥和证书,并在 Ansible 清单中服务器组中的所有主机上配置 TLS。
您不必在 playbook 中调用 certificate
系统角色来创建证书。logging
系统角色回自动调用它。
要让 CA 能够为创建的证书签名,受管节点必须注册到 IdM 域中。
先决条件
- 您有在要配置 TLS 的受管节点上运行 playbook 的权限。
- 受管节点列在控制节点上的清单文件中。
-
ansible
和rhel-system-roles
软件包已安装在控制节点上。 - 受管节点已在 IdM 域中注册。
流程
使用以下内容创建一个
playbook.yml
文件:--- - name: Deploying remote input and remote_files output with certs hosts: server roles: - rhel-system-roles.logging vars: logging_certificates: - name: logging_cert dns: ['localhost', 'www.example.com'] ca: ipa logging_pki_files: - ca_cert: /local/path/to/ca_cert.pem cert: /local/path/to/logging_cert.pem private_key: /local/path/to/logging_cert.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]
playbook 使用以下参数:
logging_certificates
-
此参数的值传递给
certificate
角色中的certificate_requests
,并用来创建私钥和证书。 logging_pki_files
使用这个参数,您可以配置 logging 用来查找用于 TLS 的 CA、证书和密钥文件的路径和其他设置,使用以下子参数指定:
ca_cert
、ca_cert_src
、cert
、cert_src
、private_key
、private_key_src
和tls
。注意如果您使用
logging_certificates
在目标节点上创建文件,请不要使用ca_cert_src
、cert_src
和private_key_src
,它们用于复制不是由logging_certificates
创建的文件。ca_cert
-
表示目标节点上到 CA 证书文件的路径。默认路径为
/etc/pki/tls/certs/ca.pem
,文件名由用户设置。 cert
-
表示目标节点上到证书文件的路径。默认路径为
/etc/pki/tls/certs/server-cert.pem
,文件名由用户设置。 private_key
-
代表目标节点上到私钥文件的路径。默认路径为
/etc/pki/tls/private/server-key.pem
,文件名由用户设置。 ca_cert_src
-
代表控制节点上到 CA 证书文件的路径,该路径被复制到目标主机上由
ca_cert
指定的位置。如果使用logging_certificates
,请不要使用它。 cert_src
-
表示控制节点上到证书文件的路径,其被复制到目标主机上由
cert
指定的位置。如果使用logging_certificates
,请不要使用它。 private_key_src
-
表示控制节点上到私钥文件的路径,期被复制到目标主机上由
private_key
指定的位置。如果使用logging_certificates
,请不要使用它。 tls
-
将此参数设置为
true
可确保通过网络安全地传输日志。如果您不想要一个安全包装器,您可以设置tls: false
。
验证 playbook 语法:
# ansible-playbook --syntax-check playbook.yml
在清单文件上运行 playbook:
# ansible-playbook -i inventory_file playbook.yml
其他资源