로그 및 측정항목

이 페이지에서는 보안 웹 프록시가 작업에 대한 다양한 유형의 정보를 로깅하는 방법과 Cloud Monitoring API 측정항목을 사용하여 프록시의 성능을 분석하는 방법을 설명합니다.

로그

보안 웹 프록시는 Cloud Logging을 사용하여 다음 주요 영역에서 정보를 캡처하고 다양한 작업을 실행할 수 있도록 지원합니다.

  • 모니터링 및 규정 준수

    • 규정 준수를 시행하고, 네트워크 보안을 개선하고, 허용된 외부 대상으로 전송되는 아웃바운드 웹 트래픽에 대한 가시성을 제공합니다.
    • 워크로드 트래픽에 대한 중요한 제어 레이어 및 가시성을 확보합니다.
    • 효과적인 보안 운영 센터(SOC) 모니터링을 위해 유용한 정보를 얻습니다.
    • 로그를 사용하여 보안 이벤트를 감지하고 추적하여 위협에 선제적으로 대응합니다.
  • 배포 및 구성

    • 초기 인프라 설정, 사용자 계정 생성, 구성 변경사항을 추적합니다.
    • 원활하고 안전한 배포를 위해 잠재적인 오류를 모니터링합니다.
    • 정책 조정의 영향을 이해하고 보호를 최적화합니다.

로그 유형

보안 웹 프록시는 로깅을 사용하여 다음 유형의 로그를 캡처하고 저장합니다.

  • Cloud 감사 로그: 보안 웹 프록시 리소스에 대한 관리 변경사항 및 데이터 액세스를 캡처합니다. 이러한 로그에는 다음이 포함됩니다.

  • 프록시 트랜잭션 로그: 보안 웹 프록시에서 처리하는 특정 웹 요청에 관한 세부정보를 캡처합니다. 이러한 로그는 보안 웹 프록시 인스턴스의 트래픽 흐름, 정책 시행, 성능에 관한 정보를 제공합니다.

로그 알림 구성

트래픽 거부 또는 특정 규칙 일치와 같이 보안 웹 프록시가 로깅에 쓰는 이벤트에 대한 알림을 구성할 수 있습니다. 이러한 알림을 설정하는 방법에 관한 일반적인 안내는 로그 기반 알림 구성을 참고하세요.

다음은 보안 웹 프록시에 대한 로그 기반 알림을 구성하는 데 사용할 수 있는 쿼리의 몇 가지 예입니다.

보안 웹 프록시 정책에 의해 거부된 트래픽에 대한 알림

보안 웹 프록시 정책에서 요청을 거부할 때 알림을 트리거하려면 다음 쿼리를 사용하세요.

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 프로젝트의 ID
  • REGION: 보안 웹 프록시 인스턴스의 리전
  • 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에서 로그 보기

  1. Google Cloud 콘솔에서 로그 탐색기 페이지로 이동합니다.

    로그 탐색기로 이동

  2. Google Cloud 프로젝트를 선택합니다.

  3. 드롭다운 메뉴를 사용하여 networkservices.googleapis.com/Gateway 리소스 또는 보안 웹 프록시 인스턴스를 선택합니다.

자세한 내용은 로그 탐색기 사용을 참조하세요.

로그 항목의 예

보안 웹 프록시는 요청을 처리할 때마다 자세한 로그 항목을 생성하여 해당 작업과 적용된 정책을 추적합니다. 다음 예에서는 보안 웹 프록시 로그가 작동하는 방식을 보여줍니다.

허용 로그 항목의 예

다음 로그 항목은 보안 웹 프록시 인스턴스가 www.example.com에 대한 HTTPS 트래픽을 가로채서 검사한 후 대상 웹사이트로 이동하도록 허용했음을 보여줍니다. 정책 및 규칙 이름은 각각 swp-policyallow-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 요청이 백엔드로 전송된 시점부터 응답의 첫 번째 바이트가 수신될 때까지의 시간입니다.

커스텀 대시보드 만들기

보안 웹 프록시 인스턴스의 성능 및 트래픽 추세를 시각화하는 맞춤 대시보드를 빌드하려면 다음을 수행하세요.

  1. Google Cloud 콘솔에서 대시보드 페이지로 이동합니다.

    대시보드로 이동

  2. 커스텀 대시보드 만들기를 클릭합니다.

  3. 위젯 추가를 클릭한 다음 차트 옵션을 선택합니다.

  4. 측정항목 필드에서 networkservices.googleapis.com/https/request_count를 검색합니다.

  5. 필터 필드에서 보안 웹 프록시 인스턴스를 여러 개 구성한 경우 gateway_id로 필터링할 수 있습니다.

  6. 집계 섹션에서 정렬 기간1 minute로 설정하고 정렬기rate을 선택합니다.

    이렇게 하면 원시 요청 데이터가 초당 요청 수로 변환되므로 시간이 지남에 따라 일관된 트래픽 추세를 더 쉽게 확인하고 분석할 수 있습니다.

  7. 위젯을 저장하려면 적용을 클릭합니다.

다음 단계