검색

13.6. TLS에서 로깅 시스템 역할 사용

download PDF

TLS(Transport Layer Security)는 컴퓨터 네트워크를 통해 보안 통신을 허용하도록 설계된 암호화 프로토콜입니다.

관리자는 로깅 RHEL 시스템 역할을 사용하여 Red Hat Ansible Automation Platform을 사용하여 보안 로그 전송을 구성할 수 있습니다.

13.6.1. TLS를 사용하여 클라이언트 로깅 구성

로깅 RHEL 시스템 역할과 함께 Ansible 플레이북을 사용하여 RHEL 클라이언트에 로깅을 구성하고 TLS 암호화를 사용하여 원격 로깅 시스템으로 로그를 전송할 수 있습니다.

이 절차에서는 개인 키 및 인증서를 생성하고 Ansible 인벤토리의 clients 그룹에 있는 모든 호스트에 TLS를 구성합니다. TLS 프로토콜은 네트워크를 통한 로그의 보안 전송을 위해 메시지 전송을 암호화합니다.

참고

인증서를 생성하기 위해 플레이북에서 인증서 RHEL 시스템 역할을 호출할 필요가 없습니다. 로깅 RHEL 시스템 역할은 자동으로 호출합니다.

CA에서 생성된 인증서에 서명하려면 관리형 노드를 IdM 도메인에 등록해야 합니다.

사전 요구 사항

  • 제어 노드와 관리형 노드가 준비되었습니다.
  • 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
  • 관리형 노드에 연결하는 데 사용하는 계정에는 sudo 권한이 있습니다.
  • 관리형 노드는 IdM 도메인에 등록됩니다.

절차

  1. 다음 콘텐츠를 사용하여 플레이북 파일(예: ~/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]

    플레이북은 다음 매개 변수를 사용합니다.

    logging_certificates
    이 매개변수의 값은 인증서 RHEL 시스템 역할의 certificate _requests 에 전달되며 개인 키와 인증서를 생성하는 데 사용됩니다.
    logging_pki_files

    이 매개변수를 사용하여 로깅에서 사용하는 경로 및 기타 설정을 구성하여 로깅에서 사용하는 CA, 인증서 및 TLS에 사용되는 키 파일을 찾습니다.ca_cert_src, ca_cert _src ,cert,cert_src, private_key ,private_key _src, tls.

    참고

    logging_certificates 를 사용하여 대상 노드에서 파일을 생성하는 경우 logging_certificates 에서 생성되지 않은 파일을 복사하는 데 사용되는 ca_cert_src,cert_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_cert 에서 지정한 위치로 대상 호스트에 복사되는 제어 노드의 CA 인증서 파일의 경로를 나타냅니다. logging_certificates 를 사용하는 경우 이 사용하지 마십시오.
    cert_src
    인증서에서 지정한 위치로 대상 호스트에 복사되는 제어 노드의 인증서 파일의 경로를 나타냅니다. logging_certificates 를 사용하는 경우 이 사용하지 마십시오.
    private_key_src
    private_key 에서 지정한 위치로 대상 호스트에 복사되는 제어 노드에서 개인 키 파일의 경로를 나타냅니다. logging_certificates 를 사용하는 경우 이 사용하지 마십시오.
    tls
    이 매개변수를 true 로 설정하면 네트워크를 통한 로그 전송이 안전합니다. 보안 래퍼가 필요하지 않은 경우 tls: false 를 설정할 수 있습니다.
  2. 플레이북 구문을 확인합니다.

    $ ansible-playbook --syntax-check ~/playbook.yml

    이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.

  3. 플레이북을 실행합니다.

    $ ansible-playbook ~/playbook.yml

추가 리소스

13.6.2. TLS를 사용하여 서버 로깅 구성

로깅 RHEL 시스템 역할과 함께 Ansible 플레이북을 사용하여 RHEL 서버에서 로깅을 구성하고 TLS 암호화를 사용하여 원격 로깅 시스템에서 로그를 수신하도록 설정할 수 있습니다.

이 절차에서는 개인 키 및 인증서를 생성하고 Ansible 인벤토리의 서버 그룹에 있는 모든 호스트에 TLS를 구성합니다.

참고

인증서를 생성하기 위해 플레이북에서 인증서 RHEL 시스템 역할을 호출할 필요가 없습니다. 로깅 RHEL 시스템 역할은 자동으로 호출합니다.

CA에서 생성된 인증서에 서명하려면 관리형 노드를 IdM 도메인에 등록해야 합니다.

사전 요구 사항

  • 제어 노드와 관리형 노드가 준비되었습니다.
  • 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
  • 관리형 노드에 연결하는 데 사용하는 계정에는 sudo 권한이 있습니다.
  • 관리형 노드는 IdM 도메인에 등록됩니다.

절차

  1. 다음 콘텐츠를 사용하여 플레이북 파일(예: ~/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]

    플레이북은 다음 매개 변수를 사용합니다.

    logging_certificates
    이 매개변수의 값은 인증서 RHEL 시스템 역할의 certificate _requests 에 전달되며 개인 키와 인증서를 생성하는 데 사용됩니다.
    logging_pki_files

    이 매개변수를 사용하여 로깅에서 사용하는 경로 및 기타 설정을 구성하여 로깅에서 사용하는 CA, 인증서 및 TLS에 사용되는 키 파일을 찾습니다.ca_cert_src, ca_cert _src ,cert,cert_src, private_key ,private_key _src, tls.

    참고

    logging_certificates 를 사용하여 대상 노드에서 파일을 생성하는 경우 logging_certificates 에서 생성되지 않은 파일을 복사하는 데 사용되는 ca_cert_src,cert_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_cert 에서 지정한 위치로 대상 호스트에 복사되는 제어 노드의 CA 인증서 파일의 경로를 나타냅니다. logging_certificates 를 사용하는 경우 이 사용하지 마십시오.
    cert_src
    인증서에서 지정한 위치로 대상 호스트에 복사되는 제어 노드의 인증서 파일의 경로를 나타냅니다. logging_certificates 를 사용하는 경우 이 사용하지 마십시오.
    private_key_src
    private_key 에서 지정한 위치로 대상 호스트에 복사되는 제어 노드에서 개인 키 파일의 경로를 나타냅니다. logging_certificates 를 사용하는 경우 이 사용하지 마십시오.
    tls
    이 매개변수를 true 로 설정하면 네트워크를 통한 로그 전송이 안전합니다. 보안 래퍼가 필요하지 않은 경우 tls: false 를 설정할 수 있습니다.
  2. 플레이북 구문을 확인합니다.

    $ ansible-playbook --syntax-check ~/playbook.yml

    이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.

  3. 플레이북을 실행합니다.

    $ ansible-playbook ~/playbook.yml

추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.