Cloud Functions로 배포된 수집 스크립트 사용

Chronicle은 Cloud Functions로 배포할 수 있도록 Python으로 작성된 수집 스크립트 세트를 제공합니다. 이러한 스크립트를 사용하면 다음과 같은 로그 소스에서 이름 및 로그 유형별로 나열된 데이터를 수집할 수 있습니다.

  • Armis Chronicle Integration
  • Aruba Central (ARUBA_CENTRAL)
  • Azure Event Hub (configurable log type)
  • Box (BOX)
  • Citrix Cloud audit logs (CITRIX_MONITOR)
  • Citrix session metadata (CITRIX_SESSION_METADATA)
  • Cloud Storage (configurable log type)
  • Duo Admin (DUO_ADMIN)
  • MISP (MISP_IOC)
  • OneLogin (ONELOGIN_SSO)
  • OneLogin user context (ONELOGIN_USER_CONTEXT)
  • Proofpoint (configurable log type)
  • Pub/Sub (configurable log type)
  • Slack audit logs (SLACK_AUDIT)
  • STIX/TAXII threat intelligence (STIX)
  • Tenable.io (TENABLE_IO)
  • Trend Micro Cloud App Security (configurable log type)
  • Trend Micro Vision One audit logs (TREND_MICRO_VISION_AUDIT)

이러한 스크립트는 Chronicle GitHub 저장소에 있습니다.

알려진 제한사항: 이러한 스크립트가 Cloud Functions와 같은 스테이트리스(Stateless) 환경에 사용되는 경우 체크포인트 기능이 없기 때문에 모든 로그를 Chronicle로 전송하지 못할 수 있습니다. Chronicle은 Python 3.9 런타임으로 스크립트를 테스트했습니다.

시작하기 전에

Chronicle 수집 스크립트를 효과적으로 사용하는 데 도움이 되는 컨텍스트 및 배경 정보를 제공하는 다음 리소스를 읽어보세요.

단일 로그 유형의 파일 조합

Chronicle GitHub의 각 하위 디렉터리에는 단일 Chronicle 로그 유형의 데이터를 수집하는 파일이 포함됩니다. 스크립트는 단일 소스 기기에 연결한 후 Ingestion API를 사용하여 Chronicle로 원시 로그를 보냅니다. 각 로그 유형을 별도의 Cloud 함수로 배포하는 것이 좋습니다. Chronicle GitHub 저장소의 스크립트에 액세스합니다. GitHub의 각 하위 디렉터리에는 수집하는 로그 유형과 관련된 다음 파일이 포함됩니다.

  • main.py는 로그 유형과 관련된 수집 스크립트이며, 소스 기기에 연결하여 Chronicle에 데이터를 수집합니다.
  • .env.yml은 Python 스크립트에 필요한 구성을 저장하며 배포마다 다릅니다. 이 파일을 수정하여 수집 스크립트에 필요한 구성 매개변수를 설정합니다.
  • README.md는 구성 매개변수에 대한 정보를 제공합니다.
  • Requirements.txt는 수집 스크립트에 필요한 종속 항목을 정의합니다. 또한 common 폴더에는 모든 수집 스크립트가 종속된 유틸리티 함수가 포함되어 있습니다.

단일 로그 유형의 데이터를 수집하는 파일을 조합하려면 다음 단계를 수행하세요.

  1. Cloud 함수의 파일을 저장할 배포 디렉터리를 만듭니다. 여기에는 배포에 필요한 모든 파일이 포함됩니다.
  2. 선택한 로그 유형의 GitHub 하위 디렉터리(예: OneLogin 사용자 컨텍스트)에서 모든 파일을 이 배포 디렉터리에 복사합니다.
  3. common 폴더 및 모든 콘텐츠를 배포 디렉터리에 복사합니다.
  4. 디렉터리의 콘텐츠는 다음과 유사합니다.

    one_login_user
    ├─common
    │  ├─__init__.py
    │  ├─auth.py
    │  ├─env_constants.py
    │  ├─ingest.py
    │  ├─status.py
    │  └─utils.py
    ├─env.yml
    ├─main.py
    └─requirements.txt
    

스크립트 구성

  1. Cloud Shell 세션을 실행합니다.
  2. SSH를 사용해 Google Cloud Linux VM에 연결합니다. Google 도구를 사용하여 Linux VM에 연결을 참조하세요.
  3. 더보기 > 업로드 또는 다운로드를 클릭하여 수집 스크립트를 업로드하여 파일 또는 폴더를 Cloud Shell로 이동합니다.

    파일 및 폴더는 홈 디렉터리에 대해서만 업로드 및 다운로드할 수 있습니다. Cloud Shell과 로컬 워크스테이션 간에 파일을 전송하는 더 많은 옵션은 [Cloud Shell에서 파일 및 폴더 업로드 및 다운로드](/shell/docs/uploading-and-downloading-files#upload_and_download_files_and_folders)를 참조하세요.

  4. 함수의 .env.yml 파일을 수정하여 필요한 환경 변수를 채웁니다. 다음 표에는 모든 수집 스크립트에 공통된 런타임 환경 변수가 나와 있습니다.

    변수 이름 설명 필수 기본 보안 비밀
    CHRONICLE_CUSTOMER_ID Chronicle 고객 ID입니다. 없음 아니요
    CHRONICLE_REGION Chronicle 리전입니다. us
    다른 유효한 값: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, me-central2, me-west1, northamerica-northeast2
    아니요
    CHRONICLE_SERVICE_ACCOUNT Chronicle 서비스 계정 JSON 파일의 콘텐츠입니다. 없음
    CHRONICLE_NAMESPACE Chronicle 로그에 라벨이 지정된 네임스페이스입니다. Chronicle 네임스페이스에 대한 자세한 내용은 애셋 네임스페이스 작업을 참조하세요. 아니요 없음 아니요

  5. 각 스크립트에는 스크립트와 관련된 환경 변수가 필요합니다. 각 로그 유형에 필요한 환경 변수에 대한 자세한 내용은 로그 유형별 구성 매개변수를 참조하세요.

Secret = Yes로 표시된 환경 변수는 Secret Manager에서 보안 비밀로 구성해야 합니다. Secret Manager 사용 비용에 대한 자세한 내용은 Secret Manager 가격 책정을 참조하세요.

자세한 안내는 보안 비밀 만들기 및 액세스를 참조하세요.

Secret Manager에서 보안 비밀을 만든 후 보안 비밀 리소스 이름을 환경 변수의 값으로 사용합니다. 예를 들면 projects/{project_id}/secrets/{secret_id}/versions/{version_id}입니다. 여기서 {project_id}, {secret_id}, {version_id}는 환경에 따라 다릅니다.

스케줄러 또는 트리거 설정

Pub/Sub를 제외한 모든 스크립트는 소스 기기에서 주기적으로 데이터를 수집하도록 구현됩니다. 시간 경과에 따라 데이터를 가져오려면 Cloud Scheduler를 사용하여 트리거를 설정해야 합니다. Pub/Sub의 수집 스크립트는 Pub/Sub 구독을 지속적으로 모니터링합니다. 자세한 내용은 일정에 따라 서비스 실행Pub/Sub를 사용하여 Cloud 함수 트리거를 참조하세요.

Cloud 함수 배포

  1. Cloud Shell 세션을 실행합니다.
  2. SSH를 통해 Google Cloud Linux VM에 연결합니다. Google 도구를 사용하여 Linux VM에 연결을 참조하세요.
  3. 수집 스크립트를 복사한 디렉터리로 변경합니다.
  4. 다음 명령어를 실행하여 Cloud 함수를 배포합니다.

    gcloud functions deploy <FUNCTION NAME> --service-account <SERVICE_ACCOUNT_EMAIL> --entry-point main --trigger-http --runtime python39 --env-vars-file .env.yml

    <FUNCTION_NAME>을 Cloud 함수에 정의한 이름으로 바꿉니다.

    <SERVICE_ACCOUNT_EMAIL>을 Cloud 함수에서 사용할 서비스 계정의 이메일 주소로 바꿉니다.

    디렉터리를 파일 위치로 변경하지 않는 경우 --source 옵션을 사용하여 배포 스크립트의 위치를 지정해야 합니다.

    Cloud 함수를 실행하는 서비스 계정에 Cloud Functions 호출자(roles/cloudfunctions.invoker)Secret Manager 보안 비밀 접근자 (roles/secretmanager.secretAccessor) 역할이 있어야 합니다.

런타임 로그 보기

수집 스크립트는 런타임 메시지를 stdout에 출력합니다. Cloud Functions는 로그 메시지를 볼 수 있는 메커니즘을 제공합니다. 자세한 내용은 런타임 로그 보기에 대한 Cloud Functions 정보를 참조하세요.

로그 유형별 구성 매개변수

Armis Chronicle 통합

이 스크립트는 경고, 활동, 기기, 취약점과 같은 다양한 유형의 이벤트에 대해 Armis 플랫폼에서 API 호출을 사용하여 데이터를 수집합니다. 수집된 데이터는 Chronicle로 수집되고 해당 파서에 의해 파싱됩니다.

스크립트 흐름

스크립트의 흐름은 다음과 같습니다.

  1. 환경 변수를 확인합니다.

  2. Cloud Functions에 스크립트를 배포합니다.

  3. 수집 스크립트를 사용하여 데이터를 수집합니다.

  4. 수집된 데이터를 Chronicle에 수집합니다.

  5. Chronicle의 해당 파서를 통해 수집된 데이터를 파싱합니다.

스크립트를 사용하여 데이터를 Chronicle에 수집 및 처리

  1. 환경 변수를 확인합니다.

    변수 설명 필수 기본 보안 비밀
    CHRONICLE_CUSTOMER_ID Chronicle 고객 ID입니다. - 아니요
    CHRONICLE_REGION Chronicle 리전입니다. 미국
    CHRONICLE_SERVICE_ACCOUNT Chronicle 서비스 계정 JSON 파일의 콘텐츠입니다. -
    CHRONICLE_NAMESPACE Chronicle 로그에 라벨이 지정된 네임스페이스입니다. 아니요 - 아니요
    POLL_INTERVAL 함수가 추가 로그 데이터를 얻기 위해 실행하는 빈도 간격(분)입니다. 이 기간은 Cloud Scheduler 작업 간격과 동일해야 합니다. 10 아니요
    ARMIS_SERVER_URL Armis 플랫폼의 서버 URL입니다. - 아니요
    ARMIS_API_SECRET_KEY 인증에 필요한 보안 비밀 키입니다. -
    HTTPS_PROXY 프록시 서버 URL 아니요 - 아니요
    CHRONICLE_DATA_TYPE 데이터를 Chronicle로 푸시하는 Chronicle 데이터 유형입니다. - 아니요
  2. 디렉터리를 설정합니다.

    Cloud Functions 배포를 위한 새 디렉터리를 만들고 여기에 common 디렉터리와 수집 스크립트(armis)의 콘텐츠를 추가합니다.

  3. 필수 런타임 환경 변수를 설정합니다.

    .env.yml 파일에 필요한 환경 변수를 정의합니다.

  4. 보안 비밀을 사용합니다.

    보안 비밀로 표시된 환경 변수는 Secret Manager에서 보안 비밀로 구성해야 합니다. 보안 비밀을 만드는 방법에 대한 자세한 내용은 보안 비밀 만들기를 참조하세요.

    Secret Manager에서 보안 비밀을 만든 후 보안 비밀의 리소스 이름을 환경 변수의 값으로 사용합니다. 예를 들면 다음과 같습니다.

    CHRONICLE_SERVICE_ACCOUNT: projects/{project_id}/secrets/{secret_id}/versions/{version_id}

  5. 네임스페이스를 구성합니다.

    CHRONICLE_NAMESPACE 환경 변수를 설정하여 네임스페이스를 구성합니다. Chronicle 로그가 네임스페이스로 수집됩니다.

  6. Cloud Functions를 배포합니다.

    이전에 만든 디렉터리 내에서 다음 명령어를 실행하여 Cloud 함수를 배포합니다. gcloud functions deploy <FUNCTION NAME> --gen2 --entry-point main --trigger-http --runtime python39 --env-vars-file .env.yml

  7. Cloud Functions 기본 사양입니다.

    변수 기본 설명
    메모리 256MB 없음
    시간 초과 60초 없음
    리전 us-central1 없음
    최소 인스턴스 0 없음
    최대 인스턴스 100 없음

    이러한 변수를 구성하는 방법에 대한 자세한 내용은 Cloud Functions 구성을 참조하세요.

  8. 이전 데이터를 가져옵니다.

    이전 데이터를 가져오고 실시간 데이터를 계속 수집하려면 다음 안내를 따르세요.

    1. 이전 데이터를 가져와야 하는 시간(분)으로 POLL_INTERVAL 환경 변수를 구성합니다.
    2. 스케줄러를 사용하거나 Cloud Functions를 구성한 후 수동으로 Google Cloud CLI에서 명령어를 실행하여 함수를 트리거합니다.

Aruba Central

이 스크립트는 Aruba Central 플랫폼에서 감사 로그를 가져와 ARUBA_CENTRAL 로그 유형으로 Chronicle에 수집합니다. 라이브러리 사용 방법에 대한 자세한 내용은 pycentral Python SDK를 참조하세요.

.env.yml 파일에서 다음 환경 변수를 정의합니다.

변수 설명 기본 보안 비밀
CHRONICLE_CUSTOMER_ID Chronicle 인스턴스 고객 ID입니다. 없음 아니요
CHRONICLE_REGION Chronicle 인스턴스 리전입니다. us
다른 유효한 값: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, me-central2, me-west1, northamerica-northeast2
아니요
CHRONICLE_SERVICE_ACCOUNT Chronicle 서비스 계정 JSON 파일을 저장하는 Secret Manager의 보안 비밀 경로입니다. 없음
CHRONICLE_NAMESPACE Chronicle 로그에 라벨이 지정된 네임스페이스입니다. Chronicle 네임스페이스에 대한 자세한 내용은 애셋 네임스페이스 작업을 참조하세요. 없음 아니요
POLL_INTERVAL 함수가 추가 로그 데이터를 얻기 위해 실행하는 빈도 간격(분)입니다. 이 기간은 Cloud Scheduler 작업 간격과 동일해야 합니다. 10 아니요
ARUBA_CLIENT_ID Aruba Central API 게이트웨이 클라이언트 ID입니다. 없음 아니요
ARUBA_CLIENT_SECRET_SECRET_PATH Aruba Central API 게이트웨이 클라이언트 보안 비밀번호입니다. 없음
ARUBA_USERNAME Aruba Central 플랫폼의 사용자 이름입니다. 없음 아니요
ARUBA_PASSWORD_SECRET_PATH Aruba Central 플랫폼의 비밀번호입니다. 없음
ARUBA_BASE_URL Aruba Central API 게이트웨이의 기본 URL입니다. 없음 아니요
ARUBA_CUSTOMER_ID Aruba Central 플랫폼의 고객 ID입니다. 없음 아니요

Azure Event Hub

다른 수집 스크립트와 달리 이 스크립트는 Azure 함수를 사용하여 Azure Event Hub에서 이벤트를 가져옵니다. Azure 함수는 새 이벤트가 버킷에 추가될 때마다 자체적으로 트리거되고, 각 이벤트가 점진적으로 Chronicle에 수집됩니다.

Azure 함수를 배포하는 단계:

  1. 저장소에서 Azure_eventhub_API_function_app.json이라는 데이터 커넥터 파일을 다운로드합니다.
  2. Microsoft Azure 포털에 로그인합니다.
  3. 구성 섹션에서 Microsoft Sentinel > Select your workspace from the list(목록에서 작업공간 선택) > Select Data Connector(데이터 커넥터 선택)로 이동하여 다음을 수행합니다.
  4. 페이지에서 import(가져오기) 버튼을 찾아 1단계에서 다운로드한 데이터 커넥터 파일을 가져옵니다.
  5. Azure에 배포 버튼을 클릭하여 함수를 배포하고 같은 페이지에 언급된 단계를 따릅니다.
  6. 원하는 구독, 리소스 그룹, 위치를 선택하고 필요한 값을 제공합니다.
  7. Review + Create(검토 + 만들기)를 클릭합니다.
  8. Create(만들기)를 클릭하여 배포합니다.

Box

이 스크립트는 Box 내에서 발생하는 이벤트에 대한 세부정보를 가져오고 BOX 로그 유형을 사용하여 Chronicle에 수집합니다. 이 데이터는 Box 환경의 객체의 CRUD 작업에 대한 유용한 정보를 제공합니다. Box 이벤트에 대한 자세한 내용은 Box events API를 참조하세요.

.env.yml 파일에서 다음 환경 변수를 정의합니다. Box 클라이언트 ID, 클라이언트 보안 비밀번호, 주체 ID에 대한 자세한 내용은 클라이언트 사용자 인증 정보 부여를 참조하세요.

변수 이름 설명 기본값 보안 비밀
CHRONICLE_CUSTOMER_ID Chronicle 인스턴스 고객 ID입니다. 없음 아니요
POLL_INTERVAL 함수가 추가 로그 데이터를 얻기 위해 실행하는 빈도 간격(분)입니다. 이 기간은 Cloud Scheduler 작업 간격과 동일해야 합니다. 5 아니요
CHRONICLE_REGION Chronicle 인스턴스 리전입니다. us
다른 유효한 값: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, me-central2, me-west1, northamerica-northeast2
아니요
CHRONICLE_SERVICE_ACCOUNT Chronicle 서비스 계정 JSON 파일을 저장하는 Secret Manager의 보안 비밀 경로입니다. 없음
BOX_CLIENT_ID Box 개발자 콘솔에서 사용 가능한 Box 플랫폼의 클라이언트 ID입니다. 없음 아니요
BOX_CLIENT_SECRET 인증에 사용되는 Box 플랫폼의 클라이언트 보안 비밀번호를 저장하는 Secret Manager의 보안 비밀 경로입니다. 없음
BOX_SUBJECT_ID Box 사용자 ID 또는 Enterprise ID입니다. 없음 아니요
CHRONICLE_NAMESPACE Chronicle 로그에 라벨이 지정된 네임스페이스입니다. Chronicle 네임스페이스에 대한 자세한 내용은 애셋 네임스페이스 작업을 참조하세요. 없음 아니요

Citrix Cloud 감사 로그

이 스크립트는 Citrix Cloud 감사 로그를 수집하고 CITRIX_MONITOR 로그 유형으로 Chronicle에 수집합니다. 이러한 로그는 변경된 항목, 변경한 사용자, 변경된 시점 등에 대한 정보를 제공하여 Citrix Cloud 환경에서 수행된 활동을 식별하는 데 도움이 됩니다. 자세한 내용은 Citrix Cloud SystemLog API를 참조하세요.

.env.yml 파일에서 다음 환경 변수를 정의합니다. Citrix 클라이언트 ID 및 클라이언트 보안 비밀번호에 대한 자세한 내용은 Citrix API 시작하기를 참조하세요.

변수 이름 설명 기본값 보안 비밀
CHRONICLE_CUSTOMER_ID Chronicle 인스턴스 고객 ID입니다. 없음 아니요
CHRONICLE_REGION Chronicle 인스턴스 리전입니다. us
다른 유효한 값: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, me-central2, me-west1, northamerica-northeast2
아니요
CHRONICLE_SERVICE_ACCOUNT Chronicle 서비스 계정 JSON 파일을 저장하는 Secret Manager의 보안 비밀 경로입니다. 없음
CITRIX_CLIENT_ID Citrix API 클라이언트 ID입니다. 없음 아니요
CITRIX_CLIENT_SECRET 인증에 사용되는 Citrix API 클라이언트 보안 비밀번호를 저장하는 Secret Manager의 보안 비밀 경로입니다. 없음
CITRIX_CUSTOMER_ID Citrix CustomerID입니다. 없음 아니요
POLL_INTERVAL 추가 로그 데이터가 수집되는 빈도 간격(분)입니다. 이 기간은 Cloud Scheduler 작업 간격과 동일해야 합니다. 30 아니요
URL_DOMAIN Citrix Cloud Endpoint. 없음 아니요
CHRONICLE_NAMESPACE Chronicle 로그에 라벨이 지정된 네임스페이스입니다. Chronicle 네임스페이스에 대한 자세한 내용은 애셋 네임스페이스 작업을 참조하세요. 없음 아니요

Citrix 세션 메타데이터

이 스크립트는 Citrix 환경에서 Citrix 세션 메타데이터를 수집하고 CITRIX_MONITOR 로그 유형으로 Chronicle에 수집합니다. 이 데이터에는 사용자 로그인 세부정보, 세션 시간, 세션 생성 시간, 세션 종료 시간, 세션과 관련된 기타 메타데이터가 포함됩니다. 자세한 내용은 Citrix Monitor Service API를 참조하세요.

.env.yml 파일에서 다음 환경 변수를 정의합니다. Citrix 클라이언트 ID 및 클라이언트 보안 비밀번호에 대한 자세한 내용은 Citrix API 시작하기를 참조하세요.

변수 이름 설명 기본값 보안 비밀
CHRONICLE_CUSTOMER_ID Chronicle 인스턴스 고객 ID입니다. 없음 아니요
CHRONICLE_REGION Chronicle 인스턴스 리전입니다. us
다른 유효한 값: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, me-central2, me-west1, northamerica-northeast2
아니요
CHRONICLE_SERVICE_ACCOUNT Chronicle 서비스 계정 JSON 파일을 저장하는 Secret Manager의 보안 비밀 경로입니다. 없음
URL_DOMAIN Citrix URL 도메인입니다. 없음 아니요
CITRIX_CLIENT_ID Citrix 클라이언트 ID입니다. 없음 아니요
CITRIX_CLIENT_SECRET 인증에 사용되는 Citrix 클라이언트 보안 비밀번호를 저장하는 Secret Manager의 보안 비밀 경로입니다. 없음
CITRIX_CUSTOMER_ID Citrix Customer ID입니다. 없음 아니요
POLL_INTERVAL 함수가 추가 로그 데이터를 얻기 위해 실행하는 빈도 간격(분)입니다. 이 기간은 Cloud Scheduler 작업 간격과 동일해야 합니다. 30 아니요
CHRONICLE_NAMESPACE Chronicle 로그에 라벨이 지정된 네임스페이스입니다. Chronicle 네임스페이스에 대한 자세한 내용은 애셋 네임스페이스 작업을 참조하세요. 없음 아니요

Cloud Storage

이 스크립트는 Cloud Storage에서 시스템 로그를 가져와 로그 유형에 대해 구성 가능한 값을 사용하여 Chronicle에 수집합니다. 자세한 내용은 Google Cloud Python 클라이언트 라이브러리를 참조하세요.

.env.yml 파일에서 다음 환경 변수를 정의합니다. Google Cloud에는 일부 로그 유형을 Chronicle로 직접 내보낼 수 없는 보안 관련 로그가 있습니다. 자세한 내용은 보안 로그 분석을 참조하세요.

변수 설명 기본 보안 비밀
CHRONICLE_CUSTOMER_ID Chronicle 인스턴스 고객 ID입니다. 없음 아니요
CHRONICLE_REGION Chronicle 인스턴스 리전입니다. us
다른 유효한 값: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, me-central2, me-west1, northamerica-northeast2
아니요
CHRONICLE_SERVICE_ACCOUNT Chronicle 서비스 계정 JSON 파일을 저장하는 Secret Manager의 보안 비밀 경로입니다. 없음
CHRONICLE_NAMESPACE Chronicle 로그에 라벨이 지정된 네임스페이스입니다. Chronicle 네임스페이스에 대한 자세한 내용은 애셋 네임스페이스 작업을 참조하세요. 없음 아니요
POLL_INTERVAL 함수가 추가 로그 데이터를 얻기 위해 실행하는 빈도 간격(분)입니다. 이 기간은 Cloud Scheduler 작업 간격과 동일해야 합니다. 60 아니요
GCS_BUCKET_NAME 데이터를 가져올 Cloud Storage 버킷의 이름입니다. 없음 아니요
GCP_SERVICE_ACCOUNT_SECRET_PATH Google Cloud 서비스 계정 JSON 파일을 저장하는 Secret Manager의 보안 비밀 경로입니다. 없음
CHRONICLE_DATA_TYPE Chronicle 인스턴스로 데이터를 푸시하는 로그 유형 없음 아니요

Duo Admin

이 스크립트는 사용자 계정 및 보안과 같은 다양한 객체에 수행된 CRUD 작업과 관련된 Duo Admin에서 이벤트를 가져옵니다. 이벤트는 DUO_ADMIN 로그 유형으로 Chronicle에 수집됩니다. 자세한 내용은 Duo Admin API를 참조하세요.

.env.yml 파일에서 다음 환경 변수를 정의합니다.

변수 이름 설명 기본값 보안 비밀
CHRONICLE_CUSTOMER_ID Chronicle 인스턴스 고객 ID입니다. 없음 아니요
CHRONICLE_REGION Chronicle 인스턴스 리전입니다. us
다른 유효한 값: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, me-central2, me-west1, northamerica-northeast2
아니요
CHRONICLE_SERVICE_ACCOUNT Chronicle 서비스 계정 JSON 파일을 저장하는 Secret Manager의 보안 비밀 경로입니다. 없음
POLL_INTERVAL 함수가 추가 로그 데이터를 얻기 위해 실행하는 빈도 간격(분)입니다. 이 기간은 Cloud Scheduler 작업 간격과 동일해야 합니다. 없음 아니요
DUO_API_DETAILS Duo 계정 JSON 파일을 저장하는 Secret Manager의 보안 비밀 경로입니다. 여기에는 Duo Admin API 통합 키, Duo Admin API 보안 비밀 키, Duo Admin API 호스트 이름이 포함됩니다. 예를 들면 다음과 같습니다.
{ "ikey": "abcd123", "skey": "def345", "api_host": "abc-123" }
JSON 파일 다운로드에 대한 안내는 Duo Admin 문서를 참조하세요.
없음
CHRONICLE_NAMESPACE Chronicle 로그에 라벨이 지정된 네임스페이스입니다. Chronicle 네임스페이스에 대한 자세한 내용은 애셋 네임스페이스 작업을 참조하세요. 없음 아니요

MISP

이 스크립트는 오픈소스 위협 인텔리전스 및 공유 플랫폼인 MISP에서 위협 관계 정보를 가져와 MISP_IOC 로그 유형으로 Chronicle에 수집합니다. 자세한 내용은 MISP 이벤트 API를 참조하세요.

.env.yml 파일에서 다음 환경 변수를 정의합니다.

변수 설명 기본값 보안 비밀
CHRONICLE_CUSTOMER_ID Chronicle 인스턴스 고객 ID입니다. 없음 아니요
POLL_INTERVAL 함수가 추가 로그 데이터를 얻기 위해 실행하는 빈도 간격(분)입니다. 이 기간은 Cloud Scheduler 작업 간격과 동일해야 합니다. 5 아니요
CHRONICLE_REGION Chronicle 인스턴스 리전입니다. us
다른 유효한 값: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, me-central2, me-west1, northamerica-northeast2
아니요
CHRONICLE_SERVICE_ACCOUNT Chronicle 서비스 계정 JSON 파일을 저장하는 Secret Manager의 보안 비밀 경로입니다. 없음
ORG_NAME 이벤트 필터링에 사용되는 조직 이름입니다. 없음 아니요
API_KEY 사용된 인증에 대해 API 키를 저장하는 Secret Manager의 보안 비밀 경로입니다. 없음
TARGET_SERVER 생성한 MISP 인스턴스의 IP 주소입니다. 없음 아니요
CHRONICLE_NAMESPACE Chronicle 로그에 라벨이 지정된 네임스페이스입니다. Chronicle 네임스페이스에 대한 자세한 내용은 애셋 네임스페이스 작업을 참조하세요. 없음 아니요

OneLogin 이벤트

이 스크립트는 OneLogin 환경에서 이벤트를 가져와 ONELOGIN_SSO 로그 유형으로 Chronicle에 수집합니다. 이러한 이벤트는 사용자 계정에 대한 작업과 같은 정보를 제공합니다. 자세한 내용은 OneLogin Events API를 참조하세요.

.env.yml 파일에서 다음 환경 변수를 정의합니다. OneLogin 클라이언트 ID 및 클라이언트 보안 비밀번호에 대한 자세한 내용은 API 사용자 인증 정보 작업을 참조하세요.

변수 이름 설명 기본값 보안 비밀
CHRONICLE_CUSTOMER_ID Chronicle 인스턴스 고객 ID입니다. 없음 아니요
POLL_INTERVAL 함수가 추가 로그 데이터를 얻기 위해 실행하는 빈도 간격(분)입니다. 이 기간은 Cloud Scheduler 작업 간격과 동일해야 합니다. 5 아니요
CHRONICLE_REGION Chronicle 인스턴스 리전입니다. us
다른 유효한 값: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, me-central2, me-west1, northamerica-northeast2
아니요
CHRONICLE_SERVICE_ACCOUNT Chronicle 서비스 계정 JSON 파일을 저장하는 Secret Manager의 보안 비밀 경로입니다. 없음
CLIENT_ID OneLogin 플랫폼의 클라이언트 ID입니다. 없음 아니요
CLIENT_SECRET 인증에 사용되는 OneLogin 플랫폼의 클라이언트 보안 비밀번호를 저장하는 Secret Manager의 보안 비밀 경로입니다. 없음
TOKEN_ENDPOINT 액세스 토큰을 요청하는 URL입니다. https://api.us.onelogin.com/auth/oauth2/v2/token 아니요
CHRONICLE_NAMESPACE Chronicle 로그에 라벨이 지정된 네임스페이스입니다. Chronicle 네임스페이스에 대한 자세한 내용은 애셋 네임스페이스 작업을 참조하세요. 없음 아니요

OneLogin 사용자 컨텍스트

이 스크립트는 OneLogin 환경에서 사용자 계정과 관련된 데이터를 가져오고 ONELOGIN_USER_CONTEXT 로그 유형으로 Chronicle에 수집합니다. 자세한 내용은 OneLogin User API를 참조하세요.

.env.yml 파일에서 다음 환경 변수를 정의합니다. OneLogin 클라이언트 ID 및 클라이언트 보안 비밀번호에 대한 자세한 내용은 API 사용자 인증 정보 작업을 참조하세요.

변수 이름 설명 기본값 보안 비밀
CHRONICLE_CUSTOMER_ID Chronicle 인스턴스 고객 ID입니다. 없음 아니요
POLL_INTERVAL 함수가 추가 로그 데이터를 얻기 위해 실행하는 빈도 간격(분)입니다. 이 기간은 Cloud Scheduler 작업 간격과 동일해야 합니다. 30 아니요
CHRONICLE_REGION Chronicle 인스턴스 리전입니다. us
다른 유효한 값: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, me-central2, me-west1, northamerica-northeast2
아니요
CHRONICLE_SERVICE_ACCOUNT Chronicle 서비스 계정 JSON 파일을 저장하는 Secret Manager의 보안 비밀 경로입니다. 없음
CLIENT_ID OneLogin 플랫폼의 클라이언트 ID입니다. 없음 아니요
CLIENT_SECRET 인증에 사용되는 OneLogin 플랫폼의 클라이언트 보안 비밀번호를 저장하는 Secret Manager의 보안 비밀 경로입니다. 없음
TOKEN_ENDPOINT 액세스 토큰을 요청하는 URL입니다. https://api.us.onelogin.com/auth/oauth2/v2/token 아니요
CHRONICLE_NAMESPACE Chronicle 로그에 라벨이 지정된 네임스페이스입니다. Chronicle 네임스페이스에 대한 자세한 내용은 애셋 네임스페이스 작업을 참조하세요. 없음 아니요

Proofpoint

이 스크립트는 지정된 기간 내에 특정 조직의 공격 대상 사용자의 데이터를 가져오고 해당 데이터를 Chronicle에 수집합니다. 사용된 API에 대한 자세한 내용은 People API를 참조하세요.

.env.yml 파일에서 다음 환경 변수를 정의합니다. Proofpoint 서비스 주 구성원 및 Proofpoint 보안 비밀을 가져오는 방법에 대한 자세한 내용은 Arctic Wolf 구성에 proofpoint TAP 사용자 인증 정보 제공 가이드를 참조하세요.

변수 설명 기본 보안 비밀
CHRONICLE_CUSTOMER_ID Chronicle 인스턴스 고객 ID입니다. 없음 아니요
CHRONICLE_REGION Chronicle 인스턴스 리전입니다. us
다른 유효한 값: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, me-central2, me-west1, northamerica-northeast2
아니요
CHRONICLE_SERVICE_ACCOUNT Chronicle 서비스 계정 JSON 파일을 저장하는 Secret Manager의 보안 비밀 경로입니다. 없음
CHRONICLE_NAMESPACE Chronicle 로그에 라벨이 지정된 네임스페이스입니다. Chronicle 네임스페이스에 대한 자세한 내용은 애셋 네임스페이스 작업을 참조하세요. 없음 아니요
POLL_INTERVAL 함수가 추가 로그 데이터를 얻기 위해 실행하는 빈도 간격(분)입니다. 이 기간은 Cloud Scheduler 작업 간격과 동일해야 합니다. 360 아니요
CHRONICLE_DATA_TYPE Chronicle 인스턴스로 데이터를 푸시하는 로그 유형 없음 아니요
PROOFPOINT_SERVER_URL Proofpoint Server API 게이트웨이의 기본 URL입니다. 없음 아니요
PROOFPOINT_SERVICE_PRINCIPLE Proofpoint 플랫폼의 사용자 이름입니다. 일반적으로 서비스 주 구성원입니다. 없음 아니요
PROOFPOINT_SECRET Proofpoint 플랫폼의 비밀번호가 저장되는 버전의 Secret Manager 경로입니다. 없음
PROOFPOINT_RETRIEVAL_RANGE 데이터를 검색해야 하는 일수를 나타내는 숫자입니다. 허용되는 값은 14, 30, 90입니다. 없음 아니요

Pub/Sub

이 스크립트는 Pub/Sub 구독에서 메시지를 수집하고 데이터를 Chronicle로 수집합니다. 구독 게이트웨이를 지속적으로 모니터링하고 표시되는 새 메시지를 수집합니다. 자세한 내용은 다음 문서를 참조하세요.

이 수집 스크립트를 사용하려면 .env.yml 파일과 Cloud Scheduler 작업 모두에 변수를 설정해야 합니다.

  • .env.yml 파일에서 다음 환경 변수를 정의합니다.

    변수 이름 설명 기본값 보안 비밀
    CHRONICLE_CUSTOMER_ID Chronicle 인스턴스 고객 ID입니다. 없음 아니요
    CHRONICLE_REGION Chronicle 인스턴스 리전입니다. us
    다른 유효한 값: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, me-central2, me-west1, northamerica-northeast2
    아니요
    CHRONICLE_SERVICE_ACCOUNT Chronicle 서비스 계정 JSON 파일을 저장하는 Secret Manager의 보안 비밀 경로입니다. 없음
    CHRONICLE_NAMESPACE Chronicle 로그에 라벨이 지정된 네임스페이스입니다. Chronicle 네임스페이스에 대한 자세한 내용은 애셋 네임스페이스 작업을 참조하세요. 없음 아니요
  • Cloud Scheduler 메시지 본문 필드에서 다음 변수를 JSON 형식의 문자열로 설정합니다. 메시지 본문 필드에 대한 자세한 내용은 Cloud Scheduler 만들기를 참조하세요.

    변수 이름 설명 기본값 보안 비밀
    PROJECT_ID Pub/Sub 프로젝트 ID입니다. 프로젝트 ID에 대한 자세한 내용은 프로젝트 만들기 및 관리를 참조하세요. 없음 아니요
    SUBSCRIPTION_ID Pub/Sub 구독 ID입니다. 없음 아니요
    CHRONICLE_DATA_TYPE Chronicle로 데이터를 푸시하는 동안 제공된 로그 유형의 수집 라벨입니다. 지원되는 로그 유형 목록은 지원되는 기본 파서를 참조하세요. 없음 아니요

    다음은 메시지 본문 필드의 JSON 형식 문자열의 예시입니다.

    { "PROJECT_ID":"projectid-0000","SUBSCRIPTION_ID":"subscription-id","CHRONICLE_DATA_TYPE":"SQUID_PROXY"}
    

Slack 감사 로그

이 스크립트는 Slack Enterprise Grid 조직에서 감사 로그를 가져와 SLACK_AUDIT 로그 유형으로 Chronicle에 수집합니다. 자세한 내용은 Slack 감사 로그 API를 참조하세요.

.env.yml 파일에서 다음 환경 변수를 정의합니다.

변수 이름 설명 기본값 보안 비밀
CHRONICLE_CUSTOMER_ID Chronicle 인스턴스 고객 ID입니다. 없음 아니요
CHRONICLE_REGION Chronicle 인스턴스 리전입니다. us
다른 유효한 값: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, me-central2, me-west1, northamerica-northeast2
아니요
CHRONICLE_SERVICE_ACCOUNT Chronicle 서비스 계정 JSON 파일을 저장하는 Secret Manager의 보안 비밀 경로입니다. 없음
POLL_INTERVAL 함수가 추가 로그 데이터를 얻기 위해 실행하는 빈도 간격(분)입니다. 이 기간은 Cloud Scheduler 작업 간격과 동일해야 합니다. 5 아니요
SLACK_ADMIN_TOKEN Slack 인증 토큰을 저장하는 Secret Manager의 보안 비밀 경로입니다.
없음

CHRONICLE_NAMESPACE Chronicle 로그에 라벨이 지정된 네임스페이스입니다. Chronicle 네임스페이스에 대한 자세한 내용은 애셋 네임스페이스 작업을 참조하세요. 없음 아니요

STIX/TAXII

이 스크립트는 STIX/TAXII 서버에서 표시기를 가져와 Chronicle로 수집합니다. 자세한 내용은 STIX/TAXII API 참고 리소스를 참조하세요. .env.yml 파일에서 다음 환경 변수를 정의합니다.

변수 이름 설명 기본 보안 비밀
CHRONICLE_CUSTOMER_ID Chronicle 인스턴스 고객 ID입니다. 없음 아니요
CHRONICLE_REGION Chronicle 인스턴스 리전입니다. us
다른 유효한 값: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, me-central2, me-west1, northamerica-northeast2
아니요
CHRONICLE_SERVICE_ACCOUNT Chronicle 서비스 계정 JSON 파일을 저장하는 Secret Manager의 보안 비밀 경로입니다. 없음
POLL_INTERVAL 함수가 실행되는 빈도 간격(분)입니다. 이 기간은 Cloud Scheduler 작업과 동일해야 합니다. 60 아니요
TAXII_VERSION 사용할 STIX/TAXII 버전입니다. 가능한 옵션은 1.1, 2.0, 2.1입니다. 없음 아니요
TAXII_DISCOVERY_URL TAXII 서버의 Discovery URL입니다. 없음 아니요
TAXII_COLLECTION_NAMES 데이터를 가져올 컬렉션(CSV)입니다. 모든 컬렉션에서 데이터를 가져오려면 비워 둡니다. 없음 아니요
TAXII_USERNAME 인증에 필요한 사용자 이름입니다(있는 경우). 없음 아니요
TAXII_PASSWORD_SECRET_PATH 인증에 필요한 비밀번호입니다(있는 경우). 없음

Tenable.io

이 스크립트는 Tenable.io 플랫폼에서 애셋 및 취약점 데이터를 가져와 TENABLE_IO 로그 유형으로 Chronicle에 수집합니다. 사용된 라이브러리에 대한 자세한 내용은 pyTenable Python SDK를 참조하세요.

.env.yml 파일에서 다음 환경 변수를 정의합니다. 애셋 및 취약점 데이터에 대한 자세한 내용은 Tenable.io API 애셋 내보내기취약점 내보내기를 참조하세요.

변수 설명 기본 보안 비밀
CHRONICLE_CUSTOMER_ID Chronicle 인스턴스 고객 ID입니다. 없음 아니요
CHRONICLE_REGION Chronicle 인스턴스 리전입니다. us
다른 유효한 값: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, me-central2, me-west1, northamerica-northeast2
아니요
CHRONICLE_SERVICE_ACCOUNT Chronicle 서비스 계정 JSON 파일을 저장하는 Secret Manager의 보안 비밀 경로입니다. 없음
CHRONICLE_NAMESPACE Chronicle 로그에 라벨이 지정된 네임스페이스입니다. Chronicle 네임스페이스에 대한 자세한 내용은 애셋 네임스페이스 작업을 참조하세요. 없음 아니요
POLL_INTERVAL 함수가 추가 로그 데이터를 얻기 위해 실행하는 빈도 간격(분)입니다. 이 기간은 Cloud Scheduler 작업 간격과 동일해야 합니다. 360 아니요
TENABLE_ACCESS_KEY 인증에 사용되는 액세스 키입니다. 없음 아니요
TENABLE_SECRET_KEY_PATH Tenable Server의 비밀번호가 저장되는 버전의 Google Secret Manager 경로입니다. 없음
TENABLE_DATA_TYPE Chronicle에서 수집할 데이터 유형입니다. 가능한 값은 애셋, 취약점입니다. 애셋, 취약점 아니요
TENABLE_VULNERABILITY 내보내기에 포함할 취약점의 상태입니다. 가능한 값은 `OPEN`, `REOPENED`, `FIXED`입니다. OPEN, REOPENED 아니요

Trend Micro Cloud App Security

이 스크립트는 Trend Micro 플랫폼에서 보안 로그를 가져와 Chronicle에 수집합니다. 사용된 API에 대한 자세한 내용은 보안 로그 API를 참조하세요. .env.yml 파일에서 다음 환경 변수를 정의합니다.

변수 설명 기본 보안 비밀
CHRONICLE_CUSTOMER_ID Chronicle 인스턴스 고객 ID입니다. 없음 아니요
CHRONICLE_REGION Chronicle 인스턴스 리전입니다. us
다른 유효한 값: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, me-central2, me-west1, northamerica-northeast2
아니요
CHRONICLE_SERVICE_ACCOUNT Chronicle 서비스 계정 JSON 파일을 저장하는 Secret Manager의 보안 비밀 경로입니다. 없음
CHRONICLE_NAMESPACE Chronicle 로그에 라벨이 지정된 네임스페이스입니다. Chronicle 네임스페이스에 대한 자세한 내용은 애셋 네임스페이스 작업을 참조하세요. 없음 아니요
POLL_INTERVAL 함수가 추가 로그 데이터를 얻기 위해 실행하는 빈도 간격(분)입니다. 이 기간은 Cloud Scheduler 작업 간격과 동일해야 합니다. 10 아니요
CHRONICLE_DATA_TYPE Chronicle 인스턴스로 데이터를 푸시하는 로그 유형 없음 아니요
TREND_MICRO_AUTHENTICATION_TOKEN Trend Micro 서버의 인증 토큰이 저장되는 버전의 Google Secret Manager 경로입니다. 없음
TREND_MICRO_SERVICE_URL Cloud App Security 서비스의 서비스 URL입니다. 없음 아니요
TREND_MICRO_SERVICE 로그를 검색할 보호된 서비스의 이름입니다. 쉼표로 구분된 값을 지원합니다. 가능한 값은 exchange, sharepoint, onedrive, dropbox, box, googledrive, Gmail, teams, exchangeserver, salesforce_sandbox, salesforce_production, teams_chat입니다. exchange, sharepoint, onedrive, dropbox, box, googledrive, gmail, teams, exchangeserver, salesforce_sandbox, salesforce_production, teams_chat 아니요
TREND_MICRO_EVENT 로그를 검색할 보안 관련 활동의 유형입니다. 쉼표로 구분된 값을 지원합니다. 가능한 값은 securityrisk, virtualanalyzer, ransomware, dlp입니다. securityrisk, virtualanalyzer, ransomware, dlp 아니요

Trend Micro Vision One

이 스크립트는 Trend Micro Vision One의 감사 로그를 검색하여 TREND_MICRO_VISION_AUDIT 로그 유형을 사용해서 Chronicle에 수집합니다. 사용된 API에 대한 자세한 내용은 감사 로그 API를 참조하세요. .env.yml 파일에서 다음 환경 변수를 정의합니다.

변수 설명 기본 보안 비밀
CHRONICLE_CUSTOMER_ID Chronicle 인스턴스 고객 ID입니다. 없음 아니요
CHRONICLE_REGION Chronicle 인스턴스 리전입니다. us
다른 유효한 값: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, me-central2, me-west1, northamerica-northeast2
아니요
CHRONICLE_SERVICE_ACCOUNT Chronicle 서비스 계정 JSON 파일을 저장하는 Secret Manager의 보안 비밀 경로입니다. 없음
CHRONICLE_NAMESPACE Chronicle 로그에 라벨이 지정된 네임스페이스입니다. Chronicle 네임스페이스에 대한 자세한 내용은 애셋 네임스페이스 작업을 참조하세요. 없음 아니요
POLL_INTERVAL 함수가 추가 로그 데이터를 얻기 위해 실행하는 빈도 간격(분)입니다. 이 기간은 Cloud Scheduler 작업 간격과 동일해야 합니다. 10 아니요
TREND_MICRO_AUTHENTICATION_TOKEN Trend Micro 서버의 인증 토큰이 저장되는 버전의 Google Secret Manager 경로입니다. 없음
TREND_MICRO_DOMAIN Trend Micro Vision 서비스 엔드포인트가 위치한 한 리전입니다. 없음 아니요