일괄적으로 알림 닫기

다음에서 지원:

이 문서에서는 Google Security Operations REST API를 사용하여 많은 수의 알림을 프로그래매틱 방식으로 닫는 방법을 설명합니다. 플랫폼에서 알림을 닫는 데 너무 많은 시간이 걸리는 경우 이 방법을 사용하는 것이 좋습니다.

기본 요건

시작하기 전에 다음이 있는지 확인하세요.

  • Python 환경: 샘플 스크립트를 실행하려면 Python이 설치되어 있어야 합니다.
  • API 샘플: api-samples-python GitHub 저장소에 액세스합니다.
  • 사용자 인증 정보: 유효한 사용자 인증 정보 파일 (예: .chronicle_credentials.json)
  • jq: API 출력을 파싱하는 데 사용되는 명령줄 JSON 프로세서

감지 검색

먼저 닫을 알림 (알림 감지)을 식별해야 합니다. list_detections.py 스크립트를 사용하여 특정 규칙 ID와 연결된 감지를 찾습니다.

  1. 규칙 ID 및 프로젝트 세부정보를 찾습니다.
  2. 스크립트를 실행하여 감지를 JSON 파일로 출력합니다. JSON 파일 이름은 detections.json 또는 temp.json일 수 있습니다.

명령어:

python -m detect.v1alpha.list_detections \
  --project_id=$PROJECT_ID \
  --project_instance=$PROJECT_INSTANCE \
  --credentials_file=$CREDENTIALS_FILE \
  --rule_id=$RULE_ID \
  > ip_in_abuseipdb_out.json

감지 ID 추출

일괄 업데이트 스크립트에는 줄당 하나의 감지 ID가 포함된 일반 텍스트 파일이 필요합니다. 이전 단계에서 JSON 파일이 생성되었으며 이제 이 파일을 텍스트 파일로 변환해야 합니다.

  1. jq를 사용하여 JSON 배열에서 감지 ID (de_로 시작)를 추출합니다.
  2. 출력을 텍스트 파일에 저장합니다.

명령어:

cat ip_in_abuseipdb_out.json | jq -r '.detections[].id' \
  > ip_in_abuseipdb_out.txt

이렇게 하면 ID를 나열하는 파일(예: de_ad9d2771-a567...)이 생성됩니다.

의견 구성('닫기' 작업)

알림을 닫으면 '의견' 상태가 CLOSED로 설정됩니다.

  • 기본 동작: bulk_update_alerts.py 스크립트는 하드 코딩된 기본 의견 페이로드를 사용합니다.
    • 상태: CLOSED
    • 이유: REASON_MAINTENANCE
    • 설명: automated cleanup.
  • 맞춤설정: 판정 (예: FALSE_POSITIVE) 또는 설명을 변경해야 하는 경우 다음을 실행할 수 있습니다.
    • Python 파일에서 DEFAULT_FEEDBACK 사전을 직접 수정합니다.
    • CLI 매개변수 (예: --verdict="FALSE_POSITIVE")를 전달하여 특정 값을 재정의합니다.

일괄 닫기 실행

이전에 만든 텍스트 파일을 사용하여 일괄 업데이트 스크립트를 실행합니다 (감지 ID 추출 참고). 이 스크립트는 목록의 각 ID에 대해 UpdateAlert 메서드를 호출합니다.

명령어:

python -m detect.v1alpha.bulk_update_alerts \
  --project_id=$PROJECT_ID \
  --project_instance=$PROJECT_INSTANCE \
  --credentials_file=$CREDENTIALS_FILE \
  --alert_ids_file="$(pwd)/ip_in_abuseipdb_out.txt"

닫기 확인 (선택사항)

알림이 닫혔는지 확인하려면 get_alert.py 모듈을 사용하여 단일 알림의 세부정보를 확인하면 됩니다.

명령어:

python -m detect.v1alpha.get_alert \
  --project_id=$PROJECT_ID \
  --project_instance=$PROJECT_INSTANCE \
  --credentials_file=$CREDENTIALS_FILE \
  --alert_id=$ALERT_ID

예상 결과: JSON 출력에는 feedbackSummary 객체에 "status": "CLOSED" 및 지정된 설명 (예: 'automated cleanup')이 표시됩니다.

도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.