에서 데이터 수집 AWS 서비스 - Amazon Security Lake

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

에서 데이터 수집 AWS 서비스

Amazon Security Lake는 기본적으로 지원되는 AWS 서비스에서 로그 및 이벤트를 수집할 수 있습니다.

  • AWS CloudTrail 관리 및 데이터 이벤트 (S3, Lambda)

  • 아마존 엘라스틱 쿠버네티스 서비스 (아마존 EKS) 감사 로그

  • Amazon Route 53 Resolver 쿼리 로그

  • AWS Security Hub 조사 결과

  • Amazon Virtual Private Cloud(VPC) 흐름 로그

  • AWS WAF v2 로그

Security Lake는 이 데이터를 개방형 사이버 보안 스키마 프레임워크 (OCSF) 및 Apache Parquet 형식으로 자동 변환합니다.

작은 정보

위의 서비스 중 하나 이상을 Security Lake의 로그 소스로 추가하려면 CloudTrail 관리 이벤트를 제외하고 이러한 서비스에서 로깅을 별도로 구성할 필요가 없습니다. 이러한 서비스에 로깅이 구성되어 있는 경우 Security Lake의 로그 소스로 추가하기 위해 로깅 구성을 변경할 필요가 없습니다. Security Lake는 독립적이고 복제된 이벤트 스트림을 통해 이러한 서비스에서 직접 데이터를 가져옵니다.

사전 조건: 권한 검증

AWS 서비스 Security Lake에서 소스로 추가하려면 필요한 권한이 있어야 합니다. 소스를 추가하는 데 사용하는 역할에 연결된 AWS Identity and Access Management (IAM) 정책에 다음 작업을 수행할 권한이 있는지 확인하십시오.

  • glue:CreateDatabase

  • glue:CreateTable

  • glue:GetDatabase

  • glue:GetTable

  • glue:UpdateTable

  • iam:CreateServiceLinkedRole

  • s3:GetObject

  • s3:PutObject

역할에는 및 s3:PutObject 권한에 대한 다음과 같은 조건과 리소스 범위를 갖는 것이 좋습니다. S3:getObject

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowUpdatingSecurityLakeS3Buckets", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::aws-security-data-lake*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } } ] }

이러한 작업을 통해 AWS 서비스 AN에서 로그와 이벤트를 수집하여 올바른 AWS Glue 데이터베이스와 테이블로 보낼 수 있습니다.

데이터 레이크의 서버 측 암호화에 AWS KMS 키를 사용하는 경우 에 대한 권한도 필요합니다. kms:DescribeKey

CloudTrail 이벤트 로그

AWS CloudTrail , AWS SDK, 명령줄 도구 및 특정 AWS 서비스를 사용하여 이루어진 API 호출을 포함하여 계정에 대한 API 호출 기록을 제공합니다. AWS AWS Management Console CloudTrail 또한 지원하는 서비스의 AWS API를 호출한 사용자 및 계정, 호출이 이루어진 소스 IP 주소 CloudTrail, 호출이 발생한 시기도 식별할 수 있습니다. 자세한 내용은 AWS CloudTrail 사용 설명서를 참조하십시오.

Security Lake는 S3 및 Lambda의 CloudTrail 관리 이벤트 및 CloudTrail 데이터 이벤트와 관련된 로그를 수집할 수 있습니다. CloudTrail 관리 이벤트, S3 데이터 이벤트 및 Lambda 데이터 이벤트는 Security Lake의 세 가지 개별 소스입니다. 따라서 이들 중 하나를 수집된 로그 소스로 추가하면 sourceName 값이 달라집니다. 컨트롤 플레인 이벤트라고도 하는 관리 이벤트는 사용자의 리소스에서 수행되는 관리 작업에 대한 통찰력을 제공합니다. AWS 계정 CloudTrail 데이터 플레인 작업이라고도 하는 데이터 이벤트는 내 리소스에서 또는 해당 리소스 내에서 수행된 리소스 작업을 보여줍니다 AWS 계정. 이러한 작업은 대량의 활동인 경우가 많습니다.

Security Lake에서 CloudTrail 관리 이벤트를 수집하려면 읽기 및 쓰기 CloudTrail 관리 이벤트를 수집하는 CloudTrail 다중 지역 조직 트레일이 하나 이상 있어야 합니다. 추적에 대한 로깅이 활성화되어 있어야 합니다. 다른 서비스에 로깅을 구성한 경우 Security Lake의 로그 소스로 추가하기 위해 로깅 구성을 변경할 필요가 없습니다. Security Lake는 독립적이고 복제된 이벤트 스트림을 통해 이러한 서비스에서 직접 데이터를 가져옵니다.

다중 리전 추적은 여러 리전의 로그 파일을 단일 AWS 계정에 대한 Amazon Simple Storage Service(S3) 버킷으로 전송합니다. CloudTrail 콘솔 또는 AWS Control Tower를 통해 관리되는 다중 지역 트레일이 이미 있는 경우 추가 조치가 필요하지 않습니다.

  • 트레일 스루를 만들고 관리하는 방법에 대한 자세한 내용은 AWS CloudTrail 사용 설명서의 조직을 위한 트레일 만들기를 참조하십시오. CloudTrail

  • 트레일 스루 AWS Control Tower만들기 및 관리에 대한 자세한 내용은 AWS Control Tower 사용 설명서의 AWS Control Tower 작업 로깅을 참조하십시오. AWS CloudTrail

CloudTrail 이벤트를 소스로 추가하면 Security Lake는 즉시 CloudTrail 이벤트 로그 수집을 시작합니다. 독립적이고 복제된 이벤트 스트림을 CloudTrail 통해 직접 CloudTrail 관리 및 데이터 이벤트를 소비합니다.

Security Lake는 CloudTrail 이벤트를 관리하거나 기존 CloudTrail 구성에 영향을 주지 않습니다. CloudTrail 이벤트 액세스 및 보존을 직접 관리하려면 CloudTrail 서비스 콘솔 또는 API를 사용해야 합니다. 자세한 내용은 AWS CloudTrail 사용 설명서의 CloudTrail 이벤트 기록으로 이벤트 보기를 참조하십시오.

다음 목록은 Security Lake가 CloudTrail 이벤트를 OCSF로 정규화하는 방법에 대한 매핑 참조로 연결되는 GitHub 리포지토리 링크를 제공합니다.

GitHub OCSF 이벤트 리포지토리 CloudTrail
  • 소스 버전 1 (v1.0.0-rc.2)

  • 소스 버전 2 (v1.1.0)

아마존 EKS 감사 로그

Amazon EKS 감사 로그를 소스로 추가하면 Security Lake는 EKS (엘라스틱 쿠버네티스 서비스) 클러스터에서 실행되는 쿠버네티스 리소스에서 수행된 활동에 대한 심층 정보를 수집하기 시작합니다. EKS 감사 로그는 Amazon Elastic Kubernetes Service 내의 EKS 클러스터에서 잠재적으로 의심스러운 활동을 탐지하는 데 도움이 됩니다.

Security Lake는 독립적이고 중복된 감사 로그 스트림을 통해 Amazon EKS 컨트롤 플레인 로깅 기능에서 직접 EKS 감사 로그 이벤트를 사용합니다. 이 프로세스는 추가 설정이 필요하지 않거나 기존 Amazon EKS 컨트롤 플레인 로깅 구성에 영향을 주지 않도록 설계되었습니다. 자세한 내용을 알아보려면 Amazon EKS 사용자 설명서Amazon EKS 클러스터 컨트롤 플레인 로깅을 참조하세요.

Amazon EKS 감사 로그는 OCSF v1.1.0에서만 지원됩니다. Security Lake가 EKS 감사 로그 이벤트를 OCSF로 정규화하는 방법에 대한 자세한 내용은 Amazon EKS 감사 로그 이벤트에 대한 GitHub OCSF 리포지토리의 매핑 참조 (v1.1.0) 를 참조하십시오.

Route 53 Resolver 쿼리 로그

Route 53 resolver 쿼리 로그는 Amazon Virtual Private Cloud(VPC)내의 리소스에서 만든 DNS 쿼리를 추적합니다. 이를 통해 애플리케이션 작동 방식을 이해하고 보안 위협을 찾아낼 수 있습니다.

Route 53 resolver 쿼리 로그를 Security Lake의 소스로 추가하면 Security Lake는 독립적이고 복제된 이벤트 스트림을 통해 Route 53에서 직접 resolver 쿼리 로그를 즉시 수집하기 시작합니다.

Security Lake는 Route 53 로그를 관리하거나 기존 Resolver 쿼리 로깅 구성에 영향을 주지 않습니다. Resolver 쿼리 로그를 관리하려면 Route 53 서비스 콘솔을 사용해야 합니다. Resolver 쿼리 로깅에 대한 자세한 내용은 Amazon Route 53 개발자 안내서Resolver 쿼리 로깅 구성 관리를 참조하세요.

다음 목록은 Security Lake가 Route 53 로그를 OCSF로 정규화하는 방법에 대한 매핑 참조로 연결되는 GitHub 리포지토리 링크를 제공합니다.

GitHub Route 53 로그용 OCSF 리포지토리
  • 소스 버전 1 (v1.0.0-rc.2)

  • 소스 버전 2 (v1.1.0)

Security Hub 조사 결과

Security Hub 조사 결과는 보안 상태를 이해하는 데 도움이 되며 보안 업계 표준 AWS 및 모범 사례와 비교하여 환경을 점검할 수 있습니다. Security Hub는 다른 타사 제품 통합과의 통합 AWS 서비스, Security Hub 제어 항목 비교 등 다양한 소스에서 결과를 수집합니다. Security Hub는 검색 결과를 AWS 보안 검색 형식 (ASFF) 이라는 표준 형식으로 처리합니다.

Security Hub 조사 결과를 Security Lake의 소스로 추가하면 Security Lake는 즉시 독립적이고 복제된 이벤트 스트림을 통해 Security Hub에서 직접 결과를 수집하기 시작합니다. 또한 Security Lake는 조사 결과를 ASFF에서 개방형 사이버 보안 스키마 프레임워크 (OCSF) (OCSF) 로 변환합니다.

Security Lake는 Security Hub 조사 결과를 관리하거나 Security Hub 설정에 영향을 주지 않습니다. Security Hub 검색 결과를 관리하려면 Security Hub 서비스 콘솔, API 또는 를 사용해야 AWS CLI합니다. 자세한 내용은 AWS Security Hub 사용 설명서조사 결과 AWS Security Hub를 참조하세요.

다음 목록은 Security Lake가 Security Hub 검색 결과를 OCSF로 정규화하는 방법에 대한 매핑 참조에 대한 GitHub 리포지토리 링크를 제공합니다.

GitHub Security Hub 조사 결과를 위한 OCSF 리포지토리
  • 소스 버전 1 (v1.0.0-rc.2)

  • 소스 버전 2 (v1.1.0)

VPC 흐름 로그

Amazon VPC의 VPC 흐름 로그 기능은 환경 내 네트워크 인터페이스와 주고받는 IP 트래픽에 대한 정보를 캡처합니다.

Security Lake에서 VPC 흐름 로그를 소스로 추가하면 Security Lake는 즉시 VPC 흐름 로그를 수집하기 시작합니다. 독립적이고 중복된 흐름 로그 스트림을 통해 Amazon VPC에서 직접 VPC 흐름 로그를 사용합니다.

Security Lake는 VPC 흐름 로그를 관리하거나 Amazon VPC 구성에 영향을 주지 않습니다. 흐름 로그를 관리하려면 Amazon VPC 서비스 콘솔을 사용해야 합니다. 자세한 내용은 Amazon VPC 개발자 안내서의 흐름 로그로 작업을 참조하세요.

다음 목록은 Security Lake가 VPC 흐름 로그를 OCSF로 정규화하는 방법에 대한 매핑 참조에 대한 GitHub 리포지토리 링크를 제공합니다.

GitHub VPC 플로우 로그를 위한 OCSF 리포지토리

AWS WAF 로그

Security Lake에 로그 AWS WAF 소스로 추가하면 Security Lake가 즉시 로그 수집을 시작합니다. AWS WAF 최종 사용자가 애플리케이션에 보내는 웹 요청을 모니터링하고 콘텐츠에 대한 액세스를 제어하는 데 사용할 수 있는 웹 애플리케이션 방화벽입니다. 로깅되는 정보에는 AWS 리소스로부터 웹 요청을 AWS WAF 받은 시간, 요청에 대한 세부 정보, 요청과 일치하는 규칙에 대한 세부 정보가 포함됩니다.

Security Lake는 독립적이고 복제된 로그 스트림을 AWS WAF 통해 직접 AWS WAF 로그를 소비합니다. 이 프로세스는 추가 설정이 필요하거나 기존 AWS WAF 구성에 영향을 주지 않도록 설계되었습니다. 애플리케이션 리소스를 보호하는 AWS WAF 데 사용할 수 있는 방법에 대한 자세한 내용은 AWS WAF 개발자 안내서의 AWS WAF 작동 방식을 참조하십시오.

중요

Amazon CloudFront 배포를 리소스 유형으로 사용하는 경우 Security Lake의 AWS WAF글로벌 로그를 수집하려면 미국 동부 (버지니아 북부) 를 선택해야 합니다.

AWS WAF 로그는 OCSF v1.1.0에서만 지원됩니다. Security Lake가 AWS WAF 로그 이벤트를 OCSF로 정규화하는 방법에 대한 자세한 내용은 OCSF 리포지토리의 로그 매핑 참조 (v1.1.0) 를 참조하십시오. GitHub AWS WAF

소스로 추가 AWS 서비스

AWS 서비스 소스로 추가하면 Security Lake는 해당 소스에서 보안 로그와 이벤트를 자동으로 수집하기 시작합니다. 이 지침은 기본적으로 지원되는 소스를 Security AWS 서비스 Lake에 추가하는 방법을 설명합니다. 사용자 지정 소스 추가에 대한 지침은 사용자 지정 소스에서 데이터 수집 단원을 참조하십시오.

Console
AWS 로그 소스를 추가하려면 (콘솔)
  1. Security Lake 콘솔(https://console.aws.amazon.com/securitylake/)을 엽니다.

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

  3. 데이터를 AWS 서비스 수집하려는 항목을 선택하고 구성을 선택합니다.

  4. 소스 설정 섹션에서 원본을 활성화하고 데이터 통합에 사용할 데이터 원본의 버전을 선택합니다. 기본적으로 최신 버전의 데이터 원본은 Security Lake에서 인제스트됩니다.

    중요

    지정된 지역에서 새 버전의 AWS 로그 소스를 활성화하는 데 필요한 역할 권한이 없는 경우 Security Lake 관리자에게 문의하십시오. 자세한 내용은 역할 권한 업데이트를 참조하십시오.

    구독자가 선택한 버전의 데이터 원본을 인제스트하려면 구독자 설정도 업데이트해야 합니다. 구독자를 편집하는 방법에 대한 자세한 내용은 Amazon Security Lake의 구독자 관리를 참조하십시오.

    선택적으로 최신 버전만 인제스트하고 데이터 수집에 사용된 이전 소스 버전은 모두 비활성화하도록 선택할 수 있습니다.

  5. 지역 섹션에서 소스에 대한 데이터를 수집할 지역을 선택합니다. Security Lake는 선택한 리전의 모든 계정에서 소스에서 데이터를 수집합니다.

  6. 활성화를 선택합니다.

API

AWS 로그 소스 (API) 를 추가하려면

프로그래밍 방식으로 AWS 서비스 소스로 추가하려면 Security Lake API의 CreateAwsLogSource작업을 사용하십시오. AWS Command Line Interface (AWS CLI) 를 사용하는 경우 create-aws-log-source 명령을 실행하십시오. sourceNameregions 파라미터가 필요합니다. 선택적으로 소스의 범위를 특정 또는 특정 소스로 제한할 수 있습니다. accounts sourceVersion

중요

명령에 매개 변수를 제공하지 않으면 Security Lake는 누락된 매개 변수가 전체 집합을 참조한다고 가정합니다. 예를 들어 accounts 매개 변수를 제공하지 않으면 조직의 전체 계정 집합에 명령이 적용됩니다.

다음 예시에서는 VPC 흐름 로그를 지정된 계정 및 지역의 소스로 추가합니다. 이 예제는 Linux, macOS 또는 Unix용으로 포맷되었으며 가독성을 높이기 위해 백슬래시(\) 줄 연속 문자를 사용합니다.

참고

Security Lake를 활성화하지 않은 지역에 이 요청을 적용하면 오류가 발생합니다. 해당 지역에서 Security Lake를 활성화하거나 regions 파라미터를 사용하여 Security Lake를 활성화한 지역만 지정하여 오류를 해결할 수 있습니다.

$ aws securitylake create-aws-log-source \ --sources sourceName=VPC_FLOW,accounts='["123456789012", "111122223333"]',regions=["us-east-2"],sourceVersion="2.0"

역할 권한 업데이트

새 버전의 데이터 소스에서 데이터를 수집하는 데 필요한 역할 권한 또는 리소스 (새 AWS Lambda 함수 및 Amazon Simple Queue Service (Amazon SQS) 큐) 가 없는 경우, 역할 권한을 AmazonSecurityLakeMetaStoreManagerV2 업데이트하고 소스에서 데이터를 처리하는 데 필요한 새 리소스 세트를 생성해야 합니다.

원하는 방법을 선택하고 지침에 따라 역할 권한을 업데이트하고 새 리소스를 생성하여 지정된 지역의 새 버전의 AWS 로그 소스에서 데이터를 처리하십시오. 권한 및 리소스가 향후 데이터 원본 릴리스에 자동으로 적용되므로 이는 일회성 작업입니다.

Console
역할 권한을 업데이트하려면 (콘솔)
  1. Security Lake 콘솔(https://console.aws.amazon.com/securitylake/)을 엽니다.

    위임된 Security Lake 관리자의 자격 증명으로 로그인하십시오.

  2. 탐색 창의 설정 아래에서 일반을 선택합니다.

  3. 역할 권한 업데이트를 선택합니다.

  4. 서비스 액세스 섹션에서 다음 중 하나를 수행하십시오.

    • 새 서비스 역할 생성 및 사용 — Security Lake에서 생성한 AmazonSecurityLakeMetaStoreManagerV2 역할을 사용할 수 있습니다.

    • 기존 서비스 역할 사용 - 서비스 역할 이름 목록에서 기존 서비스 역할을 선택할 수 있습니다.

  5. 적용를 선택합니다.

API

역할 권한 (API) 업데이트하기

프로그래밍 방식으로 권한을 업데이트하려면 Security Lake API의 UpdateDataLake작업을 사용하십시오. 를 사용하여 권한을 업데이트하려면 update-data-lake명령을 실행합니다. AWS CLI

역할 권한을 업데이트하려면 AmazonSecurityLakeMetastoreManager정책을 역할에 연결해야 합니다.

AmazonSecurityLakeMetaStoreManager 역할 삭제

중요

역할 권한을 로 AmazonSecurityLakeMetaStoreManagerV2 업데이트한 후 이전 AmazonSecurityLakeMetaStoreManager 역할을 제거하기 전에 데이터 레이크가 제대로 작동하는지 확인하십시오. 4시간 이상 기다린 후 역할을 제거하는 것이 좋습니다.

역할을 제거하기로 결정한 경우 먼저 역할을 삭제해야 합니다. AmazonSecurityLakeMetaStoreManager AWS Lake Formation

Lake Formation 콘솔에서 AmazonSecurityLakeMetaStoreManager 역할을 제거하려면 다음 단계를 따르십시오.

  1. 에 AWS Management Console로그인하고 https://console.aws.amazon.com/lakeformation/ 에서 Lake Formation 콘솔을 엽니다.

  2. Lake Formation 콘솔의 탐색 창에서 관리자 역할 및 작업을 선택합니다.

  3. 각 지역에서 AmazonSecurityLakeMetaStoreManager 제거하세요.

AWS 서비스 소스로 삭제하기

액세스 방법을 선택하고 다음 단계에 따라 기본적으로 지원되는 Security Lake 소스를 AWS 서비스 제거하세요. 하나 이상의 리전에 대한 소스를 제거할 수 있습니다. 소스를 제거하면 Security Lake는 지정된 리전 및 계정의 해당 소스에서 데이터 수집을 중단하고 구독자는 더 이상 원본의 새 데이터를 사용할 수 없습니다. 하지만 구독자는 Security Lake가 제거 전에 소스에서 수집한 데이터를 계속 사용할 수 있습니다. 이 지침은 기본적으로 AWS 서비스 지원되는 소스를 제거할 때만 사용할 수 있습니다. 사용자 지정 소스 제거에 대한 자세한 내용은 사용자 지정 소스에서 데이터 수집을 참조하십시오.

Console
  1. Security Lake 콘솔(https://console.aws.amazon.com/securitylake/)을 엽니다.

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

  3. 소스를 선택하고 비활성화를 선택합니다.

  4. 이 소스에서 데이터 수집을 중단하려는 리전 또는 리전들을 선택합니다. Security Lake는 선택한 리전의 모든 계정에서 소스로부터 데이터를 수집하는 것을 중단합니다.

API

프로그래밍 방식으로 소스를 제거하려면 AWS 서비스 Security Lake API의 DeleteAwsLogSource작업을 사용하십시오. AWS Command Line Interface (AWS CLI) 를 사용하는 경우 delete-aws-log-source 명령을 실행하십시오. sourceNameregions 파라미터가 필요합니다. 선택적으로 제거 범위를 특정 또는 특정 범위로 제한할 수 있습니다. accounts sourceVersion

중요

명령에 매개 변수를 제공하지 않으면 Security Lake는 누락된 매개 변수가 전체 집합을 참조한다고 가정합니다. 예를 들어 accounts 매개 변수를 제공하지 않으면 조직의 전체 계정 집합에 명령이 적용됩니다.

다음 예에서는 지정된 계정 및 지역에서 VPC 흐름 로그를 원본으로 제거합니다.

$ aws securitylake delete-aws-log-source \ --sources sourceName=VPC_FLOW,accounts='["123456789012", "111122223333"]',regions='["us-east-1", "us-east-2"]',sourceVersion="2.0"

다음 예시에서는 지정된 계정 및 지역에서 Route 53을 소스로 제거합니다.

$ aws securitylake delete-aws-log-source \ --sources sourceName=ROUTE53,accounts='["123456789012"]',regions='["us-east-1", "us-east-2"]',sourceVersion="2.0"

위의 예제는 Linux, macOS 또는 Unix용으로 포맷되었으며 가독성을 높이기 위해 백슬래시 (\) 줄 연속 문자를 사용합니다.

소스 컬렉션 상태 가져오기

액세스 방법을 선택하고 단계에 따라 현재 지역에서 로그 수집이 활성화된 계정 및 소스의 스냅샷을 가져오세요.

Console
현재 지역의 로그 수집 상태를 확인하려면
  1. Security Lake 콘솔(https://console.aws.amazon.com/securitylake/)을 엽니다.

  2. 탐색 창에서 계정을 선택합니다.

  3. 소스 열의 숫자 위에 커서를 올려 놓으면 선택한 계정에 대해 어떤 로그가 활성화되어 있는지 확인할 수 있습니다.

API

현재 지역의 로그 수집 상태를 확인하려면 Security Lake API의 GetDataLakeSources작업을 사용하십시오. 를 사용하는 경우 AWS CLIget-data-lake-sources 명령을 실행하십시오. accounts파라미터에 대해 하나 이상의 ID를 목록으로 지정할 수 있습니다. AWS 계정 요청이 성공하면 Security Lake는 현재 지역의 해당 계정에 대한 스냅샷을 반환합니다. 여기에는 Security Lake가 데이터를 수집하는 AWS 소스와 각 소스의 상태가 포함됩니다. accounts매개변수를 포함하지 않는 경우 응답에는 현재 지역에 Security Lake가 구성된 모든 계정의 로그 수집 상태가 포함됩니다.

예를 들어 다음 AWS CLI 명령은 현재 지역의 지정된 계정에 대한 로그 수집 상태를 검색합니다. 이 예제는 Linux, macOS 또는 Unix용으로 포맷되었으며 가독성을 높이기 위해 백슬래시(\) 줄 연속 문자를 사용합니다.

$ aws securitylake get-data-lake-sources \ --accounts "123456789012" "111122223333"