이 페이지는 Apigee 및 Apigee Hybrid에 적용됩니다.
많은 조직이 보안 정보 및 이벤트 관리(SIEM) 솔루션과 Apigee를 통합하려고 합니다. 이 통합을 통해 Apigee 데이터와 다른 네트워크 및 보안 제품 로그의 중요한 상관관계를 파악하여 고급 위협 감지, 포괄적인 로깅, 규정 준수 보고를 촉진할 수 있습니다. 이 문서에서는 지능화된 API 보안 부가기능의 유무와 상관없이 모든 시나리오를 충족하는 다양한 통합 접근 방식을 살펴봅니다.
대상
이 문서의 대상은 다음과 같습니다.
- API 보안 보장, 플랫폼 구성 관리, 운영 효율성 지원, 보안 규정 준수 요구사항 준수를 담당하는 API 관리자
- 위험을 최소화하고 민감한 정보를 보호하기 위해 API 관련 보안 사고를 선제적으로 감지하고 조사하는 데 주력하는 보안 분석가
구성 옵션
Apigee는 로그 정보를 SIEM으로 전송하는 두 가지 기본 메서드를 제공합니다.
옵션 | 설명 |
---|---|
Google Cloud Platform 로그 | 디버깅 및 문제 해결에 유용한 서비스별 로그를 포함하여 기본적인 수준의 API 로그 데이터를 제공합니다. |
Apigee 메시지 로깅 정책 | 메시지 로깅 정책은 더 큰 유연성과 제어를 제공하므로 특정 흐름 변수를 비롯한 다양한 Apigee 로그 데이터를 SIEM으로 전송할 수 있습니다. |
Apigee를 SIEM과 통합
Apigee는 적응력이 높아 사용자가 선택한 SIEM 솔루션과 원활하게 통합할 수 있습니다. 일반적인 통합 단계는 다음과 같습니다.
- 통합 방법을 선택합니다. 데이터 요구사항 및 SIEM 기능에 따라 Google Cloud Platform 로그 또는 Apigee 메시지 로깅 정책을 선택합니다.
- 데이터 전달을 설정합니다. 데이터 전달을 설정하려면 원하는 로그 데이터를 SIEM으로 전송하도록 Apigee를 구성합니다. 이 구성의 기본 단계는 다음과 같습니다.
정확한 단계는 SIEM 시스템의 설정 및 구성 세부정보에 따라 다릅니다.
- Apigee와 SIEM 간의 연결 또는 통합을 설정합니다.
- SIEM 구성에서 SIEM으로 전달할 Apigee 로그 또는 이벤트를 지정합니다.
- SIEM 내에서 Apigee 데이터를 수신하고 처리하는 데 필요한 권한을 부여합니다.
- 데이터 구조를 정렬합니다. Apigee 로그 필드 및 흐름 변수(예:
client.ip
,request.uri
등)를 SIEM의 데이터 모델에 있는 해당 필드에 매핑합니다. 이러한 정렬을 통해 SIEM은 Apigee 데이터를 올바르게 해석하고 분류하여 효과적으로 분석하고 다른 보안 이벤트와의 상관관계를 파악할 수 있습니다.
지능화된 API 보안 데이터 로깅
지능화된 API 보안 악용 감지에서 식별된 데이터를 로깅하려면 Apigee 메시지 로깅 정책과 함께 작업을 사용하면 됩니다.
다음 단계를 따르세요.
- 지능화된 API 보안 작업을 사용하여 로깅할 규칙에 플래그를 지정합니다.
- 작업으로 추가한 헤더를 사용하여 메시지 로깅 정책을 트리거하여 플래그 지정된 요청을 로깅합니다.
예를 들어 다음 이미지는 작업 UI에서
abuse
값으로 구성된 헤더apisec
를 보여줍니다.이 예시를 따라 헤더가 표시되면 트리거되도록 메시지 로깅 정책을 구성할 수 있습니다.
<PostFlow name="PostFlow"> <Request> <Step> <Condition>request.header.apisec="abuse"</Condition> <Name>LogMessagePolicy</Name> </Step> </Request> </PostFlow>
예: Apigee 메시지 로깅 정책 사용
이 예에서는 Apigee 로그 데이터를 SIEM으로 전송하도록 Apigee 메시지 로깅 정책을 구성하는 방법을 보여줍니다. 이 옵션을 사용하면 SIEM으로 전송할 Apigee 흐름 변수를 메시지 로깅 정책에서 지정합니다. 이 옵션을 사용하면 Cloud 플랫폼 로그 옵션으로 얻을 수 있는 것보다 더 풍부한 로그 세부정보를 SIEM에 전송할 수 있습니다.
- SIEM으로의 Apigee 데이터 수집을 사용 설정합니다.
- 다음 XML 본문을 사용하여 메시지 로깅 정책을 만듭니다. 자세한 내용은 UI에서 정책 연결 및 구성을 참고하세요.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MessageLogging continueOnError="false" enabled="true" name="ML-SIEM-Integration"> <CloudLogging> <LogName>projects/{organization.name}/logs/Apigee-SIEM-Integration-{environment.name}</LogName> <Message contentType="application/json" defaultVariableValue="unknown"> { "apigee.metrics.policy.{policy_name}.timeTaken": "{apigee.metrics.policy.{policy_name}.timeTaken}", "client.country": "{client.country}", "client.host": "{client.host}", "client.ip": "{client.ip}", "client.locality": "{client.locality}", "client.port": "{client.port}", "client.state": "{client.state}", "organization.name": "{organization.name}", "proxy.client.ip": "{proxy.client.ip}", "proxy.name": "{proxy.name}", "proxy.pathsuffix": "{proxy.pathsuffix}", "proxy.url": "{proxy.url}", "request.uri": "{request.uri}", "request.verb": "{request.verb}", "response.content": "{response.content}", "response.reason.phrase": "{response.reason.phrase}", "response.status.code": "{response.status.code}", "system.region.name": "{system.region.name}", "system.timestamp": "{system.timestamp}", "system.uuid": "{system.uuid}", "target.country": "{target.country}", "target.host": "{target.host}", "target.ip": "{target.ip}", "target.locality": "{target.locality}", "target.organization": "{target.organization}", "target.port": "{target.port}", "target.scheme": "{target.scheme}", "target.state": "{target.state}", "target.url": "{target.url}" } </Message> </CloudLogging> </MessageLogging>
- 정책을 프록시 엔드포인트 사후 흐름에 연결합니다. UI에서 정책 연결 및 구성을 참고하세요.
API 프록시가 트래픽을 처리할 때 로깅 정책은 요청 및 응답에서 지정된 필드를 캡처하고 분석 및 디버깅을 위해 로그 파일에 기록합니다.