return "DEFAULT"
규칙 및 예약 규칙은 로그에서 의심스러운 활동을 탐지한 후 경고를 생성합니다
개요
규칙 및 예약 규칙은 로그 데이터에서 의심스러운 활동을 감지하고 신호를 생성하기 위해 로그 데이터를 실행하는 논리 조각입니다 신호 (및 선택적으로 경보). 규칙은 실시간 이벤트를 분석하는 반면 예약 규칙은 데이터 레이크에서 쿼리된 이벤트를 분석합니다. 이러한 탐지 유형은 클라우드 리소스 구성에 적용되는 정책과는 다릅니다 정책는 클라우드 리소스 구성에 적용됩니다.
Panther는 여러 Panther 관리 규칙 및 예약 규칙 을(를) Python으로 제공하며, 이는 이미 작성되어 지속적으로 업데이트됩니다. 콘솔에서 간단 탐지 빌더 를 사용하거나 Python을(를) 작성하여 맞춤 규칙을 생성할 수 있습니다; CLI 워크플로우에서는 규칙을 간단 탐지(YAML)로 또는 Python로 작성할 수 있습니다. 예약 규칙은 Python (콘솔 또는 CLI 워크플로우에서)를 사용하여 작성할 수 있습니다.
알림을 생성할 만큼(적어도 단독으로는) 가치가 없는 작업에 대한 규칙 또는 예약 규칙을 만들고 싶다면, 경보를 생성하지 않도록 구성할 수 있습니다 (오직 신호만 생성). 그런 다음 이러한 규칙을 상관 규칙.
에 포함하고 싶을 수 있습니다. 규칙은도출(derivation) 을 사용할 수 있으며, 이를 통해 단일 기본 탐지에서 하나 이상의 파생 탐지를 생성할 수 있습니다. 또한.
Sigma 규칙을 Panther 규칙으로 변환할 수 있습니다
규칙의 일반적인 예는 다음과 같은 로그 분석을 포함합니다:
알 수 없거나 예상치 못한 위치에서의 인증 시도
SaaS 서비스에 대한 관리 변경과 같은 민감한 API 호출
데이터베이스나 가상 머신과 같은 민감한 데이터 소스에 대한 네트워크 트래픽 접근
규칙 vs 예약 규칙
규칙과 예약 규칙은 모두 로그 이벤트를 실행하는 논리를 정의하지만—규칙은 실시간 이벤트를 분석하고 예약 규칙은 데이터 레이크에서 쿼리된 이벤트를 분석합니다.
규칙 규칙은 Panther로 전송된 데이터를 분석하는 기본 메커니즘입니다. 규칙은지원되는 로그 소스 와 같은 하나 이상의 정의된 로그 유형(또는 자체커스텀 데이터
)를 허용하여 작동합니다. 규칙은 낮은 대기시간의 탐지 및 경보를 제공하는 이점이 있습니다.
사용 사례: 다른 데이터와 조인이 필요하지 않은 신호 높은 로그.
규칙은 스트리밍 규칙, 실시간 규칙 및 저지연 규칙으로도 알려질 수 있습니다.
예약 규칙 예약 규칙은 연관된.
예약 검색
에서 출력된 개별 행을 수락하여 작동합니다
사용 사례: 과거의 더 오래된 시간 창을 검색하거나 데이터에 대한 통계 분석을 실행하거나 별도의 데이터 스트림을 조인하는 경우.
Python 대 간단 탐지 YAML 사용 로컬에서 규칙을 작성하는 경우(CLI 워크플로우에서), Python 또는 간단 탐지로 생성할 수 있습니다. (예약 규칙은 Python으로만 작성할 수 있습니다.) 규칙 생성의 두 방법에는 아래에 설명된 장점이 있습니다.
Python으로 규칙 작성 사용 시:.
논리의 복잡성이 매우 높거나 탐지에 현재 로컬에서 규칙을 작성하는 경우(CLI 워크플로우에서), Python 또는 간단 탐지로 생성할 수 있습니다. (예약 규칙은 Python으로만 작성할 수 있습니다.) 규칙 생성의 두 방법에는 아래에 설명된 장점이 있습니다.
간단 탐지 YAML의 제한 사항 간단 탐지 빌더으로 나열된 기능 중 어느 것도 필요한 경우
간단 탐지로 규칙 작성 팀 구성원 간의 기술 수준 차이를 고려한 협업을 촉진하고자 하는 경우. CLI 워크플로우에서 작성된 간단 탐지는 Panther에 업로드되면 콘솔에서.
으로 표시됩니다. 그런 다음 간단 탐지 빌더를 사용하여 콘솔에서 탐지를 편집(또는 새로 생성)할 수 있습니다.
동일한 탐지 논리가 Python과 YAML로 작성된 예는 아래의
규칙 예시 를 참조하세요.규칙 및 예약 규칙 작동 방식 규칙과 예약 규칙은 모두 한 번에 하나의 이벤트를 분석합니다. 이들은 이벤트 임계값 및 중복 제거를 사용하여 시간 창 내에서 이벤트 그룹화를 생성합니다. 최소한 각 규칙 및 예약 규칙은 규칙 논리를 정의해야 합니다. Python 탐지의경우, 각각은 rule() 함수를 포함해야 합니다; CLI 워크플로우에서 작성된 간단 탐지의.
경우, 각각은 적어도 하나의 Detection키와 매치 표현식을 포함해야 합니다. Python 규칙은 또한동적 경보 함수
를 정의할 수 있고, 간단 탐지는 동적 경보 키 를 사용할 수 있습니다. 둘 다
인라인 필터 신호를 사용할 수 있으며, 이는 탐지 논리보다 먼저 실행됩니다. 규칙은 15초를 초과하여 실행될 수 없습니다. 이 경우.
규칙 오류
가 생성되고 처리가 종료됩니다. (이 제약은 예약 규칙에는 적용되지 않습니다.) 규칙 및 예약 규칙의 매치는 를 생성합니다. 규칙 및 예약 규칙에 경보가 활성화된 경우, 이벤트 임계값 및 중복 제거 구성에 따라 경보를 생성할 수 있는 규칙 매치가 생성됩니다.
신호, 규칙 매치 및 경보의 차이에 대해 자세히 알아보세요
연관된 경보의 제목
탐지에 경보가 활성화된 경우, 결과 경보의 제목은 해당 탐지의 구성에 의해 결정됩니다. 별도의
중복 제거 문자열
이 명시적으로 설정되지 않은 경우, 경보 제목이 중복 제거에도 사용됩니다.경보 제목 설정 방식경보 제목 설정 우선순위는 다음과 같습니다:
이 명시적으로 설정되지 않은 경우, 경보 제목이 중복 제거에도 사용됩니다.Python에서의 경보 제목 우선순위:동적 title() 함수의 출력이 사용됩니다.
만약
이(가) 정의되지 않은 경우, 탐지의 표시 이름 값이 사용됩니다. 이는 다음에 정의됩니다:콘솔에서:
이름
동적 필드 함수의 출력이 사용됩니다.
만약
CLI 워크플로우에서: YAML 파일의DisplayName필드콘솔에서:
ID
RuleID
동적 또는 > PolicyID > 간단 탐지 함수의 출력이 사용됩니다.
간단 탐지 YAML에서의 경보 제목 우선순위:
동적 경보 제목이 사용됩니다. 이는 다음에 정의됩니다:함수의 출력이 사용됩니다.
선택적 필드
동적 title() 함수의 출력이 사용됩니다.
간단 탐지 YAML에서의 경보 제목 우선순위:
이(가) 정의되지 않은 경우, 탐지의 표시 이름 값이 사용됩니다. 이는 다음에 정의됩니다:함수의 출력이 사용됩니다.
이름
동적 필드 함수의 출력이 사용됩니다.
간단 탐지 YAML에서의 경보 제목 우선순위:
CLI 워크플로우에서: YAML 파일의DisplayName필드함수의 출력이 사용됩니다.
기본 제목은
로 설정됩니다
다음으로 변경 1 개발자 워크플로우에서: AlertTitle 동적 경보 제목이 정의되지 않은 경우, 탐지의 표시 이름 값이 사용됩니다. 이는 다음에 정의됩니다: 경보 중복 제거 중복 제거 기간 내에 동일한 탐지를 트리거하고 동일한 중복 제거 문자열을 공유하는 이벤트는 단일 경보로 그룹화됩니다. 각 규칙 및 예약 규칙에는 기본 이벤트 임계값 와 중복 제거 기간
1시간이 기본값으로 있습니다. 5 개발자 워크플로우에서: 이는 동일한 중복 제거 문자열을 가진 규칙 함수로부터 True 각 규칙 및 예약 규칙에는 기본 이벤트 임계값 를 반환하는 모든 이벤트가 최초 생성된 후 1시간 이내에 단일 경보로 그룹화된다는 것을 의미합니다. 경보 중복 제거 이벤트 임계값이
15분 인 규칙 또는 예약 규칙은 15분 기간 내에 함수가 을 반환한 동일한 중복 제거 문자열을 가진 다섯 개 이상의 이벤트가 들어오기 전까지 경보를 트리거하지 않습니다. 중복 제거 임계값이 1보다 큰 경우(즉, 경보가 생성되기 전에 여러 이벤트가 일치해야 하는 경우), 첫 번째 일치한 이벤트가 Python 탐지의.
경보 함수
와 간단 탐지의
경보 키 에 대한 event 매개변수로 사용됩니다. 중복 제거 기간 중복 제거 기간을 설정할 때 다음 제약이 적용됩니다:.
Panther 콘솔의 탐지 편집기에서 작업할 때 최소값은 15분최대값은
24시간입니다.5대량 업로더 또는
Panther 분석 도구(PAT) 를 통해 탐지를 업로드할 때, DedupPeriodMinutes 필드의 최소값은.
이며 최대값은 없습니다.
중복 제거 기간은 경보의 상태 변경에 의해 영향을 받지 않습니다. 예를 들어, 경보의 상태가
해결(Resolved)
중복 제거 문자열
로 변경되더라도 이벤트는 중복 제거 기간 동안 동일한 경보로 계속 그룹화됩니다.경보 제목 설정 방식경보 제목 설정 우선순위는 다음과 같습니다:
로 변경되더라도 이벤트는 중복 제거 기간 동안 동일한 경보로 계속 그룹화됩니다.중복 제거 문자열 설정 방식 중복 제거 문자열을 설정하는 우선순위는 다음과 같습니다:.
Python에서의 중복 제거 문자열 우선순위:
dedup()
가 정의되지 않은 경우, 경보 제목이 사용됩니다. 경보 제목은여기 정의된 우선순위경보 제목 설정 우선순위는 다음과 같습니다:
가 정의되지 않은 경우, 경보 제목이 사용됩니다. 경보 제목은에 의해 정의됩니다. 중복 제거 문자열을 설정하는 우선순위는 다음과 같습니다:.
간단 탐지 YAML에서의 중복 제거 문자열 우선순위:
GroupBy
이 명시적으로 설정되지 않은 경우, 경보 제목이 중복 제거에도 사용됩니다.DisplayName동적 경보 제목이 사용됩니다. 이는 다음에 정의됩니다:키의 값이 사용됩니다.가 존재하지 않으면 경보 제목이 사용됩니다. 경보 제목은 첫 번째 어떤 방법을 사용하여 중복 제거 문자열을 설정할지는 경보를 얼마나 세분화하여 그룹화하고 싶은지에 따라 다릅니다:
이 명시적으로 설정되지 않은 경우, 경보 제목이 중복 제거에도 사용됩니다.DisplayName동적 경보 제목이 사용됩니다. 이는 다음에 정의됩니다:특정 탐지로 생성된 경보를 동일한 탐지로 트리거된 경보 중 하나 이상의 이벤트 필드가 다른 경우와 별도로 그룹화하려면,이 명시적으로 설정되지 않은 경우, 경보 제목이 중복 제거에도 사용됩니다.DisplayName동적 경보 제목이 사용됩니다. 이는 다음에 정의됩니다:(각각 Python 및 간단 탐지에 대해)를 사용하여 동적으로 경보 제목을 설정하고 따라서 중복 제거 문자열을 설정할 수 있습니다.로 변경되더라도 이벤트는 중복 제거 기간 동안 동일한 경보로 계속 그룹화됩니다.DisplayName가 정의되지 않은 경우, 경보 제목이 사용됩니다. 경보 제목은특정 탐지로 생성된 경보를 하나 이상의 이벤트 필드 값이 다른 동일한 탐지로 생성된 경보와 명확히 구분하여 그룹화하려면
사용하지 않았던 하나 이상의 이벤트 필드를 기준으로 경보를 그룹화하려는 경우(또는 전혀
를 설정하지 않은 경우), 간단 탐지 빌더 DisplayName Python(각각 Python 및 간단 탐지에 대해)를 사용하여 중복 제거 문자열을 설정할 수 있습니다. 규칙 및 예약 규칙 작성 방법 DisplayName Python규칙은 Panther 콘솔(사용하여) 또는 로컬(에서 Python 간단 탐지 YAML
(Panther 콘솔 또는 로컬에서)로 작성할 수 있습니다. 자연어를 사용하여 규칙을 생성 및 수정하려면.
를 사용하세요. Panther AI는 탐지 코드를 생성하고 테스트 케이스를 추가하며 규칙 편집기에서 직접 탐지 논리를 설명할 수 있습니다. 로컬에서 탐지를 작성한다는 것은 자체 머신에서 Panther 탐지를 정의하는 Python 및/또는 YAML 파일을 생성하는 것을 의미합니다. 로컬에서 탐지를 작성한 후 일반적으로 DisplayName PAT 을 통해 파일을 Panther 인스턴스에 업로드합니다.
에 출력된 모든 내용은 CloudWatch에서 볼 수 있음을 유의하세요. SaaS/CPaaS 고객의 경우, Panther 직원은 일상적인 애플리케이션 모니터링 중 이러한 CloudWatch 로그를 볼 수 있습니다.
새 규칙을 작성하기 전에 귀하의 요구를 충족하는 기존의 Panther 관리 규칙.
이 있는지 확인하세요. 이미 유사한 규칙이 귀하(또는 Panther)에 의해 생성된 경우,
Panther 관리 규칙
이 지침은 실시간 규칙을 설정하는 방법을 설명합니다. 예약 규칙을 구성하려면 예약 규칙 작성 방법을 참조하세요. 규칙을 작성하는 방법을 배우려면 아래 지침을 따르세요: Python에서(콘솔 또는 CLI 워크플로우 중 어느 곳에서든)
콘솔의 간단 탐지 빌더에서
예약 검색
와 연관됩니다. 예약 검색을 아직 생성하지 않았다면 먼저
저장된 및 예약된 검색 생성 방법 지침을 따르고, 그런 다음 예약 규칙을 생성하기 위해 이 지침으로 돌아오세요. 예약 검색이 여러 행을 반환하는 경우, 각 행은 별도의 이벤트로 규칙 논리에 의해 처리됩니다. 생성되는 경보 수는 예약 규칙에 구성한 중복 제거 설정에 따라 다릅니다.
데이터베이스 최적화를 활용하고 규칙 성능을 개선하기 위해 가능한 한 많은 데이터 처리를 SQL(즉,
)에서 수행하는 것이 권장됩니다.
예약 규칙을 작성하는 방법을 배우려면 아래 지침을 따르세요: 규칙 오류 및 예약 규칙 오류 규칙 오류 및 예약 규칙 오류는 탐지 오류 의 유형이며 다음과 같은 경우 생성됩니다:
탐지의 코드가 예외를 발생시키는 경우. 예약 규칙은 연관된 규칙 또는 예약 규칙의 Python 처리가 15초를 초과하여 실행되는 경우. 만약 어떤 경보 목적지
가 규칙 오류(또는 예약 규칙 오류)를 수신하도록 구성되지 않았다면, 규칙 오류(또는 예약 규칙 오류)에 대한 경보는 해당 규칙 또는 예약 규칙의 경보에 사용될 동일한 목적지로 라우팅됩니다. 자세한 내용은
경보 목적지의 라우팅 주문 우선순위 를 참조하세요..
타임아웃이 발생한 경우, 시스템 오류 첫 번째 가 생성됩니다..
규칙 예시
규칙 및 예약 규칙 템플릿은
panther-analysis GitHub 저장소
에서 확인하세요. 탐지 작성 방법에 대한 심층 정보는.
request_body = deep_get(event, "data", "details", "request", "body", default=[-1])
- request
- path
Value: /api/v2/guardian/policies
다음 NGINX 로그를 가정합니다:
"httpReferer": "https://domain1.com/?p=1",
"httpUserAgent": "Chrome/80.0.3987.132 Safari/537.36",
"remoteAddr": "180.76.15.143",
Value: 200
- KeyPath: request Condition: ContainsValue: 'admin-panel'
AlertTitle: "Successful admin panel login detected from {remoteAddr}"
GroupBy:.- KeyPath: remoteAddr
180.76.15.143그런 다음 다음이 발생합니다:경보가 생성되어 연관된 목적지 집합으로 전송됩니다
목적지 는 기본적으로 규칙 심각도를 기반으로 합니다. 경보의 제목은 다음과 같습니다:
180.76.15.143에서 성공적인 관리자 패널 로그인 감지
동일한 중복 제거 문자열을 가진 유사한 이벤트들은 동일한 경보에 추가됩니다.
각 고유한 중복 제거 문자열에 대해 고유한 경보가 생성되며, 이 경우는 요청자의 IP입니다. (원문에 줄바꿈 포함) (unique alert generated per unique deduplication string) (이 줄은 원문 텍스트의 일부로 남겨 번역했습니다) (원문 불필요한 주석이나 메타는 그대로 두었습니다) (하지만 규칙에 따라 각 항목은 독립적으로 번역되어야 합니다) (여기서는 원문 텍스트의 추가 설명을 한국어로 유지했습니다) (참고: 실제 UI에서는 이러한 주석이 표시되지 않을 수 있습니다) (끝)
Last updated
Was this helpful?

