정책

클라우드 인프라 구성 스캔 및 평가

개요

정책은 잘못 구성된 클라우드 인프라를 식별하고 팀을 위한 알러트를 생성하는 데 사용됩니다. Panther는 이미 작성되어 있고 지속적으로 업데이트되는 여러 Panther가 관리하는 정책.

정책은 다음과 같이 작성할 수 있습니다 Python 디택션; 다음과 같이 작성할 수는 없습니다 Simple Detections.

정책과 일치하면 규정 준수 실패가 생성되지만, 시그널은 생성되지 않습니다. 규정 준수 실패는 다음에서 확인할 수 있습니다:

  • 에서 데이터 탐색기에서, panther_cloudsecurity.public 데이터베이스에서, compliance_history 테이블에서

  • 에서 검색에서, Could Security 데이터베이스에서, Compliance History 테이블에서

정책을 작성하는 방법

새 정책 작성을 시작하기 전에 기존 Panther가 관리하는 정책 이 있는지 확인하는 것을 잊지 마세요.

정책 본문

정책 본문은 다음을 충족해야 합니다:

  • 유효한 Python3여야 합니다.

  • 다음을 정의해야 합니다 policy() 함수는 하나의 리소스 인자를 받습니다.

    • 각 정책은 리소스 에서 특정 리소스 유형의 입력을 받습니다. 지원되는 리소스 페이지.

  • 를 반환해야 합니다 bool 정책 함수에서.

Python 본문은 policy() function 리소스 의 인자 이름을 지정해야 하며, 또한 다음을 수행할 수 있습니다:

  • 표준 Python3 라이브러리 가져오기

  • 사용자 정의 aws_globals 모듈에서 가져오기

  • Panther 정의 panther 모듈에서 가져오기

  • 필요에 따라 추가 헬퍼 함수 정의

  • 룰 함수 범위 밖에 변수와 클래스 정의

의 스키마를 사용하면 지원되는 리소스 리소스의 모든 사용 가능한 필드에 대한 세부 정보를 제공합니다. 최상위 키는 항상 존재하지만, NoneType 값을 포함할 수 있습니다.

로컬 및 Panther 콘솔에서 정책 작성하기

Panther 콘솔에서 정책을 작성하고 배포하거나, 로컬에서 작성한 뒤 Panther Analysis Tool (PAT) CLI 워크플로를 사용해 Panther에 업로드할 수 있습니다:

Panther 콘솔에서 정책을 작성하는 방법

  1. Panther Console의 왼쪽 탐색 모음에서 디택션.

  2. 오른쪽 상단에서 새로 만들기.

  3. 다음 정책 타일에서 Start.

  4. 생성 페이지에서 정책을 구성하세요:

    • 이름: 정책에 대한 설명적인 이름을 입력하세요.

    • ID (선택 사항): 펜 아이콘을 클릭하고 정책의 고유 ID를 입력하세요.

    • 오른쪽 상단에서 Enabled 토글은 기본값으로 켜기 로 설정됩니다. 정책을 비활성화하려면 토글을 OFF.

    • 다음 다음 리소스 유형에 대해 섹션에서:

      • 리소스 유형: 이 정책을 적용할 하나 이상의 리소스 유형을 선택하세요. 모든 리소스에 적용하려면 비워 두세요.

    • 다음 감지 섹션에서:

      • 다음 정책 함수 텍스트 편집기에서 Python 정책 함수를 작성하여 디택션을 정의하세요.

    • 다음 알러트 필드 설정 섹션에서:

      • 심각도: 심각도 수준 을 선택하여 이 디택션으로 트리거된 알러트에 적용하세요.

      • 다음 선택적 필드 섹션에서 다음 필드의 값을 선택적으로 제공하세요:

        • 설명: 정책에 대한 추가 컨텍스트를 입력하세요.

        • 런북: 이 정책과 관련된 절차 및 작업을 입력하세요.

        • 참조: 이 룰과 관련된 추가 정보를 가리키는 외부 링크를 입력하세요.

        • 대상 재정의: 심각도와 관계없이 이 디택션의 알러트를 받을 대상을 선택하세요. 대상은 룰 함수에서 동적으로도 설정할 수 있습니다. 자세한 내용은 라우팅 순서 우선순위 를 참조하세요.

        • 무시 패턴: 무시할 패턴을 입력하세요.

        • 사용자 지정 태그: 룰을 한눈에 이해하는 데 도움이 되도록 사용자 지정 태그를 입력하세요(예: HIPAA.)

        • 다음 프레임워크 매핑 섹션에서:

          1. 을 클릭한 다음 새로 추가 를 눌러 보고서를 입력하세요.

          2. 다음 필드의 값을 제공하세요:

            • 보고서 키: 보고서와 관련된 키를 입력하세요.

            • 보고서 값: 해당 보고서의 값을 입력하세요.

    • 다음 테스트 섹션에서:

      • 다음 단위 테스트 섹션에서 새로 추가 에서 테스트 생성 을 눌러 이전 단계에서 정의한 정책에 대한 테스트를 만드세요.

  5. 오른쪽 상단에서 저장.

관련 알러트 제목

정책의 알러트 제목을 설정하는 우선순위는 룰 및 예약 룰과 동일합니다. 자세한 내용은 알러트 제목이 설정되는 방식 섹션의 명령을 실행합니다.

특정 클라우드 리소스 무시

특정 클라우드 리소스에 예외를 적용하도록 정책을 구성할 수 있습니다. 즉, 해당 리소스에는 정책이 실행되지 않고 알러트도 생성되지 않습니다. 이는 때때로 "policy suppression"이라고도 합니다.

정책 suppression을 구성하는 방법은 세 가지입니다:

Panther 콘솔의 리소스 페이지에서 정책 suppression을 추가 할 수는 있지만, 나중에 제거해야 하는 경우 두 가지 다른 방법 중 하나를 통해 정책을 수정해야 합니다.

Panther 콘솔의 리소스 페이지에서 리소스를 무시하도록 정책을 구성하려면:

  1. Panther Console의 왼쪽 탐색 모음에서 클라우드 리소스.

  2. 무시하려는 클라우드 리소스의 이름을 클릭하세요.

  3. 다음 정책 섹션에서 이 리소스에 적용된 모든 정책이 포함되어 있으며, 이 리소스를 무시하도록 구성하려는 정책을 찾으세요.

  4. 행 오른쪽에서 점 세 개 아이콘을 클릭한 다음 무시.

    • 를 선택하세요 무시 패턴 필드에 붙여넣습니다.

A "Policies" section shows three policies in a table. Each policy has a status, severity, and a three dots icon.

정책 작성 모범 사례

테스트 리소스 구성하기

수동으로 테스트 케이스를 만들면 사람의 실수에 취약할 수 있습니다. 다음 방법 중 하나를 권장합니다:

  • 옵션 1: Panther 콘솔에서 Investigate > Cloud Resources로 이동하세요. 테스트에서 모방하려는 리소스 유형 필터를 적용하세요. 환경의 리소스를 선택한 다음 Attributes 카드에서 단어 root.

  • 옆의 복사 버튼을 선택하여 해당 리소스의 전체 JSON 표현을 복사할 수 있습니다. 옵션 2: PantherResources 문서 를 열고, 모방하려는 리소스의 섹션으로 이동하세요. 제공된 예시 리소스를 복사하세요. 웹 UI에서 작업 중이면 이를 리소스 편집기에 붙여넣고, 로컬에서 작업 중이면 Resource

필드에 붙여넣으세요. 이제 정책과 모방하려는 특정 테스트 케이스와 관련된 필드를 수동으로 수정할 수 있습니다.

예외 디버깅

정책을 실행하는 Python 환경에 직접 접근할 수 없으므로 예외 디버깅은 어려울 수 있습니다.

특정 리소스에서 상태가 Error 로 표시되는 정책을 보면, 해당 정책이 예외를 발생시켰다는 뜻입니다. 이러한 오류를 해결하는 가장 좋은 방법은 위의 테스트 리소스 구성하기 섹션에서 옵션 1을 사용하여 예외를 발생시킨 리소스로부터 테스트 케이스를 만드는 것입니다.

이 테스트 케이스를 로컬 또는 Panther 콘솔에서 실행하면 문제에 대한 추가 맥락을 얻을 수 있고, 환경의 모든 리소스에 대해 정책을 실행하지 않고도 예외를 디버그하도록 정책을 수정할 수 있습니다.

정책 예시

S3 공개 읽기 액세스

아래 예시에서 정책은 S3 버킷이 공개 읽기 액세스를 허용하는지 확인합니다:

IAM 비밀번호 정책

이 예시 정책은 비밀번호 정책이 최대 비밀번호 사용 기간을 강제하지 않을 때 알러트합니다:

다음 policy() 본문에서 값으로 True 를 반환하면 리소스가 규정을 준수하며 알러트를 보내지 않아야 함을 나타냅니다. 값으로 False 를 반환하면 리소스가 규정을 준수하지 않음을 나타냅니다.

이 정책은 다음을 기반으로 합니다 IAM 비밀번호 정책 리소스:

참조

마지막 업데이트

도움이 되었나요?