이 페이지에서는 보안 웹 프록시가 작업에 대한 다양한 유형의 정보를 로깅하는 방법과 Cloud Monitoring API 측정항목을 사용하여 프록시의 성능을 분석하는 방법을 설명합니다.
로그
보안 웹 프록시는 Cloud Logging을 사용하여 다음 주요 영역에서 정보를 캡처하고 다양한 작업을 실행할 수 있도록 지원합니다.
모니터링 및 규정 준수
- 규정 준수를 시행하고, 네트워크 보안을 개선하고, 허용된 외부 대상으로 전송되는 아웃바운드 웹 트래픽에 대한 가시성을 제공합니다.
- 워크로드 트래픽에 대한 중요한 제어 레이어 및 가시성을 확보합니다.
- 효과적인 보안 운영 센터(SOC) 모니터링을 위해 유용한 정보를 얻습니다.
- 로그를 사용하여 보안 이벤트를 감지하고 추적하여 위협에 선제적으로 대응합니다.
배포 및 구성
- 초기 인프라 설정, 사용자 계정 생성, 구성 변경사항을 추적합니다.
- 원활하고 안전한 배포를 위해 잠재적인 오류를 모니터링합니다.
- 정책 조정의 영향을 이해하고 보호를 최적화합니다.
로그 유형
보안 웹 프록시는 로깅을 사용하여 다음 유형의 로그를 캡처하고 저장합니다.
Cloud 감사 로그: 보안 웹 프록시 리소스에 대한 관리 변경사항 및 데이터 액세스를 캡처합니다. 이러한 로그에는 다음이 포함됩니다.
게이트웨이 및 정책과 같은 보안 웹 프록시 리소스를 수정하는 API 호출 및 기타 작업에 대한 관리자 활동 감사 로그 관리자 활동 로그는 항상 사용 설정되어 있습니다.
데이터 액세스 감사 로그(사용 설정된 경우)
프록시 트랜잭션 로그: 보안 웹 프록시에서 처리하는 특정 웹 요청에 관한 세부정보를 캡처합니다. 이러한 로그는 보안 웹 프록시 인스턴스의 트래픽 흐름, 정책 시행, 성능에 관한 정보를 제공합니다.
로그 알림 구성
트래픽 거부 또는 특정 규칙 일치와 같이 보안 웹 프록시가 로깅에 쓰는 이벤트에 대한 알림을 구성할 수 있습니다. 이러한 알림을 설정하는 방법에 관한 일반적인 안내는 로그 기반 알림 구성을 참고하세요.
다음은 보안 웹 프록시에 대한 로그 기반 알림을 구성하는 데 사용할 수 있는 쿼리의 몇 가지 예입니다.
보안 웹 프록시 정책에 의해 거부된 트래픽에 대한 알림
보안 웹 프록시 정책에서 요청을 거부할 때 알림을 트리거하려면 다음 쿼리를 사용하세요.
logName="projects/PROJECT_ID/logs/networkservices.googleapis.com%2Fgateway_requests" resource.type="networkservices.googleapis.com/Gateway" jsonPayload.enforcedGatewaySecurityPolicy.matchedRules.action="DENIED"
PROJECT_ID를 타겟Google Cloud 프로젝트의 ID로 바꿉니다.
보안 웹 프록시 규칙에 의해 거부된 트래픽에 대한 알림
특정 보안 웹 프록시 규칙 (예: my-specific-deny-rule)이 요청을 거부할 때 알림을 트리거하려면 다음 쿼리를 사용하세요.
logName="projects/PROJECT_ID/logs/networkservices.googleapis.com%2Fgateway_requests" resource.type="networkservices.googleapis.com/Gateway" jsonPayload.enforcedGatewaySecurityPolicy.matchedRules.action="DENIED" AND jsonPayload.enforcedGatewaySecurityPolicy.matchedRules.name=~"projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/my-specific-deny-rule$"
다음을 바꿉니다.
PROJECT_ID: 대상 Google Cloud 프로젝트의 IDREGION: 보안 웹 프록시 인스턴스의 리전POLICY_NAME: 보안 웹 프록시 정책의 이름
지연 시간이 긴 요청에 대한 알림
요청이 5초와 같은 특정 지연 시간을 초과할 때 알림을 받으려면 다음 쿼리를 사용하세요.
logName="projects/'PROJECT_ID'/logs/networkservices.googleapis.com%2Fgateway_requests" resource.type="networkservices.googleapis.com/Gateway" latency >= "5s"
PROJECT_ID를 타겟Google Cloud 프로젝트의 ID로 바꿉니다.
Cloud Logging에서 로그 보기
Google Cloud 콘솔에서 로그 탐색기 페이지로 이동합니다.
Google Cloud 프로젝트를 선택합니다.
드롭다운 메뉴를 사용하여
networkservices.googleapis.com/Gateway리소스 또는 보안 웹 프록시 인스턴스를 선택합니다.
자세한 내용은 로그 탐색기 사용을 참조하세요.
로그 항목의 예
보안 웹 프록시는 요청을 처리할 때마다 자세한 로그 항목을 생성하여 해당 작업과 적용된 정책을 추적합니다. 다음 예에서는 보안 웹 프록시 로그가 작동하는 방식을 보여줍니다.
허용 로그 항목의 예
다음 로그 항목은 보안 웹 프록시 인스턴스가 www.example.com에 대한 HTTPS 트래픽을 가로채서 검사한 후 대상 웹사이트로 이동하도록 허용했음을 보여줍니다. 정책 및 규칙 이름은 각각 swp-policy 및 allow-port-443입니다.
| 필드 | 값 |
|---|---|
enforcedGatewaySecurityPolicy |
{
"requestWasTlsIntercepted": true,
"hostname": "www.example.com",
"matchedRules": [
{
"action": "ALLOWED",
"name": "projects/76537/locations/us-central1/gatewaySecurityPolicies/swp-policy/rules/allow-port-443"
}
]
} |
httpRequest |
{
"requestMethod": "GET",
"requestUrl": "https://www.example.com/",
"requestSize": "41",
"status": 200,
"responseSize": "1446",
"userAgent": "curl/7.74.0",
"remoteIp": "10.128.0.12:35418",
"serverIp": "93.184.216.34:443",
"latency": "0.051800s",
"protocol": "HTTP/2"
} |
resource |
{
"type": "networkservices.googleapis.com/Gateway",
"labels": {
"gateway_name": "multi-level-tlds",
"network_name": "projects/76537/global/networks/default",
"location": "us-central1",
"resource_container": "",
"gateway_type": "SECURE_WEB_GATEWAY"
}
} |
timestamp |
"2024-02-15T16:56:19.570534Z" |
severity |
'INFO' |
logName |
"projects/76537/logs/networkservices.googleapis.com%2Fgateway_requests" |
receiveTimestamp |
"2024-02-15T16:56:20.714988329Z" |
거부 로그 항목의 예
이 로그 항목은 보안 웹 프록시 인스턴스가 www.example.com:443에 대한 트래픽을 검사한 후 보안 웹 프록시 정책의 default_denied 규칙으로 인해 HTTPS 요청을 거부했음을 보여줍니다.
| 필드 | 값 |
|---|---|
enforcedGatewaySecurityPolicy |
{
"hostname": "www.example.com:443",
"matchedRules": [
{
"name": "default_denied",
"action": "DENIED"
}
]
} |
httpRequest |
{
"requestMethod": "CONNECT",
"requestSize": "122",
"status": 403,
"responseSize": "141",
"userAgent": "curl/7.74.0",
"remoteIp": "10.128.0.12:36338",
"latency": "0.000133s",
"protocol": "HTTP/1.1"
} |
resource |
{
"type": "networkservices.googleapis.com/Gateway",
"labels": {
"gateway_type": "SECURE_WEB_GATEWAY",
"resource_container": "",
"location": "us-central1",
"network_name": "projects/gcp-1768/global/networks/default",
"gateway_name": "high-latency-repro"
}
} |
timestamp |
"2024-02-15T16:55:00.089727Z" |
severity |
'WARNING' |
logName |
"projects/gcp-1768/logs/networkservices.googleapis.com%2Fgateway_requests" |
receiveTimestamp |
"2024-02-15T16:55:04.456901833Z" |
측정항목
Cloud Monitoring API 측정항목을 사용하면 보안 웹 프록시 인스턴스의 성능, 상태, 사용량을 관찰할 수 있습니다.
모니터링 리소스
보안 웹 프록시의 측정항목은 다음 모니터링 리소스 아래에 내보내집니다.
networkservices.googleapis.com/Gateway: 보안 웹 프록시 게이트웨이 인스턴스를 나타냅니다.
다음 표에는 networkservices.googleapis.com/Gateway에 사용할 수 있는 리소스가 나와 있습니다. 이러한 리소스를 사용하여 모니터링 데이터를 필터링하고 집계할 수 있습니다.
| 라벨 | 설명 |
|---|---|
resource_container |
Secure Web Proxy 게이트웨이 인스턴스와 연결된 프로젝트의 ID입니다. |
location |
Google Cloud 게이트웨이가 배포된 리전입니다. |
gateway_id |
보안 웹 프록시 게이트웨이 인스턴스의 고유한 이름입니다. |
gateway_type |
게이트웨이 유형으로, SECURE_WEB_GATEWAY로 설정됩니다. |
network_name |
게이트웨이와 연결된 가상 프라이빗 클라우드 (VPC) 네트워크의 이름입니다. |
사용 가능한 측정항목
Gateway 리소스에 사용할 수 있는 측정항목은 다음과 같습니다. 모든 측정항목에는 networkservices.googleapis.com/https/ 프리픽스가 붙습니다.
| 측정항목 유형 | 표시 이름 | 종류, 유형, 단위 | 설명 |
|---|---|---|---|
networkservices.googleapis.com/https/request_count |
요청 수 | DELTA, INT64, 1 |
프록시에서 처리한 총 요청 수입니다. |
networkservices.googleapis.com/https/request_bytes_count |
요청 바이트 | DELTA, INT64, By |
요청에서 수신된 총 바이트 수입니다. |
networkservices.googleapis.com/https/response_bytes_count |
응답 바이트 | DELTA, INT64, By |
응답에서 전송된 총 바이트 수입니다. |
networkservices.googleapis.com/https/total_latencies |
총 지연 시간 | DELTA, DIST, ms |
요청의 첫 번째 바이트가 수신된 시간부터 응답의 마지막 바이트가 전송된 시간까지입니다. |
networkservices.googleapis.com/https/backend_latencies |
백엔드 지연 시간 | DELTA, DIST, ms |
요청이 백엔드로 전송된 시점부터 응답의 첫 번째 바이트가 수신될 때까지의 시간입니다. |
커스텀 대시보드 만들기
보안 웹 프록시 인스턴스의 성능 및 트래픽 추세를 시각화하는 맞춤 대시보드를 빌드하려면 다음을 수행하세요.
Google Cloud 콘솔에서 대시보드 페이지로 이동합니다.
커스텀 대시보드 만들기를 클릭합니다.
위젯 추가를 클릭한 다음 선 차트 옵션을 선택합니다.
측정항목 필드에서
networkservices.googleapis.com/https/request_count를 검색합니다.필터 필드에서 보안 웹 프록시 인스턴스를 여러 개 구성한 경우
gateway_id로 필터링할 수 있습니다.집계 섹션에서 정렬 기간을
1 minute로 설정하고 정렬기로rate을 선택합니다.이렇게 하면 원시 요청 데이터가 초당 요청 수로 변환되므로 시간이 지남에 따라 일관된 트래픽 추세를 더 쉽게 확인하고 분석할 수 있습니다.
위젯을 저장하려면 적용을 클릭합니다.