Splunk를 사용하여 AWS 네트워크 방화벽 로그 및 지표 보기 - AWS 권장 가이드

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

Splunk를 사용하여 AWS 네트워크 방화벽 로그 및 지표 보기

작성자: Ivo Pinto

환경: PoC 또는 파일럿

기술: 네트워킹, 클라우드 네이티브, 콘텐츠 전송, 운영, 보안, ID, 규정 준수

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

AWS 서비스: 아마존 CloudWatch, 아마존 CloudWatch 로그, AWS 네트워크 방화벽

요약

많은 조직에서 Splunk Enterprise를 다양한 소스의 로그 및 지표에 대한 중앙 집중식 집계 및 시각화 도구로 사용합니다. 이 패턴은 AWS용 Splunk 애드온을 사용하여 Amazon CloudWatch Logs에서 AWS 네트워크 방화벽 로그와 지표를 가져오도록 Splunk를 구성하는 데 도움이 됩니다. 

이를 위해서는 읽기 전용 AWS ID 및 액세스 관리 (IAM) 역할을 생성해야 합니다. AWS용 Splunk 애드온은 이 역할을 사용하여 액세스합니다. CloudWatch AWS용 Splunk 애드온이 지표와 로그를 가져오도록 구성합니다. CloudWatch 마지막으로 검색된 로그 데이터 및 지표로 Splunk에서 시각화를 생성합니다.

사전 조건 및 제한 사항

사전 조건

  • Splunk 계정

  • 스플렁크 엔터프라이즈 인스턴스, 버전 8.2.2 이상 

  • 활성 상태의 AWS 계정.

  • Network Firewall, 로그를 로그로 전송하도록 설정구성 CloudWatch

제한 사항

  • Splunk Enterprise는 AWS 클라우드에서 Amazon Elastic Compute Cloud (Amazon EC2) 인스턴스의 클러스터로 배포해야 합니다.

  • Amazon EC2에 대해 자동으로 검색된 IAM 역할을 사용하여 데이터를 수집하는 것은 AWS 중국 지역에서 지원되지 않습니다.

아키텍처

AWS 네트워크 방화벽 및 스플렁크 로깅 아키텍처

다이어그램은 다음을 보여 줍니다.

  1. Network Firewall은 로그를 로그에 CloudWatch 게시합니다.

  2. Splunk Enterprise는 에서 메트릭과 로그를 검색합니다. CloudWatch

이 아키텍처에 예제 메트릭과 로그를 채우기 위해 워크로드는 Network Firewall 엔드포인트를 통과하여 인터넷으로 이동하는 트래픽을 생성합니다. 이는 라우팅 테이블을 사용하여 달성됩니다. 이 패턴은 단일 Amazon EC2 인스턴스를 워크로드로 사용하지만, 이 패턴은 로그를 Logs로 전송하도록 Network Firewall이 구성되어 있는 한 모든 아키텍처에 적용할 수 있습니다. CloudWatch

또한 이 아키텍처는 다른 가상 사설 클라우드 (VPC) 의 Splunk Enterprise 인스턴스를 사용합니다. 하지만 Splunk 인스턴스는 API에 CloudWatch 도달할 수 있는 한 다른 위치 (예: 워크로드와 동일한 VPC) 에 있을 수 있습니다.

도구

서비스

  • Amazon CloudWatch Logs를 사용하면 모든 시스템, 애플리케이션 및 AWS 서비스의 로그를 중앙 집중화하여 로그를 모니터링하고 안전하게 보관할 수 있습니다.

  • Amazon Elastic Compute Cloud(Amazon EC2)‬는 AWS 클라우드에서 확장 가능한 컴퓨팅 용량을 제공합니다. 필요한 만큼 가상 서버를 시작하고 빠르게 스케일 업하거나 스케일 다운할 수 있습니다.

  • AWS Network Firewall은 AWS Cloud를 위한 상태 저장형, 관리형 네트워크 방화벽이자, 침입 탐지 및 방지 서비스입니다.

기타 도구

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

에픽

작업설명필요한 기술

IAM 정책을 생성합니다.

JSON 편집기를 사용한 정책 생성의 지침에 따라 CloudWatch 로그 데이터 및 지표에 대한 읽기 전용 액세스 권한을 부여하는 IAM 정책을 생성하십시오. CloudWatch 다음 정책을 JSON 편집기에 붙여넣습니다.

{ "Statement": [ { "Action": [ "cloudwatch:List*", "cloudwatch:Get*", "network-firewall:List*", "logs:Describe*", "logs:Get*", "logs:List*", "logs:StartQuery", "logs:StopQuery", "logs:TestMetricFilter", "logs:FilterLogEvents", "network-firewall:Describe*" ], "Effect": "Allow", "Resource": "*" } ], "Version": "2012-10-17" }
AWS 관리자

새 IAM 역할을 생성합니다.

AWS 서비스에 권한을 위임할 역할 생성의 지침에 따라 AWS용 Splunk 애드온이 액세스하는 데 사용하는 IAM 역할을 생성합니다. CloudWatch 권한 정책의 경우 이전에 생성한 정책을 선택합니다.

AWS 관리자

Splunk 클러스터의 EC2 인스턴스에 IAM 역할을 할당합니다.

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 인스턴스를 선택합니다.

  3. Splunk 클러스터에서 EC2 인스턴스를 선택합니다.

  4. 작업, 보안, IAM 역할 수정을 차례로 선택합니다.

  5. 이전에 생성한 IAM 역할을 선택한 다음 [Save] 를 선택합니다.

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

애드온을 설치합니다.

  1. Splunk 대시보드에서 Splunk 앱으로 이동합니다.

  2. Amazon Web Services용 스플렁크 애드온을 검색하십시오.

  3. 설치를 선택합니다.

  4. Splunk 자격 증명을 제공하십시오.

스플렁크 관리자

AWS 자격 증명을 구성합니다.

  1. Splunk 대시보드에서 AWS용 스플렁크 애드온으로 이동합니다.

  2. Configuration(구성)을 선택합니다.

  3. 자동 검색된 IAM 역할 열에서 이전에 생성한 IAM 역할을 선택합니다.

자세한 내용은 Splunk 설명서의 Splunk 플랫폼 인스턴스 내에서 IAM 역할 찾기를 참조하십시오.

스플렁크 관리자
작업설명필요한 기술

로그에서 CloudWatch Network Firewall 로그를 검색하도록 구성합니다.

  1. Splunk 대시보드에서 AWS용 스플렁크 애드온으로 이동합니다.

  2. 입력을 선택합니다.

  3. 새 입력 생성을 선택합니다.

  4. 목록에서 사용자 지정 데이터 유형을 선택한 다음 CloudWatch 로그를 선택합니다.

  5. Network Firewall 로그의 이름, AWS 계정, AWS 지역, 로그 그룹을 입력합니다.

  6. 저장을 선택합니다.

기본적으로 Splunk는 10분마다 로그 데이터를 가져옵니다. 이는 고급 설정에서 구성할 수 있는 매개변수입니다. 자세한 내용은 Splunk 설명서의 Splunk Web을 사용한 CloudWatch 로그 입력 구성을 참조하십시오.

Splunk 관리자

에서 CloudWatch Network Firewall 메트릭의 검색을 구성합니다.

  1. Splunk 대시보드에서 AWS용 스플렁크 애드온으로 이동합니다.

  2. 입력을 선택합니다.

  3. 새 입력 생성을 선택합니다.

  4. 목록에서 선택합니다 CloudWatch.

  5. Network Firewall 지표에 대한 이름, AWS 계정, AWS 지역을 제공하십시오.

  6. 지표 구성 옆의 고급 모드에서 편집을 선택합니다.

  7. (선택 사항) 사전 구성된 네임스페이스를 모두 삭제합니다. 

  8. [네임스페이스 추가] 를 선택한 다음 이름을 AWS/로 지정합니다. NetworkFirewall

  9. 차원 값에 다음을 추가합니다.

    [{"AvailabilityZone":[".*"],"Engine":[".*"],"FirewallName":[".*"]}]
  10. 지표의 경우 모두를 선택합니다.

  11. 지표 통계의 경우 합계를 선택합니다.

  12. 확인을 선택합니다.

  13. 저장을 선택합니다.

기본적으로 Splunk는 5분마다 지표 데이터를 가져옵니다. 이는 고급 설정에서 구성할 수 있는 매개변수입니다. 자세한 내용은 Splunk 설명서의 Splunk Web을 사용한 CloudWatch 입력 구성을 참조하십시오.

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

상위 소스 IP 주소 보기

  1. Splunk 대시보드에서 검색 및 보고로 이동합니다.

  2. 여기에 검색 입력 상자에 다음을 입력합니다.

    sourcetype="aws:cloudwatchlogs" | top event.src_ip

    이 쿼리는 트래픽이 가장 많은 소스 IP 주소 표를 내림차순으로 표시합니다.

  3. 그래픽으로 표시하려면 시각화를 선택하십시오.

Splunk 관리자

패킷 통계 보기.

  1. Splunk 대시보드에서 검색 및 보고로 이동합니다.

  2. 여기에 검색 입력 상자에 다음을 입력합니다.

    sourcetype="aws:cloudwatch"| timechart sum(Sum) by metric_name

    이 쿼리에는 측정치 DroppedPacketsReceivedPackets 분당 테이블이 표시됩니다. PassedPackets

  3. 그래픽으로 표시하려면 시각화를 선택하세요.

Splunk 관리자

가장 많이 사용되는 소스 포트 보기

  1. Splunk 대시보드에서 검색 및 보고로 이동합니다.

  2. 여기에 검색 입력 상자에 다음을 입력합니다.

    sourcetype="aws:cloudwatchlogs" | top event.dest_port

    이 쿼리는 트래픽이 가장 많은 소스 포트 표를 내림차순으로 표시합니다.

  3. 그래픽으로 표시하려면 시각화를 선택하십시오.

Splunk 관리자

관련 리소스

AWS 설명서

AWS 블로그 게시물

AWS Marketplace