AWS Firewall Manager 및 Amazon Data Firehose를 사용하여 Splunk로 AWS WAF 로그 전송 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Firewall Manager 및 Amazon Data Firehose를 사용하여 Splunk로 AWS WAF 로그 전송

작성자: Michael Friedenthal(AWS), Aman Kaur Gandhi(AWS) 및 JJ Johnson(AWS)

환경: PoC 또는 파일럿

기술: 콘텐츠 전송, 보안, 자격 증명, 규정 준수

워크로드: 기타 모든 워크로드

AWS 서비스: AWS Firewall Manager, Amazon Data Firehose, AWS WAF

요약

과거에는 데이터를 Splunk로 이동하는 두 가지 방법, 즉 푸시 아키텍처 또는 풀 아키텍처가 있었습니다. 풀 아키텍처는 재시도를 통해 전송 데이터를 보장하지만 Splunk에서 데이터를 폴링하는 전용 리소스가 필요합니다. 일반적으로 풀 아키텍처는 폴링으로 인해 실시간이 아닙니다. 푸시 아키텍처는 일반적으로 지연 시간이 짧고 확장성이 뛰어나며 운영 복잡성과 비용을 줄여줍니다. 하지만 전송이 보장되는 것은 아니며 일반적으로 에이전트가 필요합니다.

Amazon Data Firehose와의 Splunk 통합은 HTTP 이벤트 수집기()를 통해 실시간 스트리밍 데이터를 Splunk에 제공합니다HEC. 이 통합은 푸시 아키텍처와 풀 아키텍처의 장점을 모두 제공합니다. 즉, 재시도를 통한 데이터 전송을 보장하고 실시간에 가깝고 지연 시간이 짧고 복잡성이 낮습니다. 는 Splunk를 통해 HTTP 또는 Splunk로 HTTPS 직접 데이터를 HEC 빠르고 효율적으로 전송합니다. HECs 는 토큰 기반이므로 애플리케이션 또는 지원 파일에서 보안 인증 정보를 하드코딩할 필요가 없습니다.

AWS Firewall Manager 정책에서 모든 계정의 모든 AWS WAF 웹 ACL 트래픽에 대한 로깅을 구성한 다음 Firehose 전송 스트림을 사용하여 모니터링, 시각화 및 분석을 위해 해당 로그 데이터를 Splunk로 전송할 수 있습니다. 이 솔루션에는 다음과 같은 이점이 있습니다.

  • 모든 계정의 AWS WAF 웹 ACL 트래픽에 대한 중앙 관리 및 로깅

  • 단일 와의 Splunk 통합 AWS 계정

  • 확장성

  • 거의 실시간으로 로그 데이터 전송

  • 서버리스 솔루션을 사용하여 비용을 최적화하므로 사용하지 않은 리소스에 대해 비용을 지불할 필요가 없습니다.

사전 조건 및 제한 사항

사전 조건 

제한 사항

  • 는 의 단일 조직에서 관리해야 AWS 계정 합니다 AWS Organizations.

  • 웹은 전송 스트림과 동일한 리전에 있어야 ACL 합니다. Amazon 에 대한 로그를 캡처하는 경우 미국 동부(버지니아 북부) 리전 에서 Firehose 전송 스트림을 CloudFront생성합니다us-east-1.

  • Splunk 추가 기능은 유료 Splunk Cloud 배포, 분산 Splunk Enterprise 배포 및 단일 인스턴스 Splunk Enterprise 배포에 사용할 수 있습니다. 이 애드온은 무료 평가판 Splunk Cloud 배포에는 지원되지 않습니다.

아키텍처

대상 기술 스택

  • Firewall Manager

  • Firehose

  • Amazon Simple Storage Service(S3)

  • AWS WAF

  • Splunk

대상 아키텍처 

다음 이미지는 Firewall Manager를 사용하여 모든 AWS WAF 데이터를 중앙에서 로깅하고 Firehose를 통해 Splunk로 전송하는 방법을 보여줍니다.

Amazon Data Firehose를 통해 Splunk로 AWS WAF 로그 데이터를 보내는 것을 보여주는 아키텍처 다이어그램
  1. AWS WAF 웹은 방화벽 로그 데이터를 Firewall Manager로 ACLs 전송합니다.

  2. Firewall Manager는 Firehose로 로그 데이터를 전송합니다.

  3. Firehose 전송 스트림은 로그 데이터를 Splunk 및 S3 버킷으로 전달합니다. S3 버킷은 Firehose 전송 스트림에 오류가 발생하는 경우 백업 역할을 합니다.

자동화 및 규모 조정

이 솔루션은 조직 ALCs 내 모든 AWS WAF 웹을 확장하고 수용하도록 설계되었습니다. 동일한 Firehose 인스턴스ACLs를 사용하도록 모든 웹을 구성할 수 있습니다. 그러나 여러 Firehose 인스턴스를 설정하고 사용하려면 할 수 있습니다.

도구

AWS 서비스

  • AWS Firewall Manager 는 의 계정 및 애플리케이션 전반에서 방화벽 규칙을 중앙에서 구성하고 관리하는 데 도움이 되는 보안 관리 서비스입니다 AWS Organizations.

  • Amazon Data Firehose를 사용하면 Splunk와 같은 지원되는 타사 서비스 공급자가 소유한 다른 AWS 서비스, 사용자 지정 HTTP 엔드포인트 및 HTTP 엔드포인트에 실시간 스트리밍 데이터를 제공할 수 있습니다.

  • Amazon Simple Storage Service(S3)는 원하는 양의 데이터를 저장, 보호 및 검색하는 데 도움이 되는 클라우드 기반 객체 스토리지 서비스입니다.

  • AWS WAF 는 보호된 웹 애플리케이션 리소스로 전달되는 HTTP 및 HTTPS 요청을 모니터링하는 데 도움이 되는 웹 애플리케이션 방화벽입니다.

기타 도구

  • Splunk는 로그 데이터를 모니터링, 시각화 및 분석하는 데 도움이 됩니다.

에픽

작업설명필요한 기술

Splunk App for 를 설치합니다 AWS.

  1. Splunk 헤비 포워더에 로그인합니다. 기본값은 URL입니다http://<IP address>:8000.

  2. 왼쪽 탐색창에서 옆에 있는 기어 버튼을 선택합니다.

  3. 더 많은 앱 찾아보기를 선택합니다.

  4. AWS를 찾습니다.

  5. Splunk App for AWS에서 설치를 선택합니다.

  6. Splunk.com 로그인 보안 인증 정보를 입력하고 이용 약관에 동의한 다음 로그인 및 설치를 선택합니다.

  7. 완료를 선택합니다.

보안 관리자, Splunk 관리자

에 대한 추가 기능을 설치합니다 AWS WAF.

이전 지침을 반복하여 Web AWS Application Firewall Add-on for Splunk를 설치합니다.

보안 관리자, Splunk 관리자

Firehose용 Splunk 추가 기능을 설치하고 구성합니다.

  1. Firehose용 Splunk 추가 기능을 설치하고 구성합니다. 설치 및 구성의 일환으로 Splunk 플랫폼에 필요한 경우 HTTP Event Collector를 설정하고 인덱서에 로그 데이터를 전송할 인프라를 준비합니다. Splunk 배포에 해당하는 지침을 참고합니다.

    중요: Splunk 추가 기능을 설치하고 구성한 후에는 이 절차를 중단하십시오. Splunk 플랫폼으로 데이터를 전송하도록 Firehose를 구성하는 지침을 진행하지 마세요.

  2. HTTP 이벤트 수집기 토큰과 HTTP 엔드포인트를 기록해 둡니다. 나중에 전송 스트림을 구성할 때 이 값이 필요합니다.

보안 관리자, Splunk 관리자
작업설명필요한 기술

Firehose에 Splunk 대상에 대한 액세스 권한을 부여합니다.

Firehose가 Splunk 대상에 액세스하고 로그 데이터를 S3 버킷에 백업하도록 허용하는 액세스 정책을 구성합니다. 자세한 내용은 Splunk 대상 에 대한 액세스 권한 Firehose 부여를 참조하세요.

보안 관리자

Firehose 전송 스트림을 생성합니다.

에 ACLs 대한 웹을 관리하는 동일한 계정에서 Firehose에서 전송 스트림을 AWS WAF생성합니다. 전송 스트림을 생성할 때는 IAM 역할이 있어야 합니다. Firehose는 해당 IAM 역할을 수임하고 지정된 S3 버킷에 대한 액세스 권한을 얻습니다. 지침은 전송 스트림 생성을 참고하십시오. 유의할 사항:

  • 전송 스트림 이름은 aws-waf-logs-로 시작해야 합니다.

  • 소스에서 직접 PUT을 선택합니다.

  • S3 백업 모드의 경우 모든 이벤트 백업을 선택한 다음 기존 버킷을 선택하거나 새 버킷을 생성합니다.

  • 대상의 경우 Firehose 설명서의 대상에 대해 Splunk 선택의 지침을 따릅니다. Splunk 엔드포인트 및 엔드포인트 유형의 값에 대한 자세한 내용은 Splunk 설명서의 Amazon Data Firehose 구성을 참조하세요.

HTTP 이벤트 컬렉터에서 구성한 각 토큰에 대해 이 프로세스를 반복합니다.

보안 관리자

전송 스트림을 테스트합니다.

전송 스트림을 테스트하여 제대로 구성되었는지 확인합니다. 지침은 Firehose 설명서의 대상으로 Splunk를 사용하여 테스트를 참조하세요.

보안 관리자
작업설명필요한 기술

Firewall Manager 정책을 구성합니다.

로깅을 활성화하고 올바른 Firehose 전송 스트림에 로그를 전달하려면 Firewall Manager 정책을 구성해야 합니다. 자세한 내용과 지침은 AWS WAF 정책에 대한 로깅 구성을 참조하세요.

보안 관리자

관련 리소스

AWS resources

Splunk 설명서