6.2. 로깅 시스템 역할 사용
시스템 관리자는 로깅 시스템 역할을 사용하여 Red Hat Enterprise Linux 호스트를 로깅 서버로 구성하여 많은 클라이언트 시스템에서 로그를 수집할 수 있습니다.
6.2.1. 로깅 RHEL 시스템 역할을 사용하여 로컬 로그 메시지 필터링 링크 복사링크가 클립보드에 복사되었습니다!
로깅 RHEL 시스템 역할의 속성 기반 필터를 사용하여 다양한 조건에 따라 로컬 로그 메시지를 필터링할 수 있습니다. 예를 들어 다음을 수행할 수 있습니다.
- 로그 명확성: 트래픽이 많은 환경에서는 로그가 빠르게 증가할 수 있습니다. 오류와 같은 특정 메시지에 중점을 두면 문제를 보다 신속하게 식별하는 데 도움이 될 수 있습니다.
- 최적화된 시스템 성능: 과도한 양의 로그는 일반적으로 시스템 성능 저하와 연결됩니다. 중요한 이벤트에 대해서만 선택적 로깅을 수행하면 리소스 소모를 방지할 수 있으므로 시스템이 더 효율적으로 실행될 수 있습니다.
- 강화된 보안: 시스템 오류 및 실패한 로그인과 같은 보안 메시지를 효율적으로 필터링하면 관련 로그만 캡처할 수 있습니다. 이는 위반을 탐지하고 규정 준수 표준을 준수하는 데 중요합니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo권한이 있습니다.
절차
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제 플레이북에 지정된 설정은 다음과 같습니다.
logging_inputs-
로깅 입력 사전 목록을 정의합니다.
유형: 기본옵션은systemd저널 또는 Unix 소켓의 입력을 다룹니다. logging_outputs-
로깅 출력 사전 목록을 정의합니다.
type: files옵션은 일반적으로/var/log/디렉터리에 있는 로컬 파일에 로그 저장을 지원합니다.속성: msg;property: contains; 및property_value: 오류 옵션은문자열이 포함된 모든 로그가오류/var/log/errors.log파일에 저장되도록 지정합니다.속성: msg;속성: !contains; 및property_value: 오류옵션은 다른 모든 로그가/var/log/others.log파일에 저장되도록 지정합니다.오류값을 필터링할 문자열로 교체할 수 있습니다. logging_flows-
logging_inputs와logging_outputs간의 관계를 지정하는 로깅 흐름 사전 목록을 정의합니다.inputs: [files_input]옵션은 로그 처리가 시작되는 입력 목록을 지정합니다.outputs: [files_output0, files_output1]옵션은 로그가 전송되는 출력 목록을 지정합니다.
플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.logging/README.md파일을 참조하십시오.플레이북 구문을 확인합니다.
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
플레이북을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
관리 노드에서
/etc/rsyslog.conf파일의 구문을 테스트합니다.rsyslogd -N 1
# rsyslogd -N 1 rsyslogd: version 8.1911.0-6.el8, config validation run... rsyslogd: End of config validation run. Bye.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 관리 노드에서
오류문자열이 포함된 메시지를 로그에 전송하는지 확인합니다.테스트 메시지를 전송합니다.
logger error
# logger errorCopy to Clipboard Copied! Toggle word wrap Toggle overflow /var/log/errors.log 로그를 확인합니다.예를 들면 다음과 같습니다.cat /var/log/errors.log Aug 5 13:48:31 hostname root[6778]: error
# cat /var/log/errors.log Aug 5 13:48:31 hostname root[6778]: errorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서
hostname은 클라이언트 시스템의 호스트 이름입니다. 로그에는 로거 명령을 입력한 사용자의 사용자 이름이 포함됩니다(이 경우root).
6.2.2. 로깅 RHEL 시스템 역할을 사용하여 원격 로깅 솔루션 적용 링크 복사링크가 클립보드에 복사되었습니다!
로깅 RHEL 시스템 역할을 사용하여 하나 이상의 클라이언트가 systemd-journal 서비스에서 로그를 가져와서 원격 서버로 전달하는 원격 로깅 솔루션을 구성할 수 있습니다. 서버는 remote_rsyslog 및 remote_files 구성에서 원격 입력을 수신하고 원격 호스트 이름으로 이름이 지정된 디렉터리의 로컬 파일에 로그를 출력합니다.
따라서 다음과 같은 경우 필요한 사용 사례를 처리할 수 있습니다.
- 중앙 집중식 로그 관리: 단일 스토리지 지점에서 여러 시스템의 로그 메시지를 수집, 액세스 및 관리하면 일상적인 모니터링 및 문제 해결 작업을 단순화할 수 있습니다. 또한 이 사용 사례로 로그 메시지를 확인하기 위해 개별 시스템에 로그인할 필요가 줄어듭니다.
- 강화된 보안: 로그 메시지를 한 중앙에 저장하면 안전하고 변조 방지 환경에 있을 가능성이 높아집니다. 이러한 환경을 통해 보안 문제를 보다 효과적으로 감지하고 대응하고 감사 요구 사항을 충족할 수 있습니다.
- 로그 분석의 효율성 개선: 여러 시스템의 로그 메시지 상관관계는 여러 머신 또는 서비스에 걸쳐 있는 복잡한 문제를 신속하게 해결하는 데 중요합니다. 이렇게 하면 다양한 소스의 이벤트를 신속하게 분석하고 참조할 수 있습니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo권한이 있습니다. - 서버 또는 클라이언트 시스템의 SELinux 정책에 포트를 정의하고 해당 포트에 대한 방화벽을 엽니다. 기본 SELinux 정책에는 포트 601, 514, 6514, 10514, 20514가 포함됩니다. 다른 포트를 사용하려면 클라이언트 및 서버 시스템에서 SELinux 정책 수정을 참조하십시오.
절차
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제 플레이북의 첫 번째 플레이에 지정된 설정은 다음과 같습니다.
logging_inputs-
로깅 입력 사전 목록을 정의합니다.
type: remote옵션은 네트워크를 통해 다른 로깅 시스템의 원격 입력을 다룹니다.udp_ports: [ 601 ]옵션은 모니터링할 UDP 포트 번호 목록을 정의합니다.tcp_ports: [ 601 ]옵션은 모니터링할 TCP 포트 번호 목록을 정의합니다.udp_ports및tcp_ports가 모두 설정된 경우udp_ports가 사용되고tcp_ports가 삭제됩니다. logging_outputs-
로깅 출력 사전 목록을 정의합니다.
type: remote_files옵션은 원격 호스트별로 로컬 파일에 출력 저장소 로그를 만들고 프로그램 이름이 로그를 생성했습니다. logging_flows-
logging_inputs와logging_outputs간의 관계를 지정하는 로깅 흐름 사전 목록을 정의합니다.입력: [remote_udp_input, remote_tcp_input]옵션은 로그 처리가 시작되는 입력 목록을 지정합니다.outputs: [remote_files_output]옵션은 로그를 전송할 출력 목록을 지정합니다.
예제 플레이북의 두 번째 플레이에 지정된 설정은 다음과 같습니다.
logging_inputs-
로깅 입력 사전 목록을 정의합니다.
유형: 기본옵션은systemd저널 또는 Unix 소켓의 입력을 다룹니다. logging_outputs-
로깅 출력 사전 목록을 정의합니다.
type: forward옵션은 네트워크를 통해 원격 로깅 서버로 로그 전송을 지원합니다.severity: info옵션은 정보 중요도의 로그 메시지를 나타냅니다.facility: mail옵션은 로그 메시지를 생성하는 시스템 프로그램의 유형을 나타냅니다.target: < host1.example.com> 옵션은 원격 로깅 서버의 호스트 이름을 지정합니다.udp_port: 601/tcp_port: 601옵션은 원격 로깅 서버가 수신 대기하는 UDP/TCP 포트를 정의합니다. logging_flows-
logging_inputs와logging_outputs간의 관계를 지정하는 로깅 흐름 사전 목록을 정의합니다.inputs: [basic_input]옵션은 로그 처리가 시작되는 입력 목록을 지정합니다.outputs: [forward_output0, forward_output1]옵션은 로그가 전송되는 출력 목록을 지정합니다.
플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.logging/README.md파일을 참조하십시오.플레이북 구문을 확인합니다.
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
플레이북을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
클라이언트 및 서버 시스템 모두에서
/etc/rsyslog.conf 파일의 구문을 테스트합니다.rsyslogd -N 1
# rsyslogd -N 1 rsyslogd: version 8.1911.0-6.el8, config validation run (level 1), master config /etc/rsyslog.conf rsyslogd: End of config validation run. Bye.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클라이언트 시스템이 서버에 메시지를 전송하는지 확인합니다.
클라이언트 시스템에서 테스트 메시지를 전송합니다.
logger test
# logger testCopy to Clipboard Copied! Toggle word wrap Toggle overflow 서버 시스템에서
/var/log/ <host2.example.com> /messages로그를 확인합니다. 예를 들면 다음과 같습니다.cat /var/log/<host2.example.com>/messages Aug 5 13:48:31 <host2.example.com> root[6778]: test
# cat /var/log/<host2.example.com>/messages Aug 5 13:48:31 <host2.example.com> root[6778]: testCopy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서
<host2.example.com>은 클라이언트 시스템의 호스트 이름입니다. 로그에는 로거 명령을 입력한 사용자의 사용자 이름이 포함됩니다(이 경우root).
6.2.3. TLS에서 로깅 RHEL 시스템 역할 사용 링크 복사링크가 클립보드에 복사되었습니다!
TLS(Transport Layer Security)는 컴퓨터 네트워크를 통해 보안 통신을 허용하도록 설계된 암호화 프로토콜입니다.
로깅 RHEL 시스템 역할을 사용하여 하나 이상의 클라이언트가 systemd-journal 서비스에서 로그를 가져와서 TLS를 사용하는 동안 원격 서버로 전송하는 로그 메시지의 보안 전송을 구성할 수 있습니다.
일반적으로 원격 로깅 솔루션에서 로그를 전송하기 위한 TLS는 신뢰할 수 없는 또는 인터넷과 같은 공용 네트워크를 통해 중요한 데이터를 전송할 때 사용됩니다. 또한 TLS에서 인증서를 사용하여 클라이언트가 로그를 정확하고 신뢰할 수 있는 서버로 전달하도록 할 수 있습니다. 이렇게 하면 "man-in-the-middle"와 같은 공격을 방지할 수 있습니다.
6.2.3.1. TLS를 사용하여 클라이언트 로깅 구성 링크 복사링크가 클립보드에 복사되었습니다!
로깅 RHEL 시스템 역할을 사용하여 RHEL 클라이언트에 대한 로깅을 구성하고 TLS 암호화를 사용하여 원격 로깅 시스템으로 로그를 전송할 수 있습니다.
이 절차에서는 개인 키와 인증서를 생성합니다. 다음으로 Ansible 인벤토리의 clients 그룹에 있는 모든 호스트에 TLS를 구성합니다. TLS 프로토콜은 네트워크를 통해 로그를 안전하게 전송할 수 있도록 메시지 전송을 암호화합니다.
인증서를 생성하기 위해 플레이북에서 인증서 RHEL 시스템 역할을 호출할 필요가 없습니다. 로깅 RHEL 시스템 역할은 logging_certificates 변수가 설정된 경우 자동으로 호출합니다.
CA에서 생성된 인증서에 서명하려면 관리형 노드를 IdM 도메인에 등록해야 합니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo권한이 있습니다. - 관리형 노드는 IdM 도메인에 등록됩니다.
절차
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제 플레이북에 지정된 설정은 다음과 같습니다.
logging_certificates-
이 매개변수의 값은 인증서 RHEL 시스템 역할의
에 전달되며 개인 키와 인증서를 생성하는 데 사용됩니다.certificate_requests logging_pki_files이 매개변수를 사용하여 로깅에서 사용하는 경로 및 기타 설정을 구성하여 로깅에서 사용하는 CA, 인증서 및 TLS에 사용되는 키 파일을 찾습니다.
ca_cert_src,ca_cert_src ,cert,cert_src, private_key ,,private_key_srctls.참고logging_certificates를 사용하여 관리 노드에서 파일을 생성하는 경우logging_certificates에서 생성되지 않은 파일을 복사하는 데 사용되는ca_cert_src,cert_src및private_key_src를 사용하지 마십시오.ca_cert-
관리 노드의 CA 인증서 파일의 경로를 나타냅니다. 기본 경로는
/etc/pki/tls/certs/ca.pem이며 파일 이름은 사용자가 설정합니다. 인증서-
관리 노드의 인증서 파일의 경로를 나타냅니다. 기본 경로는
/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를 설정할 수 있습니다.
플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.logging/README.md파일을 참조하십시오.플레이북 구문을 확인합니다.
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
플레이북을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
추가 리소스
-
/usr/share/ansible/roles/rhel-system-roles.logging/README.md파일 -
/usr/share/doc/rhel-system-roles/logging/디렉터리 -
/usr/share/ansible/roles/rhel-system-roles.certificate/README.mdfile -
/usr/share/doc/rhel-system-roles/certificate/directory - RHEL 시스템 역할을 사용하여 인증서 요청
-
rsyslog.conf(5)및syslog Cryostat매뉴얼 페이지
6.2.3.2. TLS를 사용하여 서버 로깅 구성 링크 복사링크가 클립보드에 복사되었습니다!
로깅 RHEL 시스템 역할을 사용하여 RHEL 서버에서 로깅을 구성하고 TLS 암호화를 사용하여 원격 로깅 시스템에서 로그를 수신하도록 설정할 수 있습니다.
이 절차에서는 개인 키와 인증서를 생성합니다. 다음으로 Ansible 인벤토리의 서버 그룹에 있는 모든 호스트에 TLS를 구성합니다.
인증서를 생성하기 위해 플레이북에서 인증서 RHEL 시스템 역할을 호출할 필요가 없습니다. 로깅 RHEL 시스템 역할은 자동으로 호출합니다.
CA에서 생성된 인증서에 서명하려면 관리형 노드를 IdM 도메인에 등록해야 합니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo권한이 있습니다. - 관리형 노드는 IdM 도메인에 등록됩니다.
절차
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제 플레이북에 지정된 설정은 다음과 같습니다.
logging_certificates-
이 매개변수의 값은 인증서 RHEL 시스템 역할의
에 전달되며 개인 키와 인증서를 생성하는 데 사용됩니다.certificate_requests logging_pki_files이 매개변수를 사용하여 로깅에서 사용하는 경로 및 기타 설정을 구성하여 로깅에서 사용하는 CA, 인증서 및 TLS에 사용되는 키 파일을 찾습니다.
ca_cert_src,ca_cert_src ,cert,cert_src, private_key ,,private_key_srctls.참고logging_certificates를 사용하여 관리 노드에서 파일을 생성하는 경우logging_certificates에서 생성되지 않은 파일을 복사하는 데 사용되는ca_cert_src,cert_src및private_key_src를 사용하지 마십시오.ca_cert-
관리 노드의 CA 인증서 파일의 경로를 나타냅니다. 기본 경로는
/etc/pki/tls/certs/ca.pem이며 파일 이름은 사용자가 설정합니다. 인증서-
관리 노드의 인증서 파일의 경로를 나타냅니다. 기본 경로는
/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를 설정할 수 있습니다.
플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.logging/README.md파일을 참조하십시오.플레이북 구문을 확인합니다.
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
플레이북을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.2.4. RELP에서 로깅 RHEL 시스템 역할 사용 링크 복사링크가 클립보드에 복사되었습니다!
RELP(Reliable Event Logging Protocol)는 TCP 네트워크를 통한 데이터 및 메시지 로깅을 위한 네트워킹 프로토콜입니다. 이 솔루션은 이벤트 메시지를 안정적으로 전송하며 메시지 손실을 허용하지 않는 환경에서 사용할 수 있습니다.
RELP 발신자는 명령 형태로 로그 항목을 전송하고 수신자는 해당 항목이 처리되면 이를 승인합니다. 일관성을 보장하기 위해 RELP는 모든 종류의 메시지 복구를 위해 전송된 각 명령에 트랜잭션 번호를 저장합니다.
RELP Client와 RELP 서버 간에 원격 로깅 시스템을 고려할 수 있습니다. RELP Client는 로그를 원격 로깅 시스템으로 전송하고 RELP 서버는 원격 로깅 시스템에서 보낸 모든 로그를 수신합니다. 이러한 사용 사례를 달성하기 위해 로깅 RHEL 시스템 역할을 사용하여 로그 항목을 안정적으로 전송하고 수신하도록 로깅 시스템을 구성할 수 있습니다.
6.2.4.1. RELP로 클라이언트 로깅 구성 링크 복사링크가 클립보드에 복사되었습니다!
로깅 RHEL 시스템 역할을 사용하여 로컬에 저장된 로그 메시지를 RELP를 사용하여 원격 로깅 시스템으로 전송할 수 있습니다.
이 절차에서는 Ansible 인벤토리의 clients 그룹에 있는 모든 호스트에서 RELP를 구성합니다. RELP 구성은 TLS(전송 계층 보안)를 사용하여 네트워크를 통해 로그를 안전하게 전송할 수 있도록 메시지 전송을 암호화합니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo권한이 있습니다.
절차
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제 플레이북에 지정된 설정은 다음과 같습니다.
대상- 이는 원격 로깅 시스템이 실행 중인 호스트 이름을 지정하는 필수 매개 변수입니다.
port- 원격 로깅 시스템이 수신 대기 중인 포트 번호입니다.
tls네트워크를 통한 로그를 안전하게 전송합니다. 보안 래퍼가 필요하지 않은 경우
tls변수를false로 설정할 수 있습니다. 기본적으로tls매개변수는 RELP로 작업하는 동안 true로 설정되며 키/인증서 및 트립릿 {ca_cert,cert,private_key} 및/또는 {ca_cert_src,cert_src,private_key_src}가 필요합니다.-
{
ca_cert_src,cert_src,private_key_src} triplet가 설정되면 기본 위치/etc/pki/tls/certs및/etc/pki/tls/private이 제어 노드에서 파일을 전송하는 대상으로 사용됩니다. 이 경우 파일 이름은 Triplet에서 원래 이름과 동일합니다. -
{
ca_cert,cert,private_key} triplet가 설정되면 로깅 구성 전에 파일이 기본 경로에 있어야 합니다. - 두 트래블릿이 설정되어 있으면 파일이 로컬 경로에서 제어 노드에서 관리 노드의 특정 경로로 전송됩니다.
-
{
ca_cert-
CA 인증서 경로를 나타냅니다. 기본 경로는
/etc/pki/tls/certs/ca.pem이며 파일 이름은 사용자가 설정합니다. 인증서-
인증서 경로를 나타냅니다. 기본 경로는
/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가 지정되면 해당 키가 위치에 복사됩니다. pki_authmode-
인증 모드를
이름또는지문으로 허용합니다. permitted_servers- 로깅 클라이언트에서 TLS를 통해 연결하고 로그를 전송하도록 허용하는 서버 목록입니다.
입력- 로깅 입력 사전 목록.
출력- 로깅 출력 사전 목록.
플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.logging/README.md파일을 참조하십시오.플레이북 구문을 확인합니다.
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
플레이북을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.2.4.2. RELP로 서버 로깅 구성 링크 복사링크가 클립보드에 복사되었습니다!
로깅 RHEL 시스템 역할을 사용하여 RELP를 사용하여 원격 로깅 시스템에서 로그 메시지를 수신하는 서버를 구성할 수 있습니다.
이 절차에서는 Ansible 인벤토리의 서버 그룹에 있는 모든 호스트에서 RELP를 구성합니다. RELP 구성은 TLS를 사용하여 네트워크를 통해 로그를 안전하게 전송할 수 있도록 메시지 전송을 암호화합니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo권한이 있습니다.
절차
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제 플레이북에 지정된 설정은 다음과 같습니다.
port- 원격 로깅 시스템이 수신 대기 중인 포트 번호입니다.
tls네트워크를 통한 로그를 안전하게 전송합니다. 보안 래퍼가 필요하지 않은 경우
tls변수를false로 설정할 수 있습니다. 기본적으로tls매개변수는 RELP로 작업하는 동안 true로 설정되며 키/인증서 및 트립릿 {ca_cert,cert,private_key} 및/또는 {ca_cert_src,cert_src,private_key_src}가 필요합니다.-
{
ca_cert_src,cert_src,private_key_src} triplet가 설정되면 기본 위치/etc/pki/tls/certs및/etc/pki/tls/private이 제어 노드에서 파일을 전송하는 대상으로 사용됩니다. 이 경우 파일 이름은 Triplet에서 원래 이름과 동일합니다. -
{
ca_cert,cert,private_key} triplet가 설정되면 로깅 구성 전에 파일이 기본 경로에 있어야 합니다. - 두 트래블릿이 설정되어 있으면 파일이 로컬 경로에서 제어 노드에서 관리 노드의 특정 경로로 전송됩니다.
-
{
ca_cert-
CA 인증서 경로를 나타냅니다. 기본 경로는
/etc/pki/tls/certs/ca.pem이며 파일 이름은 사용자가 설정합니다. 인증서-
인증서의 경로를 나타냅니다. 기본 경로는
/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가 지정되면 해당 키가 위치에 복사됩니다. pki_authmode-
인증 모드를
이름또는지문으로 허용합니다. permitted_clients- 로깅 서버가 TLS를 통해 연결하고 로그를 전송하도록 허용하는 클라이언트 목록입니다.
입력- 로깅 입력 사전 목록.
출력- 로깅 출력 사전 목록.
플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.logging/README.md파일을 참조하십시오.플레이북 구문을 확인합니다.
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
플레이북을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow