11.6. TLS での logging システムロールの使用
Transport Layer Security (TLS) は、コンピューターネットワーク上で安全に通信するために設計された暗号プロトコルです。
管理者は、logging
RHEL システムロールを使用し、Red Hat Ansible Automation Platform を使用したセキュアなログ転送を設定できます。
11.6.1. TLS を使用したクライアントロギングの設定
logging
システムロールを使用して、ローカルマシンにログインしている RHEL システムでロギングを設定し、Ansible Playbook を実行して、ログを TLS でリモートロギングシステムに転送できます。
この手順では、Ansible インベントリーの client グループ内の全ホストに TLS を設定します。TLS プロトコルは、メッセージ送信を暗号化し、ネットワーク経由でログを安全に転送します。
前提条件
- TLS を設定する管理ノードで Playbook の実行権限がある。
- 管理対象ノードがコントロールノードのインベントリーファイルに記載されている。
-
ansible
パッケージおよびrhel-system-roles
パッケージがコントロールノードにインストールされている。
手順
以下の内容を含む
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_src
、cert_src
およびprivate_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
と設定できます。
Playbook の構文を確認します。
# ansible-playbook --syntax-check playbook.yml
インベントリーファイルで Playbook を実行します。
# ansible-playbook -i inventory_file playbook.yml
11.6.2. TLS を使用したサーバーロギングの設定
logging
システムロールを使用して、RHEL システムのログインをサーバーとして設定し、Ansible Playbook を実行して TLS でリモートロギングシステムからログを受信できます。
以下の手順では、Ansible インベントリーの server グループ内の全ホストに TLS を設定します。
前提条件
- TLS を設定する管理ノードで Playbook の実行権限がある。
- 管理対象ノードがコントロールノードのインベントリーファイルに記載されている。
-
ansible
パッケージおよびrhel-system-roles
パッケージがコントロールノードにインストールされている。
手順
以下の内容を含む
playbook.yml
ファイルを作成します。--- - 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]
Playbook は以下のパラメーターを使用します。
logging_pki_files
-
このパラメーターを使用して、TLS を設定し、
ca_cert_src
、cert_src
およびprivate_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
と設定できます。
Playbook の構文を確認します。
# ansible-playbook --syntax-check playbook.yml
インベントリーファイルで Playbook を実行します。
# ansible-playbook -i inventory_file playbook.yml