Red Hat Training

A Red Hat training course is available for RHEL 8

36.6. 使用带有 TLS 的 logging 系统角色

传输层安全性(TLS)是一种加密协议,旨在在计算机网络上安全地进行通信。

作为管理员,您可以使用 logging RHEL 系统角色使用红帽 Ansible Automation Platform 配置日志的安全传输。

36.6.1. 配置带有 TLS 的客户端日志

您可以使用 logging 系统角色在 RHEL 系统上配置日志,这些日志记录在本地计算机上,并通过运行 Ansible playbook 将日志转发到带有 TLS 的远程日志系统。

此流程对 Ansible 清单中所有客户端组中的主机配置 TLS。TLS 对信息的传输进行加密,确保日志在网络安全传输。

先决条件

  • 您有在要配置 TLS 的受管节点上运行 playbook 的权限。
  • 受管节点列在控制节点上的清单文件中。
  • ansiblerhel-system-roles 软件包已安装在控制节点上。

流程

  1. 使用以下内容创建一个 playbook.yml 文件:

    ---
    - 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]

    playbook 使用以下参数:

    logging_pki_files
    使用这个参数您可以配置 TLS,并且必须传递 ca_cert_srccert_srcprivate_key_src 参数。
    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,则会将其复制到该位置。
    cert_src
    代表复制到目标主机的本地证书文件路径。如果指定了 cert,则会将其复制到该位置。
    private_key_src
    表示复制到目标主机的本地密钥文件的路径。如果指定了 private_key,则会将其复制到该位置。
    tls
    使用此参数可确保在网络上安全地传输日志。如果不想要安全包装程序,您可设置 tls: true
  2. 验证 playbook 语法:

    # ansible-playbook --syntax-check playbook.yml
  3. 在清单文件上运行 playbook:

    # ansible-playbook -i inventory_file playbook.yml