Azure VPN 로그 수집
다음에서 지원:
Google SecOps
SIEM
이 가이드에서는 Azure 스토리지 계정을 사용하여 Azure VPN 로그를 Google Security Operations로 내보내는 방법을 설명합니다. 파서는 JSON 형식의 Azure VPN 로그에서 필드를 추출한 후 Grok 패턴을 사용하여 properties.message 필드에서 추가 세부정보를 추출합니다. 마지막으로 추출된 정보를 통합 데이터 모델 (UDM)의 표준화된 필드에 매핑합니다.
시작하기 전에
- Google SecOps 인스턴스가 있는지 확인합니다.
- 활성 Azure 테넌트가 있는지 확인합니다.
- Azure에 대한 권한이 있는지 확인합니다.
Azure 스토리지 계정 구성
- Azure Console에서 스토리지 계정을 검색합니다.
- + 만들기를 클릭합니다.
- 다음 입력 매개변수의 값을 지정합니다.
- 구독: 구독을 선택합니다.
- 리소스 그룹: 리소스 그룹을 선택합니다.
- 리전: 리전을 선택합니다.
- 실적: 실적을 선택합니다 (표준 권장).
- 중복성: 중복성을 선택합니다 (GRS 또는 LRS 권장).
- 스토리지 계정 이름: 새 스토리지 계정의 이름을 입력합니다.
- 검토 + 만들기를 클릭합니다.
- 계정 개요를 검토하고 만들기를 클릭합니다.
- 스토리지 계정 개요 페이지의 보안 + 네트워킹에서 액세스 키 하위 메뉴를 선택합니다.
- key1 또는 key2 옆에 있는 표시를 클릭합니다.
- 클립보드에 복사를 클릭하여 키를 복사합니다.
- 나중에 사용할 수 있도록 키를 안전한 위치에 저장합니다.
- 스토리지 계정 개요 페이지의 설정에서 엔드포인트 하위 메뉴를 선택합니다.
- 클립보드에 복사를 클릭하여 Blob 서비스 엔드포인트 URL(예:
https://<storageaccountname>.blob.core.windows.net
)을 복사합니다. - 나중에 사용할 수 있도록 엔드포인트 URL을 안전한 위치에 저장합니다.
Azure VPN 게이트웨이 로그의 로그 내보내기 구성
- 권한이 있는 계정을 사용하여 Azure 포털에 로그인합니다.
- 모니터링 중인 정기 결제를 선택합니다.
- 해당 구독의 리소스 목록에서 VPN 게이트웨이를 찾습니다 (일반적으로 리소스 유형이 Virtual Network Gateway임).
- 게이트웨이를 클릭합니다.
- 모니터링 > 진단 서비스를 선택합니다.
- + 진단 설정 추가를 클릭합니다.
- 진단 설정을 설명하는 이름을 입력합니다.
- allLogs를 선택합니다.
- 대상으로 스토리지 계정에 아카이브 체크박스를 선택합니다.
- 구독 및 스토리지 계정을 지정합니다.
- 저장을 클릭합니다.
Azure VPN 로그를 수집하도록 Google SecOps에서 피드 구성
- SIEM 설정 > 피드로 이동합니다.
- 새로 추가를 클릭합니다.
- 피드 이름 필드에 피드 이름을 입력합니다(예: Azure VPN 로그).
- 소스 유형으로 Microsoft Azure Blob Storage를 선택합니다.
- 로그 유형으로 Azure VPN을 선택합니다.
- 다음을 클릭합니다.
다음 입력 매개변수의 값을 지정합니다.
- Azure URI: blob 엔드포인트 URL입니다.
ENDPOINT_URL/BLOB_NAME
- 다음을 바꿉니다.
ENDPOINT_URL
: blob 엔드포인트 URL (https://<storageaccountname>.blob.core.windows.net
)BLOB_NAME
: blob의 이름입니다 (예:<logname>-logs
).
- 다음을 바꿉니다.
- URI: 로그 스트림 구성 (단일 파일 | 디렉터리 | 하위 디렉터리가 포함된 디렉터리)에 따라 URI 유형을 선택합니다.
소스 삭제 옵션: 원하는 삭제 옵션을 선택합니다.
공유 키: Azure Blob Storage의 액세스 키입니다.
애셋 네임스페이스: 애셋 네임스페이스입니다.
수집 라벨: 이 피드의 이벤트에 적용할 라벨입니다.
- Azure URI: blob 엔드포인트 URL입니다.
다음을 클릭합니다.
확정 화면에서 새 피드 구성을 검토한 다음 제출을 클릭합니다.
UDM 매핑 표
로그 필드 | UDM 매핑 | 논리 |
---|---|---|
카테고리 | security_result.category_details | 원시 로그의 category 필드에서 직접 매핑됩니다. |
IV_PLAT | security_result.detection_fields.value | 원시 로그의 IV_PLAT 필드에서 직접 매핑됩니다. detection_fields 배열 내 키-값 쌍의 일부로, 키는 IV_PLAT 입니다. |
IV_PLAT_VER | security_result.detection_fields.value | 원시 로그의 IV_PLAT_VER 필드에서 직접 매핑됩니다. detection_fields 배열 내 키-값 쌍의 일부로, 키는 IV_PLAT_VER 입니다. |
IV_PROTO | security_result.detection_fields.value | 원시 로그의 IV_PROTO 필드에서 직접 매핑됩니다. detection_fields 배열 내 키-값 쌍의 일부로, 키는 IV_PROTO 입니다. |
IV_VER | security_result.detection_fields.value | 원시 로그의 IV_VER 필드에서 직접 매핑됩니다. detection_fields 배열 내 키-값 쌍의 일부로, 키는 IV_VER 입니다. |
레벨 | security_result.severity | 원시 로그의 level 필드에서 매핑됩니다. level 이 Informational 이면 severity 가 INFORMATIONAL 로 설정됩니다. |
local_ip | target.ip | Grok 패턴을 사용하여 properties.message 필드에서 추출하고 대상 IP 주소에 매핑했습니다. |
local_port | target.port | Grok 패턴을 사용하여 properties.message 필드에서 추출하고 대상 포트 번호에 매핑했습니다. 정수 유형으로 변환되었습니다. |
operationName | metadata.product_event_type | 원시 로그의 operationName 필드에서 직접 매핑됩니다. |
properties.message | metadata.description | Grok 패턴을 사용하여 properties.message 필드에서 추출됩니다. 메시지 형식에 따라 설명에 desc2 필드에서 추출된 추가 세부정보가 포함될 수 있습니다. |
remote_ip | principal.ip | Grok 패턴을 사용하여 properties.message 필드에서 추출하고 기본 IP 주소에 매핑했습니다. |
remote_port | principal.port | Grok 패턴을 사용하여 properties.message 필드에서 추출하고 기본 포트 번호에 매핑했습니다. 정수 유형으로 변환되었습니다. |
resourceid | target.resource.product_object_id | 원시 로그의 resourceid 필드에서 직접 매핑됩니다. |
시간 | timestamp, metadata.event_timestamp | RFC 3339 형식을 사용하여 원시 로그의 time 필드에서 파싱되고 이벤트 타임스탬프와 UDM 타임스탬프 모두에 매핑됩니다. |
metadata.log_type | AZURE_VPN 로 하드코딩되었습니다. |
|
metadata.vendor_name | AZURE 로 하드코딩되었습니다. |
|
metadata.product_name | VPN 로 하드코딩되었습니다. |
|
metadata.event_type | IP 주소의 존재 여부에 따라 동적으로 설정됩니다. remote_ip 와 local_ip 가 모두 있으면 NETWORK_CONNECTION 로 설정되고 그렇지 않으면 USER_RESOURCE_ACCESS 로 설정됩니다. |
|
extensions.auth.type | VPN 로 하드코딩되었습니다. |
변경사항
2023-03-07
- 파서를 새로 만들었습니다.
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가의 답변을 받으세요.