# Box 로그

## 개요

Panther는 감사 이벤트를 다음에서 가져올 수 있습니다. [Box Events API](https://developer.box.com/reference/get-events/) 실시간 디택션을 위해 60초마다.

Panther가 Box API에 액세스하려면 새 Box App을 만들고 해당 자격 증명을 Panther에 제공해야 합니다.

## Panther에 Box 로그를 온보딩하는 방법

### 사전 요구 사항

* 전체 엔터프라이즈 계정에서 이벤트를 읽으려면, 다음 단계를 수행하는 Box 사용자는 *반드시* 계정에 대한 [전체 관리자 권한을 가져야 합니다](https://support.box.com/hc/en-us/articles/360043694174-Understanding-Administrator-and-Co-Administrator-Permissions) (*표시되지 않지만* (공동 관리자).
* 보안 및 가용성상의 이유로 Panther 전용의 새 Box App을 만드는 것을 권장합니다. 다음 항목을 반드시 복사하세요. **리디렉션 URL** 이 페이지에서.

### 1단계: Panther에 새 Box 소스 만들기

1. Panther Console의 왼쪽 탐색 모음에서 다음을 클릭하세요. **구성** > **로그 소스**.
2. 다음을 클릭하세요. **새로 만들기.**
3. “Box”를 검색한 다음 해당 타일을 클릭합니다.
4. 슬라이드아웃 패널에서 다음을 클릭하세요. **설정 시작**.
5. 다음 화면에서 소스의 기억하기 쉬운 이름을 입력합니다. 예: `내 Box 로그`.
6. 다음을 클릭하세요. **설정**.
7. 다음 항목에서 **Credentials** 페이지에서 **복사** 리디렉션 URL을 복사하기 위한 1단계 아래에서.\
   ![On the Credentials page of the Box source setup flow, there are two steps: 1. Use the link below as the redirect URL in your App settings (there is a URL below), and 2. Fill in the credentials below (Client ID and Client Secret)](https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2Fgit-blob-463982c5b75d3f6e9d7b35caf39c9be251c573e1%2Fimage.png?alt=media)
8. **참고:** Panther 콘솔에서 설정을 계속하기 전에 Box Developer Console에서 새 앱을 만들고 Client ID와 Client Secret을 가져와야 합니다.

### 2단계: Box Developer Console에서 새 Box 앱 만들기

1. 별도의 브라우저 탭 또는 창에서 다음에 로그인합니다. [Box Developer Console](https://app.box.com/developers/console).
2. 다음을 클릭하세요. **새 앱 만들기.**\
   ![In the Box Developer Console's left sidebar, "My Apps" is highlighted. On the right, there is a red square around the "Create New App" link.](https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2Fgit-blob-035eb2ed50a03f33dcbeb81b94a3f697a267eebe%2Fbox-new-app.png?alt=media)
3. 다음을 선택합니다 **Custom App** 를 앱 유형으로 선택한 다음 **다음을 클릭합니다.**
4. 다음을 선택합니다 **User Authentication (OAuth 2.0)**&#xC5D0; 앱의 기억하기 쉬운 이름을 입력한 다음(예: `Panther`), 그다음 **앱 만들기를 클릭합니다.**\
   ![In the Box Developer Console, a popup dialog labeled "Custom App" is on the screen. There is a red square around the option "User Authentication (OAuth 2.0)".](https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2Fgit-blob-9d6a2b5eb1b6b49050dc1a18741099c307c9a24b%2Fbox-custom-app.png?alt=media)
5. 새 앱의 Configuration 탭에서 아래로 스크롤하여 **OAuth 2.0 Redirect URI** 섹션에 들어가 Panther 콘솔에서 복사한 리디렉션 URL을 붙여넣습니다.\
   ![In the Box Developer Console, the Configuration tab is selected. There is a red square around the "OAuth 2 Redirect URI" section.](https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2Fgit-blob-0778a51d2d9038f849e7ae5c5ed477dfc647e55c%2Fbox-oauth-redirect.png?alt=media)
6. 다음 항목에서 **Application Scopes** 섹션에서 다음 항목이 **Manage enterprise properties** 로 선택되어 있는지 확인합니다(기본적으로 **표시되지 않지만** 선택되어 있습니다).\
   ![In the Box Developer Console's "Application Scopes" section, the possible scopes are displayed. There boxes are checked next to "Read all files and folders stored in Box," "Read and write all files and folders stored in Box," and "Manage enterprise properties."](https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2Fgit-blob-39f606fe0055897da6ca599c1cc2138c932d811e%2Fbox-app-scopes.png?alt=media)
7. 다음을 클릭하세요. **변경 사항 저장**.

### 3단계: Panther에서 Box 온보딩 완료

1. Box Developer Console에서 Panther용으로 만든 새 앱으로 이동합니다. Configuration 탭에서 아래로 스크롤하여 **OAuth 2.0 Credentials** 섹션.\
   ![On the "Configuration" page in the Box Developer Console, there is a red square around "OAuth 2 Credentials" and the fields "Client ID" and "Client Secret"](https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2Fgit-blob-e7c0387a40bcae6dc167dde7ac0e2648d1158231%2Fbox-credentials.png?alt=media)
2. 다음을 복사합니다. **클라이언트 ID** 및 **클라이언트 시크릿** 자격 증명을 복사하여 Panther Console의 **Credentials** 페이지에 붙여넣습니다.
3. 다음을 클릭하세요. **설정**.
4. 다음을 클릭하세요. **액세스 허용**.
   * Box로 리디렉션됩니다.
5. 다음을 클릭하세요. **Box에 액세스 권한을 부여합니다.**
   * 다시 Panther로 리디렉션됩니다.
6. 에 명시된 역할과 권한이 있는 Zoom 계정에 로그인되어 있어야 한다는 점을 기억하세요

   <figure><img src="https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2Fgit-blob-e55cedf82c6a6adc66ec5c14ebdcb164c3b1dcca%2FScreenshot%202023-08-03%20at%204.33.30%20PM.png?alt=media" alt="The success screen reads, &#x22;Everything looks good! Panther will now automatically pull &#x26; process logs from your account&#x22;" width="281"><figcaption></figcaption></figure>

   * 선택적으로 하나 이상의 [디택션 팩](https://docs.panther.com/detections/panther-managed/packs).
   * 다음 **이벤트가 처리되지 않을 때 알러트 트리거** 설정 기본값은 **예**. 이 기능은 일정 시간이 지난 후 로그 소스에서 데이터 흐름이 중단되면 알림을 받을 수 있으므로 활성화된 상태로 두는 것을 권장합니다. 시간 범위는 구성 가능하며 기본값은 24시간입니다.

     <figure><img src="https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2Fgit-blob-c48119abd559990173004bde99ff4907fdd2ded2%2FScreenshot%202023-08-03%20at%204.26.54%20PM.png?alt=media" alt="The &#x22;Trigger an alert when no events are processed&#x22; toggle is set to YES. The &#x22;How long should Panther wait before it sends you an alert that no events have been processed&#x22; setting is set to 1 Day" width="320"><figcaption></figcaption></figure>

## Panther 내장 디텍션

Panther의 내장 [Box용 규칙을 ](https://github.com/panther-labs/panther-analysis/tree/master/rules/box_rules)[Github의 panther-analysis에서 확인하세요](https://github.com/panther-labs/panther-analysis/tree/master/rules/box_rules).

## 지원되는 로그 유형

### Box.Event

엔터프라이즈 전체의 이벤트를 포함합니다.

참조: [Box 문서의 사용자 및 엔터프라이즈 이벤트 목록.](https://developer.box.com/reference/get-events/)

```yaml
schema: Box.Event
parser:
    native:
        name: Box.Event
description: 엔터프라이즈 전체의 이벤트를 포함합니다
referenceURL: https://developer.box.com/reference/get-events
fields:
    - name: additional_details
      description: 이 객체는 가능할 경우 이벤트에 대한 추가 정보를 제공합니다.
      type: json
    - name: created_at
      description: 이벤트의 타임스탬프
      type: timestamp
      timeFormat: rfc3339
      isEventTime: true
    - name: created_by
      description: 이벤트로 표현된 작업을 수행한 사용자입니다.
      type: object
      fields:
        - name: id
          description: 이 객체의 고유 식별자
          type: string
        - 이름: type
          description: 객체 유형
          type: string
        - name: login
          description: 이 사용자의 기본 이메일 주소
          type: string
          indicators:
            - email
        - name: name
          description: 이 사용자의 표시 이름
          type: string
    - name: event_id
      required: true
      description: 이벤트 객체의 ID입니다. 이를 사용하여 중복 이벤트를 디텍션할 수 있습니다
      type: string
    - 이름: event_type
      required: true
      description: 이 이벤트를 트리거한 이벤트 유형
      type: string
    - 이름: type
      required: true
      description: 객체 유형(항상 'event')
      type: string
    - name: source
      required: true
      description: 이 이벤트를 트리거한 항목
      type: object
      fields:
        - name: id
          description: 이 객체의 고유 식별자
          type: string
        - 이름: type
          description: 객체 유형
          type: string
        - name: login
          description: 이 사용자의 기본 이메일 주소
          type: string
          indicators:
            - email
        - name: name
          description: 이 사용자의 표시 이름
          type: string
        - name: item_id
          description: 항목을 나타내는 고유 식별자입니다.
          type: string
        - name: item_name
          description: 항목의 이름입니다.
          type: string
        - name: item_type
          description: 이벤트가 나타내는 항목의 유형입니다. 파일 또는 폴더일 수 있습니다.
          type: string
        - name: owned_by
          description: 이 항목의 소유자 사용자입니다.
          type: object
          fields:
            - name: id
              description: 이 객체의 고유 식별자
              type: string
            - 이름: type
              description: 객체 유형
              type: string
            - name: login
              description: 이 사용자의 기본 이메일 주소
              type: string
              indicators:
                - email
            - name: name
              description: 이 사용자의 표시 이름
              type: string
        - name: parent
          description: 이 폴더가 포함된 상위 폴더(선택 사항)입니다.
          type: object
          fields:
            - name: etag
              description: 이 폴더의 HTTP etag입니다.
              type: string
            - name: id
              description: 폴더를 나타내는 고유 식별자입니다.
              type: string
            - 이름: type
              required: true
              description: 객체 유형(항상 'folder')
              type: string
            - name: name
              description: 폴더의 이름
              type: string
            - name: sequence_id
              description: 이 항목에 적용된 가장 최근 사용자 이벤트를 나타내는 숫자 식별자입니다.
              type: string
        - name: api_key
          description: 이 작업에 사용된 API 키
          type: string
    - name: session_id
      description: 이 이벤트를 트리거한 이벤트 유형
      type: string
    - name: ip_address
      description: 요청이 발생한 IP 주소입니다.
      type: string
      indicators:
        - ip
```
