이 페이지에서는 보안 웹 프록시 로그, 사용 가능한 로그 유형, 액세스 방법에 대한 개요를 제공합니다.
개요
보안 웹 프록시 로깅 기능을 사용하면 다음과 같은 주요 영역에서 정보를 캡처하고 중요한 작업을 실행할 수 있습니다.
모니터링 및 규정 준수
- 규정 준수를 시행하고, 네트워크 보안을 개선하며, 인터넷 대상에 전송되는 트래픽에 대한 가시성을 제공합니다.
- 워크로드 트래픽에 대한 중요한 제어 레이어 및 가시성을 확보합니다.
- 효과적인 보안 운영 센터(SOC) 모니터링을 위해 유용한 정보를 얻습니다.
- 로그를 사용하여 보안 이벤트를 감지하고 추적하여 선제적인 위협 대응을 보장합니다.
배포 및 구성
- 초기 인프라 설정, 사용자 계정 생성, 구성 변경사항을 추적합니다.
- 원활하고 안전한 배포를 위해 잠재적인 오류를 모니터링합니다.
- 정책 조정의 영향을 이해하고 보호를 최적화합니다.
사용 가능한 로그
보안 웹 프록시에서는 다음과 같은 유형의 로그를 사용할 수 있습니다.
- Cloud 감사 로그
- 프록시 트랜잭션 로그
Cloud 감사 로그
Cloud 감사 로그에는 다음 세부정보가 제공됩니다.
- 인프라 및 프록시 설정, 정책 생성 및 수정, 모니터링 검사에 대한 API 호출 관련 정보. Cloud 감사 로그는 상호작용을 캡처하기 위해 Google Cloud CLI 명령어와 보안 웹 프록시 API를 사용합니다.
- 보안 웹 프록시 인스턴스 만들기 및 삭제, 설정 수정 및 업데이트 적용 관련 정보. Google Cloud 콘솔 로그는 보안 웹 프록시 구성과 관련된 콘솔 활동을 캡처합니다.
- 보안 웹 프록시 인프라 변경사항에 대한 유용한 정보
- 보안 웹 프록시 동작을 구성하는 보안 웹 프록시 설정, 규칙, 매개변수에 대한 조정
- 보안 웹 프록시 내에서 사용자 권한 및 액세스 제어에 대한 수정사항
- 정책 수정 구현, 사전 편집 및 사후 편집 세부정보 캡처
보안 웹 프록시 감사 로그는 표준 감사 로그 구조를 따릅니다. 표준 감사 로그 형식에 관한 자세한 내용은 AuditLog를 참고하세요.
프록시 트랜잭션 로그
프록시 트랜잭션 로그는 보안 웹 프록시에 의해 처리되는 개별 요청에 대한 세부정보를 캡처합니다. 이러한 로그에는 보안 웹 프록시가 중재하는 사용자와 인터넷 간의 모든 트랜잭션에 대한 상세 레코드가 포함됩니다.
프록시 트랜잭션 로그 항목은 다음 유형으로 나눌 수 있습니다.
HttpRequest
HttpRequest 로그 항목에는 다음 정보가 포함됩니다.
이름 | 유형 | 설명 |
---|---|---|
requestMethod | 문자열 | 요청 메서드입니다. 예시: GET , HEAD , PUT , POST .
|
requestUrl | 문자열 | 요청된 URL의 스키마(http, https), 호스트 이름, 경로, 쿼리 부분 예시: 'http://example.com/some/info?color=red' |
requestSize |
문자열(int64 형식) |
요청 헤더 및 요청 본문을 포함하는 HTTP 요청 메시지의 크기(바이트)입니다. |
상태 | 정수 | 응답을 나타내는 HTTP 또는 HTTPS 상태 코드입니다. 예시: 200 , 404 .
|
responseSize | 문자열(int64 형식) | 응답 헤더와 응답 본문을 포함하여 클라이언트로 다시 전송되는 HTTP 응답 메시지의 크기(바이트)입니다. |
userAgent | 문자열 | 클라이언트가 보낸 사용자 에이전트입니다. 예시: 'Mozilla/4.0(호환 가능: MSIE 6.0, Windows 98, Q312461, .NET CLR 1.0.3705') |
remoteIp | 문자열 |
HTTP 요청을 실행한 클라이언트의 IP 주소(IPv4 또는 IPv6)입니다. 이 필드에는 포트 정보가 포함될 수 있습니다. 예시: 192.168.1.1 , 10.0.0.1:80 , FE80::0202:B3FF:FE1E:8329 .
|
serverIp | 문자열 |
요청을 전송한 원본 서버의 IP 주소(IPv4 또는 IPv6)입니다. 이 필드에는 포트 정보가 포함될 수 있습니다. 예시: 192.168.1.1 , 10.0.0.1:80 , FE80::0202:B3FF:FE1E:8329 .
|
referrer | 문자열 |
HTTP/1.1 헤더 필드 정의에 정의된 대로 요청의 리퍼러 URL입니다. |
지연 시간 | 문자열(기간 형식) | 요청이 수신된 시점부터 응답이 전송될 때까지 서버의 요청 처리 지연 시간입니다. 초 단위 기간으로, 소수점 아래 9자리까지 지정 가능하며 |
cacheLookup | 불리언 | 캐시 조회가 시도되었는지 여부입니다. |
cacheHit | 불리언 | 캐시에서 항목이 제공되었는지 여부(검증 유무에 관계없음) |
cacheValidatedWithOriginServer | 불리언 | 캐시에서 제공되기 전에 원본 서버로 응답이 검증되었는지 여부입니다. 이 필드는 cacheHit이 True인 경우에만 의미가 있습니다. |
cacheFillBytes | 문자열(int64 형식) | 캐시에 삽입된 HTTP 응답 바이트 수입니다. 캐시 채우기가 시도될 때만 설정됩니다. |
프로토콜 | 문자열 | 요청에 사용된 프로토콜 예시: 'HTTP/1.1', 'HTTP/2', 'websocket' |
LoadBalancerLogEntry
LoadBalancerLogEntry 로그 항목에는 다음 정보가 포함됩니다.
이름 | 유형 | 설명 |
---|---|---|
insertId | 문자열 | 고유한 로그 ID입니다. |
jsonPayload.@type | 문자열 | 로그 유형입니다.
로그 유형 값은 항상 |
jsonPayload.enforcedGatewaySecurityPolicy.hostname | 문자열 | 요청과 연결된 호스트 이름입니다. |
jsonPayload.enforcedGatewaySecurityPolicy.matchedRules.action | 문자열 | 요청에 대해 취해진 조치입니다. |
jsonPayload.enforcedGatewaySecurityPolicy.matchedRules.rule | 문자열 | 요청에 적용된 규칙의 이름입니다. |
jsonPayload.enforcedGatewaySecurityPolicy.clientServiceAccount | 문자열 | 요청과 연결된 서비스 계정입니다. |
jsonPayload.enforcedGatewaySecurityPolicy.clientSecureTags | 문자열 | 요청과 연결된 보안 태그입니다. |
게이트웨이 모니터링 리소스
게이트웨이 모니터링 리소스 로그 항목에는 다음 정보가 포함됩니다.
이름 | 유형 | 설명 |
---|---|---|
resource_container | 문자열 | 게이트웨이와 연결된 컨테이너입니다. |
위치 | 문자열 | 게이트웨이가 정의된 리전의 이름입니다. |
network_name | 문자열 | 게이트웨이가 생성된 Virtual Private Cloud(VPC) 네트워크의 이름입니다. |
gateway_type | 문자열 | 게이트웨이의 enum 유형입니다. |
gateway_name | 문자열 | 게이트웨이 리소스의 이름입니다. |
로깅 예시
보안 웹 프록시는 요청을 처리할 때마다 자세한 로그 항목을 생성하여 해당 작업과 적용된 정책을 추적합니다. 다음 예는 보안 웹 프록시 로그가 작동하는 방식을 보여줍니다.
허용 항목의 예
다음 로그 항목은 보안 웹 프록시가 [www.example.com](https://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" |
리소스 | "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" } |
타임스탬프 | "2024-02-15T16:56:19.570534Z" |
줄이는 것을 | '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" |
리소스 | "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" } |
타임스탬프 | "2024-02-15T16:55:00.089727Z" |
줄이는 것을 | 'WARNING' |
logName | "projects/gcp-1768/logs/networkservices.googleapis.com%2Fgateway_requests" |
receiveTimestamp | "2024-02-15T16:55:04.456901833Z" |
Cloud Logging에서 로그 보기
로그 탐색기에서 보안 웹 프록시 로그를 보려면 다음을 수행하세요.
Google Cloud 콘솔에서 로그 탐색기 페이지로 이동합니다.
페이지 상단에서 기존 Google Cloud 프로젝트를 선택하거나 새 프로젝트를 만듭니다.
드롭다운 메뉴를 사용하여 리소스
networkservices.googleapis.com/Gateway
또는 보안 웹 프록시 인스턴스 이름을 선택합니다.
자세한 내용은 로그 탐색기 사용을 참조하세요.