> For the complete documentation index, see [llms.txt](https://docs.panther.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.panther.com/ko/detections/rules.md).

# 룰 및 예약 룰

## 개요

룰과 예약된 룰은 로그 데이터가 실행되어 의심스러운 활동을 디택션하고 생성하는 로직의 세그먼트입니다 [신호](/ko/detections/signals.md) (그리고 선택적으로 [알러트](/ko/alerts.md)). 룰은 실시간 이벤트를 분석하는 반면, 예약된 룰은 데이터 레이크에서 조회한 이벤트를 분석합니다. 이러한 디택션 유형은 다음과 다릅니다 [정책](/ko/detections/policies.md), 이는 클라우드 리소스 구성에 적용됩니다.

Panther는 다음과 같은 여러 가지를 제공합니다 [Panther에서 관리하는 룰과 예약된 룰](/ko/detections/panther-managed.md) Python으로 작성되어 있으며 이미 작성되어 지속적으로 업데이트됩니다. 사용자 지정 룰은 콘솔에서 다음을 사용해 생성할 수 있습니다 [Simple 디택션 빌더](/ko/detections/rules/simple-detection-builder.md) 또는 다음을 작성하여 [Python](/ko/detections/rules/python.md); CLI 워크플로에서는 룰을 작성할 수 있습니다 [Simple 디택션(YAML)으로](/ko/detections/rules/writing-simple-detections.md) 또는 다음에서 [Python](/ko/detections/rules/python.md). 예약된 룰은 다음에서 작성할 수 있습니다 [Python](/ko/detections/rules/python.md) (콘솔 또는 CLI 워크플로에서).

{% hint style="info" %}
다음을 사용하세요 [AI 디택션 빌더](/ko/detections/rules/ai-builder.md) 자연어로부터 디택션 코드를 생성하기 위해.
{% endhint %}

적어도 단독으로는 알러트를 생성할 가치가 없는 작업에 대한 룰 또는 예약된 룰을 만들고 싶다면, 다음을 할 수 있습니다 [알러트를 생성하지 않도록 구성할 수 있습니다](/ko/detections/signals.md#how-to-create-a-rule-that-only-produces-signals) (알러트를 생성하는 것만 [신호](/ko/detections/signals.md)). 그런 다음 해당 룰을 다음에 포함하고 싶을 수 있습니다 [상관 룰](/ko/detections/correlation-rules.md).

룰은 다음을 사용할 수 있습니다 [파생](/ko/detections/rules/derived.md), 이를 통해 하나의 Base 디택션에서 하나 이상의 Derived 디택션을 생성할 수 있습니다. 또한 다음을 수행할 수도 있습니다 [Sigma 룰을 Panther 룰로 변환](/ko/panther/converting-sigma-rules.md).

룰의 일반적인 예로는 다음을 위해 로그를 분석하는 것이 있습니다:

* 알 수 없거나 예상치 못한 위치에서의 인증
* SaaS 서비스에 대한 관리 변경과 같은 민감한 API 호출
* 데이터베이스나 가상 머신과 같은 민감한 데이터 소스에 대한 네트워크 트래픽 액세스

### 룰 vs. 예약된 룰

룰과 예약된 룰 모두 로그 이벤트가 실행되는 로직을 정의하지만, 룰은 실시간 이벤트를 분석하는 반면 예약된 룰은 데이터 레이크에서 조회한 이벤트를 분석합니다.

* **룰**
  * 룰은 Panther로 전송된 데이터를 분석하는 기본 메커니즘입니다. 룰은 다음 중 하나 이상의 정의된 로그 유형 집합을 수락하여 작동합니다 [지원되는 로그 소스](/ko/data-onboarding/supported-logs.md), 또는 자체 [사용자 지정 데이터](/ko/data-onboarding/custom-log-types.md). 룰은 낮은 지연 시간의 디택션과 알러트 생성이라는 장점이 있습니다.
  * 사용 사례: 다른 데이터와의 조인이 필요 없는 고신호 로그.
  * 룰은 스트리밍 룰, 실시간 룰, 저지연 룰이라고도 합니다.
* **예약된 룰**
  * 예약된 룰은 연결된 [예약된 검색](/ko/search/scheduled-searches.md).
  * 사용 사례: 더 과거의 시간 창을 검색하거나, 데이터에 대해 통계 분석을 수행하거나, 별도의 데이터 스트림을 조인하는 경우.

### Python 사용 vs. Simple 디택션 YAML

로컬에서 룰을 작성하는 경우, CLI 워크플로우에서 Python 또는 Simple 디택션으로 생성할 수 있습니다. (스케줄된 룰은 Python으로만 작성할 수 있습니다.) 아래에 두 가지 룰 작성 방법의 장점이 설명되어 있습니다.

* [Python으로 룰 작성](/ko/detections/rules/python.md) 다음과 같은 경우:
  * 로직의 복잡성이 매우 높거나, 디택션에 현재 다음으로 나열된 기능 중 하나가 필요한 경우 [Simple 디택션 YAML의 제한 사항](/ko/detections/rules/writing-simple-detections.md#limitations-of-simple-detections-yaml).
* [Simple 디택션으로 룰 작성](/ko/detections/rules/writing-simple-detections.md) 다음과 같은 경우:
  * 기술 수준이 서로 다른 팀원들 간의 협업을 촉진하고 싶습니다. CLI 워크플로우에서 작성된 Simple 디택션을 Panther에 업로드하면, Console의 [Simple 디택션 빌더](/ko/detections/rules/simple-detection-builder.md)그런 다음 Simple 디택션 builder를 사용하여 Console에서 디택션을 편집하거나(또는 새로 생성)할 수 있습니다.

Python과 YAML로 작성된 동일한 디택션 로직의 예시는 다음을 참조하세요 [아래의 룰 예제](#rule-examples).

## 룰과 예약된 룰이 작동하는 방식

룰과 예약된 룰은 모두 한 번에 하나의 이벤트를 분석합니다. 이들은 이벤트 임계값과 중복 제거를 사용해 시간 창 내에서 이벤트 그룹화를 만듭니다.

최소한, 각 룰과 예약된 룰은 룰 로직을 정의해야 합니다. For [Python 디택션](/ko/detections/rules/python.md), 이는 각각 다음을 포함해야 함을 의미합니다. `룰()` 함수; for [CLI 워크플로에서 작성된 단순 디택션](/ko/detections/rules/writing-simple-detections.md), 각각 다음을 포함해야 합니다. `디택션` 적어도 하나의 키 [일치 표현식](/ko/detections/rules/writing-simple-detections/match-expression.md).

Python 규칙은 또한 정의할 수 있습니다 [동적 알러트 함수](/ko/detections/rules/python.md#alert-functions-in-python-detections), 그리고 Simple 디택션은 사용할 수 있습니다 [동적 알러트 키](/ko/detections/rules/writing-simple-detections.md#dynamic-alert-keys-in-simple-detections). 둘 다 사용할 수 있습니다 [인라인 필터](/ko/detections/rules/inline-filters.md), 이는 디택션 로직 전에 실행됩니다.

{% hint style="warning" %}
규칙은 15초보다 더 오래 실행될 수 없습니다. 이 경우, 하나의 [룰 오류](#rule-errors-and-scheduled-rule-errors) 생성되고 처리가 종료됩니다. (이 제약은 예약된 룰에는 적용되지 않습니다.)
{% endhint %}

룰과 예약된 룰의 일치는 생성합니다 [신호](/ko/detections/signals.md). 룰과 예약된 룰에서 알러트 생성이 활성화되어 있으면, 이벤트 임계값 및 중복 제거 설정에 따라 룰 일치가 생성되며, 이를 통해 알러트를 만들 수 있습니다. [여기에서 신호, 룰 일치, 알러트의 차이에 대해 자세히 알아보세요](https://docs.panther.com/ko/detections/pages/28a2f0a91092222209c65334fa10beb60037d689#signals-vs.-rule-matches-vs.-alerts).

### 관련 알러트의 제목

디택션에서 알러트 생성이 활성화되어 있으면, 생성되는 알러트의 제목은 해당 디택션의 구성에 따라 결정됩니다. 별도의 [중복 제거 문자열](#deduplication-of-alerts) 명시적으로 설정되지 않으면, 알러트 제목은 알러트를 중복 제거하는 데에도 사용됩니다.

#### 알러트 제목이 설정되는 방식

알러트 제목을 설정하는 우선순위는 다음과 같습니다:

{% tabs %}
{% tab title="Python" %}
**Python에서 알러트 제목 우선순위:**

1. 동적의 출력 [`title()`](/ko/detections/rules/python.md#title) 함수가 사용됩니다.
2. 만약 `title()` 정의되어 있지 않으면, 디택션의 표시 이름 값이 사용됩니다. 이는 다음과 같이 정의됩니다:
   * Console에서: 다음의 **이름** 필드
   * CLI 워크플로우에서: `표시 이름` YAML 파일의 필드
3. 정의된 표시 이름이 없으면 디택션의 ID가 사용됩니다. 이는 다음과 같이 정의됩니다:
   * Console에서: 다음의 **ID** 필드
   * CLI 워크플로우에서:`룰ID` 또는 `정책ID` YAML 파일의 필드
     {% endtab %}

{% tab title="Simple 디택션" %}
**Simple 디택션 YAML에서 알러트 제목 우선순위:**

1. 동적 알러트 제목이 사용됩니다. 이는 다음과 같이 정의됩니다:
   * Console에서: 다음의 **선택 필드** > **기본 제목은** > **다음으로 변경** 필드
   * 개발자 워크플로우에서: [`알러트 제목`](/ko/detections/rules/writing-simple-detections.md#alerttitle) 필드
2. 동적 알러트 제목이 정의되지 않으면 디택션의 표시 이름 값이 사용됩니다. 이는 다음과 같이 정의됩니다:
   * Console에서: 다음의 **이름** 필드
   * 개발자 워크플로우에서: `표시 이름` 필드
3. 정의된 표시 이름이 없으면 디택션의 ID가 사용됩니다. 이는 다음과 같이 정의됩니다:
   * Console에서: 다음의 **ID** 필드
   * 개발자 워크플로우에서:`룰ID` 또는 `정책ID` 필드
     {% endtab %}
     {% endtabs %}

### 알러트 중복 제거

같은 디택션을 트리거하는 이벤트들 중 해당 중복 제거 기간 내에 있으면서 중복 제거 문자열도 공유하는 이벤트는 하나의 알러트로 묶입니다.

각 룰과 예약 룰의 기본 이벤트 임계값은 `1` 그리고 중복 제거 기간은 `1시간.` 이는 다음을 반환하는 모든 이벤트가 `True` 의 `룰` 함수(동일한 중복 제거 문자열을 가진)는 처음 생성된 후 1시간 이내에 하나의 알러트로 묶입니다.

이벤트 임계값이 다음인 룰 또는 예약 룰은 `5` 그리고 중복 제거 기간은 `15분` 동일한 중복 제거 문자열을 가진 이벤트가 5개 이상 다음에 전달되기 전까지는 알러트를 트리거하지 않습니다 `룰` 함수가 반환한 `True` 15분 시간 동안.

중복 제거 임계값이 1보다 크면(즉, 알러트가 생성되기 전에 여러 이벤트가 일치해야 하면), *첫 번째* 일치하는 이벤트가 이벤트 매개변수로 사용되어 [Python 디택션의 알러트 함수](/ko/detections/rules/python.md#alert-functions-in-python-detections) 및 [Simple 디택션의 알러트 키](/ko/detections/rules/writing-simple-detections.md#dynamic-alert-keys-in-simple-detections).

#### 고유 값 임계값 설정

Python 룰의 경우, 다음을 정의하여 고유 값 임계값 디택션을 활성화할 수 있습니다: `unique()` 함수입니다. 이를 통해 룰은 총 이벤트 수가 아니라 고유 값 개수를 기준으로 알러트를 발생시킬 수 있습니다. 예를 들어, 총 로그인 시도 5회 후가 아니라 고유 IP 주소 5개 이상이 로그인하려고 할 때 알러트를 발생시킬 수 있습니다.

다음이 있을 때: `unique()` 함수가 존재하면:

* 임계값은 다음이 반환한 고유 값의 추정 개수에 적용됩니다: `unique()`.
* 이벤트는 여전히 중복 제거 문자열을 기준으로 정상적으로 중복 제거됩니다.
* 고유 개수는 각 중복 제거 기간이 끝날 때 재설정됩니다.

다음을 참조하세요: [고유 값 임계값 디택션](/ko/detections/rules/python.md#unique-value-threshold-detection) 자세한 예시와 사용법은

#### 중복 제거 기간

중복 제거 기간을 설정할 때는 다음 제약이 적용됩니다:

* Panther Console의 디택션 편집기에서 작업할 때 최소 **15분** 및 최대 **24시간**.
* 벌크 업로더 또는 다음을 통해 디택션을 업로드할 때 [Panther Analysis Tool (PAT)](/ko/panther/detections-repo/pat.md), `DedupPeriodMinutes` 필드의 최소값은 `5` 이며 최대값은 없습니다.

중복 제거 기간은 알러트의 상태를 변경해도 영향을 받지 않습니다. 즉, 예를 들어 이벤트는 중복 제거 기간 동안 계속해서 같은 알러트로 그룹화됩니다 *심지어* 알러트의 상태가 다음으로 변경되더라도 `Resolved`.

#### 중복 제거 문자열이 설정되는 방식

중복 제거 문자열을 설정하는 우선순위는 다음과 같습니다:

{% tabs %}
{% tab title="Python" %}
**Python에서의 중복 제거 문자열 우선순위:**

1. 동적의 출력 [`dedup()`](/ko/detections/rules/python.md#dedup) 함수가 사용됩니다.
2. 만약 `dedup()` 가 정의되지 않은 경우 알러트 제목이 사용됩니다. 알러트 제목은 다음에 의해 정의됩니다 [여기에서 정의된 우선순위 순서](#alert-title-precedence-in-python).
   {% endtab %}

{% tab title="Simple 디택션" %}
**Simple 디택션 YAML에서의 중복 제거 문자열 우선순위:**

1. 다음 값이 [`GroupBy`](/ko/detections/rules/writing-simple-detections.md#groupby) 키로 사용됩니다.
2. 만약 `GroupBy` 가 존재하지 않으면 알러트 제목이 사용됩니다. 알러트 제목은 다음에 의해 정의됩니다 [여기에서 정의된 우선순위 순서](#alert-title-precedence-in-simple-detections-yaml).
   {% endtab %}
   {% endtabs %}

중복 제거 문자열을 설정하는 데 어떤 방법을 사용할지는 알러트를 얼마나 세분화하여 그룹화하고 싶은지에 따라 달라집니다:

* 특정 디택션에서 생성된 알러트를, 하나 이상의 이벤트 필드 값이 다른 동일한 디택션에서 생성된 알러트와 별도로 그룹화하고 싶다면 [`title()`](/ko/detections/rules/python.md#title) 또는 [`알러트 제목`](/ko/detections/rules/writing-simple-detections.md#alerttitle) (Python과 Simple Detections에서는 각각) 알러트 제목을 동적으로 설정하고, 따라서 중복 제거 문자열도 설정할 수 있습니다.
* 특정 디택션에서 생성된 알러트를, 하나 이상의 이벤트 필드 값이 다른 동일한 디택션에서 생성된 알러트와 뚜렷하게 구분하여 그룹화하고 싶다면 *및* 중복 제거 문자열에서 사용되지 않은 하나 이상의 이벤트 필드를 기준으로 알러트를 그룹화하고 싶다면 `title()` 또는 `알러트 제목` (또는 아예 설정하지 않았다면 `title()` 또는 `알러트 제목` 전혀), 다음을 사용할 수 있습니다 [`dedup()`](/ko/detections/rules/python.md#dedup) 또는 [`GroupBy`](/ko/detections/rules/writing-simple-detections.md#groupby) (Python과 Simple Detections에서는 각각) 중복 제거 문자열을 설정할 수 있습니다.

## 룰과 예약된 룰을 작성하는 방법

Panther Console에서 룰을 작성할 수 있습니다(다음을 사용하여 [Simple 디택션 빌더](/ko/detections/rules/simple-detection-builder.md) 또는 [Python](/ko/detections/rules/python.md)) 또는 로컬에서( [Simple 디택션 YAML](/ko/detections/rules/writing-simple-detections.md) 또는 [Python](/ko/detections/rules/python.md)); 예약된 룰은 [Python](/ko/detections/rules/python.md) (Panther Console 또는 로컬에서) 작성할 수 있습니다.

{% hint style="info" %}
다음을 사용하세요 [AI 디택션 빌더](/ko/detections/rules/ai-builder.md) 자연어를 사용하여 룰을 생성하고 수정할 수 있습니다. Panther AI는 디택션 코드를 생성하고, 테스트 케이스를 추가하며, 룰 편집기에서 디택션 로직을 직접 설명할 수 있습니다.
{% endhint %}

로컬에서 디택션을 작성한다는 것은, 자신의 컴퓨터에서 Panther 디택션을 정의하는 Python 및/또는 YAML 파일을 만드는 것을 의미합니다. 로컬에서 디택션을 작성한 후에는 일반적으로 다음을 통해 파일을 Panther 인스턴스에 업로드합니다 [PAT](/ko/panther/detections-repo/pat.md).

다음에 출력되는 모든 내용에 유의하세요 `stdout` 또는 `stderr` 는 Python 코드에 의해 CloudWatch에 표시됩니다. SaaS/CPaaS 고객의 경우, Panther 직원은 정기적인 애플리케이션 모니터링 중에 이러한 CloudWatch 로그를 볼 수 있습니다.

{% hint style="info" %}
새로운 룰을 작성하기 전에, 기존의 [Panther가 관리하는 룰](/ko/detections/panther-managed.md) 귀하의 요구를 충족합니다. 이미 (귀하 또는 Panther가) 만들고자 하는 것과 비슷한 룰을 생성했다면, 만드는 것을 고려하세요 [파생 디택션](/ko/detections/rules/derived.md).
{% endhint %}

### 룰 작성 방법

이 지침은 실시간 룰을 설정하는 방법을 설명합니다. 예약된 룰을 구성하려면 다음을 참조하세요 [예약된 룰 작성 방법](#how-to-write-scheduled-rules).

룰을 작성하는 방법을 익히려면 아래 지침을 따르세요:

* [Python에서(콘솔 또는 CLI 워크플로 중 하나에서)](/ko/detections/rules/python.md#how-to-create-a-rule-in-python)
* [콘솔의 Simple 디택션 빌더에서](/ko/detections/rules/simple-detection-builder.md#how-to-create-a-rule-in-the-simple-detection-builder)
* [CLI 워크플로에서 Simple 디택션으로](/ko/detections/rules/writing-simple-detections.md#how-to-create-a-simple-detection-rule-in-yaml)

### 예약된 룰 작성 방법

예약된 룰은 하나 이상의 [예약 검색](/ko/search/scheduled-searches.md). 아직 예약 검색을 만들지 않았다면, 다음 [저장 및 예약 검색을 만드는 방법](/ko/search/scheduled-searches.md#how-to-create-a-scheduled-search) 지침을 먼저 따르세요. 그런 다음 이 지침으로 돌아와 예약된 룰을 생성하세요.

예약 검색이 여러 행을 반환하면 각 행은 룰 로직에 의해 별도의 이벤트로 처리됩니다. 트리거되는 알러트 수는 예약된 룰에 구성한 중복 제거 설정에 따라 달라집니다.

{% hint style="info" %}
가능한 한 많은 데이터 처리를 SQL(즉, 그 안의 [예약된 검색](/ko/search/scheduled-searches.md))
{% endhint %}

예약된 룰을 작성하는 방법을 익히려면 아래 지침을 따르세요:

* [Python에서(콘솔 또는 CLI 워크플로 중 하나에서)](/ko/detections/rules/python.md#how-to-create-a-scheduled-rule-in-python)

## 룰 오류와 예약된 룰 오류

룰 오류와 예약된 룰 오류는 다음과 같은 [디택션 오류](/ko/alerts.md) 다음과 같은 경우 생성됩니다:

* 디택션의 코드가 예외를 발생시킵니다.
* 룰 또는 예약된 룰에 대한 Python 처리가 15초를 초과합니다.

만약 [알러트 대상](/ko/alerts/destinations.md) 룰 오류(또는 예약된 룰 오류)를 수신하도록 구성된 알러트 대상이 없으면, 룰 오류(또는 예약된 룰 오류)에 대한 알러트는 해당 룰 또는 예약된 룰의 알러트에 사용될 대상과 동일한 대상으로 라우팅됩니다. 다음을 참조하세요 [알러트 대상의 라우팅 순서 우선순위](/ko/alerts/destinations.md#routing-order-precedence) 자세한 내용은

다음의 경우 [예약된 검색](/ko/search/scheduled-searches.md) 타임아웃이 발생하면 [시스템 오류](/ko/system-configuration/notifications/system-errors.md) 가 생성됩니다.

## 룰 예시

다음에서 룰 및 예약된 룰 템플릿을 참조하세요 [panther-analysis GitHub 저장소](https://github.com/panther-labs/panther-analysis/tree/master/templates).

디택션 작성 방법에 대한 자세한 정보는 다음을 참조하세요 [Python 디택션 작성](/ko/detections/rules/python.md) 및 [Simple 디택션 작성](/ko/detections/rules/writing-simple-detections.md).

### Auth0 다중 인증 정책 비활성화

하나의 디택션이 Python과 Simple 디택션에서 각각 어떻게 표현되는지 확인하세요:

{% tabs %}
{% tab title="Python" %}
**Python의 Auth0 다중 인증 정책 비활성화 디택션**

이 디택션 전체 보기 [GitHub의 panther-analysis 저장소에서](https://github.com/panther-labs/panther-analysis/blob/13e49e6589b1160928ec85678884da0e72e986f3/rules/auth0_rules/auth0_mfa_policy_disabled.py).

```python
from panther_auth0_helpers import auth0_알러트_context, is_auth0_config_event
from panther_base_helpers import deep_get


def 룰(event):
    data_description = deep_get(event, "data", "description", default="<NO_DATA_DESCRIPTION_FOUND>")
    request_path = deep_get(
        event, "data", "details", "request", "path", default="<NO_REQUEST_PATH_FOUND>"
    )
    request_body = deep_get(event, "data", "details", "request", "body", default=[-1])
    return all(
        [
            data_description == "다중 인증 정책 설정",
            request_path == "/api/v2/guardian/policies",
            request_body == [],
            is_auth0_config_event(event),
        ]
    )
```

{% endtab %}

{% tab title="Simple 디택션" %}
**Simple 디택션 YAML의 Auth0 다중 인증 정책 비활성화 디택션**

```yaml
디택션:
  - DeepKey:
      - data
      - description
    조건: 같음
    값: 다중 인증 정책 설정
  - DeepKey:
      - data
      - details
      - request
      - path
    조건: 같음
    값: /api/v2/guardian/policies
  - DeepKey:
      - data
      - details
      - request
      - body
    조건: 비어 있음
  - DeepKey:
      - data
      - details
      - request
      - channel
    조건: 같음
    값: 'https://manage.auth0.com/'
```

{% endtab %}
{% endtabs %}

### 웹 서버에서 관리자 패널이 액세스될 때 디택션하고 알러트하세요

예를 들어, 웹 서버에서 관리자 패널이 액세스될 때 알러트를 전송하는 룰을 작성해 보겠습니다.

다음 NGINX 로그를 보세요:

```javascript
{
  "httpReferer": "https://domain1.com/?p=1",
  "httpUserAgent": "Chrome/80.0.3987.132 Safari/537.36",
  "remoteAddr": "180.76.15.143",
  "request": "GET /admin-panel/ HTTP/1.1",
  "status": 200,
  "time": "2019-02-06 00:00:38 +0000 UTC"
}
```

다음 조건을 만족하는 디택션을 만들고자 합니다:

* "admin-panel"을 포함하는 모든 URL에 대한 200(OK) 웹 요청을 찾습니다
* 특정 IP 주소에서 성공적인 관리자 패널 로그인이 있었다는 내용을 담은 알러트 제목을 생성합니다
* IP 주소를 기준으로 이벤트를 중복 제거합니다

{% tabs %}
{% tab title="Python" %}

```python
def 룰(event):
  return event.get('status') == 200 and 'admin-panel' in event.get('request')

    
def title(event):
  return f"{event.get('remoteAddr')}에서 성공적인 관리자 패널 로그인이 감지되었습니다"


def dedup(event):
  return event.get('remoteAddr')
```

{% endtab %}

{% tab title="Simple 디택션" %}

```yaml
디택션:
  - 키 경로: status
    조건: 같음
    값: 200
  - 키 경로: request
    포함
    값: 'admin-panel'

알러트 제목: "{remoteAddr}에서 성공적인 관리자 패널 로그인이 감지되었습니다"

그룹 기준:
  - 키 경로: remoteAddr
```

{% endtab %}
{% endtabs %}

그러면 다음이 발생합니다:

1. 연결된 대상 집합으로 알러트가 생성되어 전송됩니다 [대상](/ko/alerts/destinations.md), 기본적으로 룰 심각도에 기반합니다.
2. 알러트의 제목은 다음과 같습니다: `180.76.15.143에서 관리자 패널 로그인 성공이 감지됨`.
3. 같은 중복 제거 문자열을 가진 유사한 이벤트 `180.76.15.143` 는 동일한 알러트에 추가됩니다.
   * 각 고유 중복 제거 문자열마다 고유한 알러트가 생성되며, 이 경우에는 요청자의 IP입니다.
4. 그런 다음 알러트 수신자는 Panther에 로그인하여 모든 알러트 메타데이터와 이벤트 요약을 확인하고, 또한 실행할 수 있습니다 [검색](/ko/search.md) 추가 분석을 위해 모든 이벤트를 검색합니다.

## 참조

### 알러트 심각도

알러트 심각도 수준을 정의할 때는 다음 지침을 따를 것을 권장합니다:

<table data-header-hidden><thead><tr><th width="133.26171875">심각도</th><th width="128.59765625">악용 가능성</th><th width="202.296875">설명</th><th>예시</th></tr></thead><tbody><tr><td>심각도</td><td>악용 가능성</td><td>설명</td><td>예시</td></tr><tr><td><code>정보</code></td><td>없음</td><td>위험 없음, 단순 정보 제공</td><td>운영상 인식 확보</td></tr><tr><td><code>낮음</code></td><td>어려움</td><td>악용 시 위험이 거의 없거나 전혀 없음</td><td>시스템 시간 및 OS 버전과 같은 민감하지 않은 정보 유출</td></tr><tr><td><code>보통</code></td><td>어려움</td><td>악용 시 중간 수준의 위험</td><td>만료된 자격 증명, 실수로 인한 데이터 손실에 대한 보호 미흡, 암호화 설정, 감사 도구의 모범 사례 설정</td></tr><tr><td><code>높음</code></td><td>보통</td><td>악용 시 매우 큰 피해를 초래함</td><td>가시성의 큰 공백, 직접 취약한 인프라, 데이터 노출과 직접 관련된 잘못된 구성</td></tr><tr><td><code>치명적</code></td><td>쉬움</td><td>악용 시 극심한 피해를 초래함</td><td>공개 데이터/시스템 이용 가능, 유출된 액세스 키</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.panther.com/ko/detections/rules.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
