15.5. 使用带有 TLS 的 logging RHEL 系统角色
传输层安全性(TLS)是一种加密协议,旨在允许通过计算机网络的安全通信。
作为管理员,您可以使用 logging
RHEL 系统角色使用红帽 Ansible Automation Platform 配置日志的安全传输。
15.5.1. 配置带有 TLS 的客户端日志
您可以使用带有 logging
RHEL 系统角色的 Ansible playbook 在 RHEL 客户端上配置日志,并使用 TLS 加密将日志传送到远程日志系统。
此流程创建一个私钥和证书,并在 Ansible 清单中的客户端组的所有主机上配置 TLS。TLS 对信息的传输进行加密,确保日志在网络安全传输。
您不必在 playbook 中调用 certificate
RHEL 系统角色来创建证书。logging
RHEL 系统角色会自动调用它。
要让 CA 能够为创建的证书签名,受管节点必须在 IdM 域中注册。
先决条件
- 您已准备好控制节点和受管节点。
- 以可在受管主机上运行 playbook 的用户登录到控制节点。
-
用于连接到受管节点的帐户具有
sudo
权限。 - 受管节点已在 IdM 域中注册。
步骤
创建包含以下内容的 playbook 文件,如
~/playbook.yml
:--- - name: Deploying files input and forwards output with certs hosts: managed-node-01.example.com 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
-
此参数的值传递至证书 RHEL 系统角色中的
certificate
_requests logging_pki_files
使用这个参数,您可以配置日志记录用来查找用于 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 ~/playbook.yml
其他资源
-
/usr/share/ansible/roles/rhel-system-roles.logging/README.md
file -
/usr/share/doc/rhel-system-roles/logging/
directory - 使用 RHEL 系统角色请求证书。
15.5.2. 配置带有 TLS 的服务器日志
您可以使用带有 logging
RHEL 系统角色的 Ansible playbook 在 RHEL 服务器上配置日志,并将其设置为使用 TLS 加密从远程日志系统接收日志。
此流程创建一个私钥和证书,并在 Ansible 清单的服务器组中的所有主机上配置 TLS。
您不必在 playbook 中调用 certificate
RHEL 系统角色来创建证书。logging
RHEL 系统角色会自动调用它。
要让 CA 能够为创建的证书签名,受管节点必须在 IdM 域中注册。
先决条件
- 您已准备好控制节点和受管节点。
- 以可在受管主机上运行 playbook 的用户登录到控制节点。
-
用于连接到受管节点的帐户具有
sudo
权限。 - 受管节点已在 IdM 域中注册。
步骤
创建包含以下内容的 playbook 文件,如
~/playbook.yml
:--- - name: Deploying remote input and remote_files output with certs hosts: managed-node-01.example.com 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
-
此参数的值传递至证书 RHEL 系统角色中的
certificate
_requests logging_pki_files
使用这个参数,您可以配置日志记录用来查找用于 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 ~/playbook.yml
其他资源
-
/usr/share/ansible/roles/rhel-system-roles.logging/README.md
file -
/usr/share/doc/rhel-system-roles/logging/
directory - 使用 RHEL 系统角色请求证书。