2.3. 초기 구성


시스템의 특정 부분에 대한 액세스 권한을 부여하면 보안 취약점이 노출됩니다. 액세스 보안을 위해 다음 사례를 적용합니다.

  • 시스템 관리 계정에 대한 액세스를 최소화합니다. 사용자 인터페이스(웹 인터페이스)와 자동화 컨트롤러가 실행 중인 운영 체제에 대한 액세스에는 차이점이 있습니다. 시스템 관리자 또는 root 사용자는 모든 시스템 애플리케이션에 액세스, 편집 및 중단할 수 있습니다. 컨트롤러에 대한 루트 액세스 권한을 가진 모든 사용자는 이러한 인증 정보를 해독할 수 있으므로 시스템 관리 계정에 대한 액세스를 최소화하는 것이 보안 시스템을 유지하는 데 중요합니다.
  • 로컬 시스템 액세스를 최소화합니다. 자동화 컨트롤러에는 관리 목적을 제외하고 로컬 사용자 액세스 권한이 필요하지 않아야 합니다. 관리자가 아닌 사용자는 컨트롤러 시스템에 액세스할 수 없어야 합니다.
  • 업무 분리를 시행합니다. 자동화의 다른 구성 요소는 서로 다른 수준에서 시스템에 액세스해야 할 수 있습니다. 하나의 키 또는 인증 정보 취약점의 영향을 최소화하도록 각 구성 요소에 대해 서로 다른 키 또는 인증 정보를 사용합니다.
  • 자동화 컨트롤러를 낮은 수준의 컨트롤러 구성 및 재해 복구에만 가능한 최소 사용자 세트로 제한합니다. 컨트롤러 컨텍스트에서 컨트롤러 '시스템 관리자' 또는 '슈퍼유저' 계정은 컨트롤러의 모든 인벤토리 또는 자동화 정의를 편집, 변경, 업데이트할 수 있습니다.

2.3.1. 인프라를 코드 패러다임으로 사용

Red Hat Community of Practice는 Ansible Automation Platform 인프라 및 구성을 코드로 관리하기 위해 컬렉션을 통해 사용할 수 있는 자동화 콘텐츠 세트를 생성했습니다. 이를 통해 IaC(Infrastructure as Code) 또는 CaC(Configuration as Code)를 통해 플랫폼 자체를 자동화할 수 있습니다. 이 접근 방식의 많은 이점이 명확하지만 고려해야 할 중요한 보안 영향이 있습니다.

다음 Ansible 콘텐츠 컬렉션은 인프라를 코드 방법론으로 사용하여 Ansible Automation Platform 구성 요소를 관리하는 데 사용할 수 있으며, 모두 Ansible Automation Hub 에 있습니다.

Expand
표 2.5. Ansible 콘텐츠 컬렉션

검증된 컬렉션

컬렉션 용도

infra.aap_utilities

설치, 백업 및 복원, 인증서 관리 등 Ansible Automation Platform의 Day 1 및 Day 2 작업을 자동화하는 Ansible 콘텐츠입니다.

infra.controller_configuration

사용자 및 그룹(RBAC), 프로젝트, 작업 템플릿 및 워크플로우, 인증 정보 등 자동화 컨트롤러 구성 요소를 관리하는 역할 컬렉션입니다.

infra.ah_configuration

사용자 및 그룹(RBAC), 컬렉션 업로드 및 관리, 컬렉션 승인, 실행 환경 이미지 레지스트리 관리 등 자동화 허브와 상호 작용하는 Ansible 콘텐츠입니다.

infra.ee_utilities

실행 환경 이미지를 생성 및 관리하거나 이전 Tower Virtualenvs에서 실행 환경으로 마이그레이션하는 역할 컬렉션입니다.

많은 조직에서 CI/CD 플랫폼을 사용하여 파이프라인 또는 이러한 유형의 인프라를 관리하는 다른 방법을 구성합니다. 그러나 Ansible Automation Platform을 기본적으로 사용하면 Git 기반 리포지토리를 기본적으로 연결하도록 Webhook를 구성할 수 있습니다. 이러한 방식으로 Ansible은 Git 이벤트에 응답하여 작업 템플릿을 직접 트리거할 수 있습니다. 이렇게 하면 이 전체 프로세스에서 외부 CI 구성 요소가 필요하지 않으므로 공격 면적이 줄어듭니다.

이러한 사례를 통해 모든 인프라 및 구성을 버전 제어할 수 있습니다. Git 모범 사례를 적용하여 Ansible Automation Platform에 동기화되기 전에 적절한 코드 품질 검사를 보장합니다. 관련 Git 모범 사례는 다음과 같습니다.

  • 가져오기 요청 생성.
  • 검사 도구가 있는지 확인합니다.
  • 일반 텍스트 보안이 커밋되지 않도록 합니다.
  • 사전 커밋 후크 및 기타 정책이 준수되었는지 확인합니다.

IAC는 또한 중요한 데이터를 리포지토리에 저장하거나 필요에 따라 개별적으로 자격 증명 모음 파일을 처리할 필요가 없는 외부 자격 증명 모음 시스템을 사용하는 것이 좋습니다. 외부 자격 증명 모음 시스템 사용에 대한 자세한 내용은 이 가이드 내에서 2.3.2.3 External Credential vault 고려 사항을 참조하십시오.

2.3.2. 컨트롤러 구성

2.3.2.1. 중앙 집중식 로깅 구성

로깅의 중요한 기능은 자동화 컨트롤러에서 기본적으로 컨트롤러를 종료하는 스토리지 용량 도달과 같은 실패를 완화하기 위한 조치를 감지하고 수행하는 기능입니다. 이 가이드에서는 애플리케이션 서버가 고가용성 시스템의 일부가 되도록 권장합니다. 이 경우 자동화 컨트롤러에서 다음 단계를 수행하여 오류를 완화합니다.

  • 로그 레코드 스토리지 용량이 부족하여 오류가 발생한 경우 애플리케이션에서 로그 레코드를 계속 생성해야 합니다(필요한 경우 로그 서비스를 자동으로 다시 시작) 첫 번째 시작 방식으로 가장 오래된 로그 레코드를 덮어써야 합니다.
  • 로그 레코드가 중앙 집중식 컬렉션 서버로 전송되고 이 서버와의 통신이 유실되거나 서버가 실패하는 경우 통신이 복원되거나 로그 레코드가 수동으로 검색될 때까지 애플리케이션은 로컬로 로그 레코드를 큐해야 합니다. 중앙 집중식 컬렉션 서버에 대한 연결을 복원하는 경우 로컬 로그 데이터를 컬렉션 서버와 동기화하려면 작업을 수행해야 합니다.

각 자동화 컨트롤러 호스트에 대한 rsyslog 구성을 확인하려면 각 자동화 컨트롤러에 대해 다음 단계를 완료합니다.

관리자는 조직적으로 정의된 로그 캡처 크기에 대해 로그 롤오버를 확인하려면 각 자동화 컨트롤러 호스트의 rsyslog 구성을 확인해야 합니다. 이렇게 하려면 다음 단계를 사용하고 필요에 따라 구성 단계를 사용하여 수정합니다.

  1. 자동화 컨트롤러 구성에서 LOG_AGGREGATOR_MAX_DISK_USAGE_GB 필드를 확인합니다. 호스트에서 다음을 실행합니다.

    awx-manage print_settings LOG_AGGREGATOR_MAX_DISK_USAGE_GB

    이 필드가 조직적으로 정의된 로그 캡처 크기로 설정되지 않은 경우 구성 단계를 따릅니다.

  2. /var/lib/awx. 로그 파일 위치에 대한 자동화 컨트롤러 구성에 있는 LOG_AGGREGATOR_MAX_DISK_USAGE_PATH 필드를 확인합니다. 호스트에서 다음을 실행합니다.

    awx-manage print_settings LOG_AGGREGATOR_MAX_DISK_USAGE_PATH

    이 필드가 /var/lib/awx 로 설정되지 않은 경우 다음 구성 단계를 따르십시오.

    1. 웹 브라우저를 열고 https://<automation 컨트롤러 서버>/api/v2/settings/logging/로 이동합니다. 여기서 <automation 컨트롤러 server>는 자동화 컨트롤러의 정규화된 호스트 이름입니다. Log In 옵션이 표시되면 이를 클릭하고 자동화 컨트롤러 관리자 계정으로 로그인한 후 계속합니다.
    2. Content 섹션에서 다음 값을 수정한 다음 PUT:을 클릭합니다.

      • LOG_AGGREGATOR_MAX_DISK_USAGE_GB = <new log buffer in GB>
      • LOG_AGGREGATOR_MAX_DISK_USAGE_PATH = /var/lib/awx

    로드 밸런싱 시나리오의 각 자동화 컨트롤러에서 이러한 변경을 수행해야 합니다.

모든 사용자 세션 데이터는 가시성 및 분석을 위해 문제 해결, 디버깅 및 포렌식 분석을 지원하려면 기록되어야 합니다. 컨트롤러의 웹 서버에서 이 데이터가 없으면 이벤트 조사에 대한 중요한 감사 및 분석이 손실됩니다. 사용자 세션 데이터가 기록되도록 시스템이 구성되었는지 확인하려면 다음 단계를 사용하십시오.

각 자동화 컨트롤러 호스트에 대해 콘솔 설정 > 시스템 > 기타 시스템으로 이동합니다.

  1. 편집을 클릭합니다.
  2. 다음을 설정합니다.

    • 활동 스트림 활성화 = On
    • 인벤토리 동기화를 위해 활동 스트림 활성화 = On
    • 조직 관리자는 사용자와 팀을 관리할 수 있습니다 = Off
    • 조직 관리자가 모든 사용자를 볼 수 있음 = On
  3. 저장을클릭합니다.

수집기 유형 중 하나에 로깅을 설정하려면 지원되는 로그 수집기 에 대한 문서를 읽고 다음 단계를 사용하여 로그 수집기를 구성합니다.

  1. Ansible Automation Platform으로 이동합니다.
  2. 설정을 클릭합니다.
  3. 시스템 옵션 목록에서 로깅 설정을 선택합니다.
  4. 로깅 설정 화면 하단에서 편집을 클릭합니다.
  5. 제공된 필드에서 구성 가능한 옵션을 설정합니다.

    • 외부 로깅 활성화: 외부 로그 수집기로 로그를 보내려면 토글 버튼을 ON 으로 클릭합니다. UI를 사용하려면 이 작업을 수행하기 전에 로깅 수집기 및 로깅 수집기 포트 필드를 작성해야 합니다.
    • 로깅 수집기: 로그를 보낼 호스트 이름 또는 IP 주소를 입력합니다.
    • 로깅 수집기 포트: 필요한 경우 수집기 포트를 지정합니다.
    • 로깅 수집기 유형: 드롭다운 메뉴에서 수집기 서비스를 선택합니다.

      • Splunk
      • Loggly
      • Sumologic
      • 탄력적 스택(이전 ELK 스택)
    • 로깅 수집기 사용자 이름: 필요한 경우 로깅 수집기의 사용자 이름을 입력합니다.
    • 로깅 수집기 암호/토큰: 필요한 경우 로깅 수집기의 암호를 입력합니다.
    • 시스템 추적 사실을 개별적으로 기록: 설정할지 또는 기본적으로 해제할지 여부에 관계없이 추가 정보를 보려면 툴팁 아이콘을 클릭합니다.
    • 로깅 수집기 프로토콜: 로그 수집기와 통신할 연결 유형(프로토콜)을 선택합니다. 후속 옵션은 선택한 프로토콜에 따라 달라집니다.
    • 로깅 수집기 수준 임계값: 로그 처리기에서 보고할 심각도 수준을 선택합니다.
    • TCP 연결 시간 초과: 연결 시간 초과를 초 단위로 지정합니다. 이 옵션은 HTTPS 및 TCP 로그 수집기 프로토콜에만 적용할 수 있습니다.
    • HTTPS 인증서 확인을 활성화/비활성화: HTTPS 로그 프로토콜에 대해 인증서 확인이 기본적으로 활성화됩니다. 로그 처리기에서 연결을 설정하기 전에 외부 로그 수집기가 전송한 HTTPS 인증서를 확인하지 않으려면 토글 버튼을 클릭하여 OFF 를 클릭합니다.
    • 로그 수집기 양식에 데이터를 전송하는 로거: 기본적으로 네 가지 데이터 유형이 모두 미리 채워집니다. 각 데이터 유형에 대한 자세한 내용은 필드 옆에 있는 툴팁 아이콘을 클릭합니다. 원하지 않는 데이터 유형을 삭제합니다.
    • API 4XX 오류의 로그 형식: 특정 오류 메시지 구성.
  6. 저장을 클릭하여 설정을 적용하거나 취소를 클릭하여 변경 사항을 취소합니다.
  7. 구성이 올바르게 설정되었는지 확인하려면 먼저 저장한 다음 테스트를 클릭합니다. 이렇게 하면 자동화 컨트롤러의 현재 로깅 구성을 사용하여 테스트 로그 메시지가 로그 수집기로 전송됩니다. 외부 로그 수집기가 테스트 메시지를 수신했는지 확인해야 합니다.

LDAP 사용자 이름 및 암호로 로그인한 모든 사용자에 대해 자동화 컨트롤러 계정이 자동으로 생성됩니다. 이러한 사용자는 일반 사용자 또는 조직 관리자로 조직에 자동으로 배치될 수 있습니다. 즉, LDAP 통합을 사용할 때 로깅을 설정해야 합니다. LDAP에 대한 로깅을 활성화할 수 있는 방식과 동일하게 SAML 어댑터의 로깅 메시지를 활성화할 수 있습니다.

다음 단계에서는 LDAP 로깅을 활성화합니다.

LDAP에 대한 로깅을 활성화하려면 설정 구성 창에서 수준을 DEBUG로 설정해야 합니다.

  1. 왼쪽 탐색 창에서 설정을 클릭하고 시스템 옵션 목록에서 로깅 설정을 선택합니다.
  2. 편집을 클릭합니다.
  3. 로깅 수집기 수준 임계값 필드를 Debug로 설정합니다.
  4. 저장을 클릭하여 변경 사항을 저장합니다.

2.3.2.2. 외부 인증 소스 구성

사용자 인증 계획 섹션에서 설명한 대로 자동화 컨트롤러에 대한 사용자 액세스에는 외부 인증이 권장됩니다. 필요에 가장 적합한 인증 유형을 선택한 후 설정 ]으로 이동하여 자동화 컨트롤러 UI에서 인증 백엔드에 대한 관련 링크를 클릭하고 링크https://docs.ansible.com/automation-controller/latest/html/administration/configure_tower_in_tower.html#authentication[configuring에 대한 관련 지침을 따릅니다.

자동화 컨트롤러와 함께 외부 인증에 LDAP를 사용하는 경우 설정으로 이동한 다음 자동화 컨트롤러에서 LDAP 설정을 선택하고 다음 중 하나가 구성되었는지 확인합니다.

  • LDAP over SSL의 경우 LDAP 서버 URI 설정은 ldaps://' 로 시작하고 포트 636을 사용해야 합니다(예: ldaps://ldap-server.example.com:636 ).
  • LDAP over TLS의 경우 LDAP 시작 TLS 설정을 "On"으로 설정해야 합니다.

2.3.2.3. 외부 인증 정보 자격 증명 모음 고려 사항

보안 관리는 보안 자동화 플랫폼을 유지 관리하는 데 중요한 구성 요소입니다. 다음 보안 관리 방법을 사용하는 것이 좋습니다.

  • 시스템에 액세스할 수 있는 권한이 없는 사용자가 없는지 확인하고 액세스가 필요한 사용자에게만 부여되어야 합니다. 자동화 컨트롤러는 암호 및 API 토큰과 같은 중요한 정보를 암호화하지만 암호 해독에 키를 저장합니다. 권한이 부여된 사용자는 잠재적으로 모든 것에 액세스할 수 있습니다.
  • 외부 시스템을 사용하여 시크릿을 관리합니다. 자격 증명을 업데이트해야 하는 경우 외부 시스템은 내부 시스템보다 덜 복잡한 업데이트된 자격 증명을 검색할 수 있습니다. 시크릿을 관리하기 위한 외부 시스템에는 CyberArk, HashiCorp Vault, Microsoft Azure Key Management 등이 있습니다. 자세한 내용은 자동화 컨트롤러 사용자 가이드 v4.4의 시크릿 관리 시스템 섹션을 참조하십시오.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

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

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동