Cloud Functions로 배포된 수집 스크립트 사용
Chronicle은 Cloud Functions로 배포되도록 Python으로 작성된 수집 스크립트 모음을 제공합니다. 이러한 스크립트를 사용하면 이름 및 로그 유형별로 나열된 다음 로그 소스의 데이터를 수집할 수 있습니다.
- 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 수집 스크립트를 효과적으로 사용할 수 있도록 컨텍스트 및 배경 정보를 제공하는 다음 리소스를 읽어보세요.
- 로컬 머신에서 Cloud Functions를 배포하는 방법에 대한 자세한 내용은 Cloud Functions 배포를 참조하세요.
- 보안 비밀 만들기 및 액세스에서는 Secret Manager를 사용하는 방법을 설명합니다. Chronicle 서비스 계정 JSON 파일을 저장하고 액세스하려면 이 권한이 필요합니다.
- Google Cloud CLI를 설치합니다. 이를 사용하여 Cloud 함수를 배포합니다.
- Google Cloud Pub/Sub 문서(Pub/Sub에서 데이터를 수집하려는 경우)
단일 로그 유형의 파일 조합
Chronicle GitHub의 각 하위 디렉터리에는 단일 Chronicle 로그 유형의 데이터를 수집하는 파일이 포함되어 있습니다. 스크립트는 단일 소스 기기에 연결한 다음 Ingestion API를 사용하여 원시 로그를 Chronicle로 보냅니다. 각 로그 유형을 별도의 Cloud 함수로 배포하는 것이 좋습니다. Chronicle GitHub 저장소의 스크립트에 액세스합니다. GitHub의 각 하위 디렉터리에는 수집되는 로그 유형과 관련된 다음 파일이 포함되어 있습니다.
main.py
는 로그 유형과 관련된 수집 스크립트입니다. 소스 기기에 연결하고 데이터를 Chronicle에 수집합니다..env.yml
은 Python 스크립트에 필요한 구성을 저장하며 배포마다 다릅니다. 이 파일을 수정하여 수집 스크립트에 필요한 구성 매개변수를 설정합니다.README.md
는 구성 매개변수에 대한 정보를 제공합니다.Requirements.txt
는 수집 스크립트에 필요한 종속 항목을 정의합니다. 또한common
폴더에는 모든 수집 스크립트가 의존하는 유틸리티 함수가 포함되어 있습니다.
단일 로그 유형에 대해 데이터를 수집하는 파일을 조합하려면 다음 단계를 수행합니다.
- Cloud 함수의 파일을 저장할 배포 디렉터리를 만듭니다. 여기에는 배포에 필요한 모든 파일이 포함됩니다.
- 원하는 로그 유형의 GitHub 하위 디렉터리(예: OneLogin 사용자 컨텍스트)에서 모든 파일을 이 배포 디렉터리에 복사합니다.
common
폴더와 모든 콘텐츠를 배포 디렉터리에 복사합니다.디렉터리의 콘텐츠는 다음과 유사합니다.
one_login_user ├─common │ ├─__init__.py │ ├─auth.py │ ├─env_constants.py │ ├─ingest.py │ ├─status.py │ └─utils.py ├─env.yml ├─main.py └─requirements.txt
스크립트 구성
- Cloud Shell 세션을 시작합니다.
- SSH를 사용하여 Google Cloud Linux VM에 연결합니다. Google 도구를 사용하여 Linux VM에 연결을 참조하세요.
> 업로드 또는 다운로드를 클릭하여 수집 스크립트를 업로드하여 파일 또는 폴더를 Cloud Shell로 이동합니다.
더보기파일 및 폴더는 홈 디렉터리에 대해서만 업로드 및 다운로드할 수 있습니다. Cloud Shell과 로컬 워크스테이션 간에 파일을 전송하는 추가 옵션은 Cloud Shell에서 파일 및 폴더 업로드 및 다운로드를 참조하세요.
함수의
.env.yml
파일을 수정하여 필요한 환경 변수를 채웁니다. 다음 표에는 모든 수집 스크립트에 공통적인 런타임 환경 변수가 나와 있습니다.변수 이름 설명 필수 기본 보안 비밀 CHRONICLE_CUSTOMER_ID
Chronicle 고객 ID입니다. 예 없음 아니요 CHRONICLE_REGION
Chronicle 리전입니다. 예 us
다른 유효한 값은asia-southeast1
,europe
,europe-west2
입니다.아니요 CHRONICLE_SERVICE_ACCOUNT
Chronicle 서비스 계정 JSON 파일의 콘텐츠입니다. 예 없음 예 CHRONICLE_NAMESPACE
Chronicle 로그에 라벨이 지정된 네임스페이스입니다. Chronicle 네임스페이스에 대한 자세한 내용은 애셋 네임스페이스 작업을 참조하세요. 아니요 없음 아니요 각 스크립트에는 스크립트와 관련된 환경 변수가 필요합니다. 각 로그 유형에 필요한 환경 변수에 대한 자세한 내용은 로그 유형별 구성 매개변수를 참조하세요.
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 함수 배포
- Cloud Shell 세션을 시작합니다.
- SSH를 통해 Google Cloud Linux VM에 연결합니다. Google 도구를 사용하여 Linux VM에 연결을 참조하세요.
- 수집 스크립트를 복사한 디렉터리로 변경합니다.
다음 명령어를 실행하여 Cloud 함수를 배포합니다.
gcloud functions deploy <FUNCTION NAME> --entry-point main --trigger-http --runtime python39 --env-vars-file .env.yml
여기서
FUNCTION_NAME
은 Cloud 함수에 대해 정의하는 이름입니다.참고: 디렉터리를 파일 위치로 변경하지 않으면
--source
옵션을 사용하여 배포 스크립트의 위치를 지정해야 합니다.
런타임 로그 보기
수집 스크립트는 런타임 메시지를 stdout에 출력합니다. Cloud Functions는 로그 메시지를 볼 수 있는 메커니즘을 제공합니다. 자세한 내용은 런타임 로그 보기에 대한 Cloud Functions 정보를 참조하세요.
로그 유형별 구성 매개변수
Aruba Central
이 스크립트는 Aruba Central 플랫폼에서 감사 로그를 가져와 ARUBA_CENTRAL
로그 유형을 사용하여 Chronicle로 수집합니다. 라이브러리 사용 방법에 대한 자세한 내용은 pycentral Python SDK를 참조하세요.
.env.yml
파일에 다음 환경 변수를 정의합니다.
변수 | 설명 | 기본 | 보안 비밀 |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle 인스턴스 고객 ID입니다. | 없음 | 아니요 |
CHRONICLE_REGION |
Chronicle 인스턴스 리전입니다. | us 다른 유효한 값은 asia-southeast1 및 europe 입니다. |
아니요 |
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 함수를 배포하는 단계:
- 저장소에서
Azure_eventhub_API_function_app.json
이라는 데이터 커넥터 파일을 다운로드합니다. - Microsoft Azure 포털에 로그인합니다.
- 구성 섹션에서 Microsoft Sentinel > Select your workspace from the list(목록에서 작업공간 선택) > Select Data Connector(데이터 커넥터 선택)로 이동하여 다음을 수행합니다.
- URL에서
feature.BringYourOwnConnector=true
플래그를 true로 설정합니다. 예: https://portal.azure.com/?feature.BringYourOwnConnector=true&...
- URL에서
- 페이지에서 import(가져오기) 버튼을 찾아 1단계에서 다운로드한 데이터 커넥터 파일을 가져옵니다.
- Deploy to Azure(Azure에 배포) 버튼을 클릭하여 함수를 배포하고 동일한 페이지에 언급된 단계를 따릅니다.
- 선호하는 Subscription(구독), Resource group(리소스 그룹), Location(위치)을 선택하고 필수 값을 제공합니다.
- Review + Create(검토 + 만들기)를 클릭합니다.
- 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-southeast1 , europe , europe-west2 입니다. |
아니요 |
CHRONICLE_SERVICE_ACCOUNT |
Chronicle 서비스 계정 JSON 파일을 저장하는 Secret Manager의 보안 비밀 경로입니다. | 없음 | 예 |
BOX_CLIENT_ID |
Box 플랫폼의 Console ID로, Box 개발자 콘솔에서 사용할 수 있습니다. | 없음 | 아니요 |
BOX_CLIENT_SECRET |
인증에 사용되는 Box 플랫폼의 클라이언트 보안 비밀번호를 저장하는 Secret Manager의 보안 비밀 경로입니다. | 없음 | 예 |
BOX_SUBJECT_ID |
Box 사용자 ID 또는 엔터프라이즈 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-southeast1 , europe , europe-west2 입니다. |
아니요 |
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 서비스 API를 참조하세요.
.env.yml
파일에 다음 환경 변수를 정의합니다. Citrix 클라이언트 ID 및 클라이언트 보안 비밀번호에 대한 자세한 내용은 Citrix API 시작하기를 참조하세요.
변수 이름 | 설명 | 기본값 | 보안 비밀 |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle 인스턴스 고객 ID입니다. | 없음 | 아니요 |
CHRONICLE_REGION |
Chronicle 인스턴스 리전입니다. | us 다른 유효한 값은 asia-southeast1 , europe , europe-west2 입니다. |
아니요 |
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 고객 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-southeast1 및 europe 입니다. |
아니요 |
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에서 이벤트를 가져옵니다. 이벤트는 Chronicle에 DUO_ADMIN
로그 유형으로 수집됩니다. 자세한 내용은 Duo Admin API를 참조하세요.
.env.yml
파일에 다음 환경 변수를 정의합니다.
변수 이름 | 설명 | 기본값 | 보안 비밀 |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle 인스턴스 고객 ID입니다. | 없음 | 아니요 |
CHRONICLE_REGION |
Chronicle 인스턴스 리전입니다. | us 다른 유효한 값은 asia-southeast1 , europe , europe-west2 입니다. |
아니요 |
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-southeast1 , europe , europe-west2 입니다. |
아니요 |
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-southeast1 , europe , europe-west2 입니다. |
아니요 |
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-southeast1 , europe , europe-west2 입니다. |
아니요 |
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-southeast1 및 europe 입니다. |
아니요 |
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-southeast1
,europe
,europe-west2
입니다.아니요 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 Audit Logs API를 참조하세요.
.env.yml
파일에 다음 환경 변수를 정의합니다.
변수 이름 | 설명 | 기본값 | 보안 비밀 |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle 인스턴스 고객 ID입니다. | 없음 | 아니요 |
CHRONICLE_REGION |
Chronicle 인스턴스 리전입니다. | us 다른 유효한 값은 asia-southeast1 , europe , europe-west2 입니다. |
아니요 |
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-southeast1 , europe , europe-west2 입니다. |
아니요 |
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-southeast1 및 europe 입니다. |
아니요 |
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-southeast1 및 europe 입니다. |
아니요 |
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 |
클라우드 앱 보안 서비스의 서비스 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-southeast1 및 europe 입니다. |
아니요 |
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 |
서비스 엔드포인트가 있는 트렌드 Micro Vision One 리전입니다. | 없음 | 아니요 |