Onfido 로그 수집
이 파서는 Onfido SYSLOG 및 JSON 형식 로그에서 필드를 추출하여 UDM에 매핑합니다. grok를 사용하여 메시지 필드를 파싱하고, JSON 페이로드가 있는 경우 이를 처리하며, 특정 제품 이벤트 유형을 UDM 이벤트 유형에 매핑합니다. 여기에는 로그인 성공 시 이벤트 유형을 USER_LOGIN
로, 다른 이벤트의 경우 USER_UNCATEGORIZED
로 설정하는 것이 포함됩니다. 또한 사용자 정보, 소스 IP, 보안 결과 세부정보의 UDM 필드를 채웁니다.
시작하기 전에
- Google SecOps 인스턴스가 있는지 확인합니다.
- Onfido 대시보드에 대한 액세스 권한이 있는지 확인합니다.
Onfido 로그를 수집하도록 Google SecOps에서 피드 구성
- SIEM 설정 > 피드로 이동합니다.
- 새로 추가를 클릭합니다.
- 피드 이름 필드에 피드 이름을 입력합니다 (예: Onfido Logs).
- 소스 유형으로 Webhook을 선택합니다.
- 로그 유형으로 Onfido를 선택합니다.
- 다음을 클릭합니다.
- 선택사항: 다음 입력 파라미터의 값을 지정합니다.
- 분할 구분 기호: 로그 줄을 구분하는 데 사용되는 구분 기호입니다(예:
\n
). - 애셋 네임스페이스: 애셋 네임스페이스입니다.
- 수집 라벨: 이 피드의 이벤트에 적용된 라벨입니다.
- 분할 구분 기호: 로그 줄을 구분하는 데 사용되는 구분 기호입니다(예:
- 다음을 클릭합니다.
- 확정 화면에서 피드 구성을 검토한 다음 제출을 클릭합니다.
- 보안 비밀 키 생성을 클릭하여 이 피드를 인증하기 위한 보안 비밀 키를 생성합니다.
- 비밀 키를 복사하여 저장합니다. 이 보안 비밀 키는 다시 볼 수 없습니다. 필요한 경우 새 보안 비밀 키를 재생성할 수 있지만 이 작업을 하면 이전 보안 비밀 키는 더 이상 사용할 수 없게 됩니다.
- 세부정보 탭의 엔드포인트 정보 필드에서 피드 엔드포인트 URL을 복사합니다. 클라이언트 애플리케이션에서 이 엔드포인트 URL을 지정해야 합니다.
- 완료를 클릭합니다.
웹훅 피드에 대한 API 키 만들기
Google Cloud 콘솔 > 사용자 인증 정보로 이동합니다.
사용자 인증 정보 만들기를 클릭한 후 API 키를 선택합니다.
Google Security Operations API에 대한 API 키 액세스를 제한합니다.
엔드포인트 URL 지정
- 클라이언트 애플리케이션에서 웹훅 피드에 제공된 HTTPS 엔드포인트 URL을 지정합니다.
다음 형식의 커스텀 헤더의 일부로 API 키와 보안 비밀 키를 지정하여 인증을 사용 설정합니다.
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET
권장사항: API 키를 URL에 지정하는 대신 헤더로 지정하세요.
웹훅 클라이언트가 커스텀 헤더를 지원하지 않는 경우 다음 형식의 쿼리 매개변수를 사용하여 API 키와 보안 비밀 키를 지정할 수 있습니다.
ENDPOINT_URL?key=API_KEY&secret=SECRET
다음을 바꿉니다.
ENDPOINT_URL
: 피드 엔드포인트 URL입니다.API_KEY
: Google SecOps에 인증하기 위한 API 키입니다.SECRET
: 피드를 인증하기 위해 생성한 보안 비밀 키입니다.
Onfido 웹훅 구성
- Onfido 대시보드에 로그인합니다.
- 설정 > Webhooks로 이동합니다.
- Add Webhook(웹훅 추가)을 클릭합니다.
다음 입력 매개변수의 값을 지정합니다.
- 웹훅 URL: Google SecOps API 엔드포인트의
<ENDPOINT_URL>
를 입력합니다.
- 이벤트: 웹훅을 트리거해야 하는 이벤트를 선택합니다 (예: check.completed 또는 report.completed 선택).
- 웹훅 URL: Google SecOps API 엔드포인트의
저장을 클릭하여 웹훅을 만듭니다.
UDM 매핑 표
로그 필드 | UDM 매핑 | 논리 |
---|---|---|
category |
security_result.category_details |
원시 로그의 category 필드 값이 security_result.category_details 에 할당됩니다. |
check_id |
metadata.product_log_id |
원시 로그의 json_data 필드에서 추출된 check_id 필드의 값이 metadata.product_log_id 에 할당됩니다. prod_evt_type 이 '로그인 성공'인 경우 'AUTHTYPE_UNSPECIFIED' 값이 할당됩니다. |
metadata.event_timestamp |
원시 로그 항목의 타임스탬프가 에포크 초로 변환되어 metadata.event_timestamp 에 할당됩니다. |
|
metadata.event_type |
prod_evt_type 이 '로그인 성공'인 경우 값 USER_LOGIN 이 할당됩니다. 그렇지 않으면 USER_UNCATEGORIZED 가 할당됩니다. |
|
metadata.product_name |
파서 코드는 값을 'ONFIDO'로 설정합니다. | |
prod_evt_type |
metadata.product_event_type |
원시 로그의 prod_evt_type 필드 값이 metadata.product_event_type 에 할당됩니다. |
metadata.vendor_name |
파서 코드는 값을 'ONFIDO'로 설정합니다. | |
metadata.product_version |
파서 코드는 값을 'ONFIDO'로 설정합니다. | |
security_result.action |
security_result.action |
prod_evt_type 이 '로그인 성공'인 경우 값 ALLOW 이 할당됩니다. |
src_ip |
principal.ip |
원시 로그의 src_ip 필드 값이 principal.ip 에 할당됩니다. |
user_email |
target.user.email_addresses |
원시 로그의 user_email 필드 값이 target.user.email_addresses 에 할당됩니다. |
user_name |
target.user.user_display_name |
원시 로그의 user_name 필드 값이 target.user.user_display_name 에 할당됩니다. |
변경사항
2023-03-10
- 파서를 새로 만들었습니다.