IPv4 및 에 대한 보안 그룹 수신 규칙에서 단일 호스트 네트워크 항목 확인 IPv6 - AWS 권장 가이드

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

IPv4 및 에 대한 보안 그룹 수신 규칙에서 단일 호스트 네트워크 항목 확인 IPv6

작성자 SaiJeevan : Devireddy(AWS), Ganesh Kumar(AWS) 및 John Reynolds(AWS)

환경: 프로덕션

기술: 네트워킹; 보안, 자격 증명, 규정 준수

AWS 서비스: Amazon SNS, AWS CloudFormation, Amazon CloudWatch, AWS Lambda, Amazon VPC

요약

이 패턴은 Amazon Web Services(AWS) 리소스가 사양을 충족하지 못할 때 이를 알리는 보안 제어를 제공합니다. 인터넷 프로토콜 버전 4(IPv4) 및 IPv6 보안 그룹 소스 주소 필드 모두에서 단일 호스트 네트워크 항목을 찾는 AWS Lambda 함수를 제공합니다. Lambda 함수는 Amazon CloudWatch Events가 Amazon Elastic Compute Cloud(Amazon EC2) AuthorizeSecurityGroupIngressAPI 호출을 감지할 때 시작됩니다. Lambda 함수의 사용자 지정 로직은 보안 그룹 수신 규칙 CIDR 블록의 서브넷 마스크를 평가합니다. 서브넷 마스크가 /32(IPv4) 또는 /128() 이외의 것으로 확인되면 Lambda 함수IPv6는 Amazon Simple Notification Service(Amazon)를 사용하여 위반 알림을 보냅니다SNS.

사전 조건 및 제한 사항

사전 조건 

  • 활성 AWS 계정

  • 위반 알림을 수신하려는 이메일 주소

제한 사항

  • 이 보안 모니터링 솔루션은 리전이며 모니터링하려는 각 AWS 리전에 배포해야 합니다.

아키텍처

대상 기술 스택  

  • Lambda 함수

  • SNS 주제

  • Amazon EventBridge 규칙

대상 아키텍처 

CloudWatch 이벤트는 Lambda 함수를 시작하여 Amazon을 사용하여 보안 알림을 SNS 보냅니다.

자동화 및 규모 조정

  • AWS Organizations를 사용하는 경우 AWS Cloudformation StackSets을 사용하여 모니터링하려는 여러 계정에 이 템플릿을 배포할 수 있습니다.

도구

AWS 서비스

  • AWS CloudFormation 는 인프라를 코드로 사용하여 AWS 리소스를 모델링하고 설정하는 데 도움이 되는 서비스입니다.

  • Amazon EventBridge은 자체 애플리케이션, 서비스형 소프트웨어(SaaS) 애플리케이션 및 AWS 서비스에서 실시간 데이터 스트림을 제공하고 해당 데이터를 Lambda 함수와 같은 대상으로 라우팅합니다.

  • AWS Lambda는 서버를 프로비저닝하거나 관리하지 않고도 실행 중인 코드를 지원합니다.

  • Amazon S3-Amazon Simple Storage Service(S3)는 웹 사이트, 모바일 애플리케이션, 백업, 데이터 레이크 등 다양한 스토리지 솔루션에 사용할 수 있는 확장성이 뛰어난 객체 스토리지 서비스입니다.

  • AmazonSNS은 웹 서버 및 이메일 주소를 포함하여 게시자와 클라이언트 간의 메시지 전송 또는 전송을 조정하고 관리합니다. 구독자는 구독하는 주제에 게시된 모든 메시지를 수신하며 주제에 대한 모든 구독자는 동일한 메시지를 수신합니다.

코드

첨부된 코드에는 다음이 포함됩니다.

  • Lambda 보안 제어 코드(index.py)가 포함된 .zip 파일

  • Lambda 코드를 배포하기 위해 실행하는 CloudFormation 템플릿(security-control.yml 파일)

에픽

작업설명필요한 기술

Lambda 코드용 S3 버킷을 생성합니다.

Amazon S3 콘솔에서 앞에 슬래시를 포함하지 않는 고유한 이름을 가진 S3 버킷을 생성합니다. S3 버킷 이름은 전역적으로 고유하며 네임스페이스는 모든 AWS 계정에서 공유됩니다. S3 버킷은 보안 그룹 수신 확인을 배포하려는 AWS 리전에 있어야 합니다.

클라우드 아키텍트

Lambda 코드를 S3 버킷에 업로드

Attachments 섹션에 제공된 Lambda 코드(security-control-lambda.zip 파일)를 이전 단계에서 생성한 S3 버킷에 업로드합니다.

클라우드 아키텍트
작업설명필요한 기술

Python 버전을 변경합니다.

첨부 파일 섹션에 제공된 CloudFormation 템플릿(security-control.yml)을 다운로드합니다. 파일을 열고 Lambda에서 지원하는 최신 버전(현재 Python 3.9)을 반영하도록 Python 버전을 수정합니다.

예를 들어, 코드에서 python 을 검색하고 Runtime의 값을 python3.6에서 python3.9로 변경할 수 있습니다.

Python 런타임 버전 지원에 대한 최신 정보는 AWS Lambda 설명서 를 참조하세요.

클라우드 아키텍트

AWS CloudFormation 템플릿을 배포합니다.

AWS CloudFormation 콘솔의 S3 버킷과 동일한 AWS 리전에 CloudFormation 템플릿()을 배포합니다security-control.yml.

클라우드 아키텍트

S3 버킷 이름을 지정합니다.

S3 버킷 파라미터에 대해 첫 번째 에픽에서 생성한 S3 버킷의 이름을 지정합니다.

클라우드 아키텍트

Lambda 파일의 Amazon S3 키 이름을 지정합니다.

S3 Key 파라미터의 경우, S3 버킷에 있는 Lambda 코드 .zip 파일의 Amazon S3 위치를 지정합니다. 앞에 슬래시를 포함하지 않아야 합니다. (예: lambda.zip 또는 controls/lambda.zip를 입력할 수 있음)

클라우드 아키텍트

알림 이메일 주소를 입력합니다.

알림 이메일 파라미터의 경우 위반 알림을 받고자 하는 이메일 주소를 제공합니다. 

클라우드 아키텍트

로깅 수준을 정의합니다.

Lambda 로깅 수준 파라미터의 경우 Lambda 함수의 로깅 수준을 정의합니다. 다음 값 중 하나를 선택합니다.

  • INFO애플리케이션의 진행 상황에 대한 자세한 정보 메시지를 가져옵니다.

  • ERROR애플리케이션이 계속 실행되도록 허용할 수 있는 오류 이벤트에 대한 정보를 가져옵니다.

  • WARNING잠재적으로 유해한 상황에 대한 정보를 얻을 수 있습니다.

클라우드 아키텍트
작업설명필요한 기술

구독을 확인합니다.

CloudFormation 템플릿이 성공적으로 배포되면 새 SNS 주제가 생성되고 제공한 이메일 주소로 구독 메시지가 전송됩니다. 위반 알림을 받으려면 이 이메일 구독을 확인해야 합니다.

클라우드 아키텍트

관련 리소스

첨부

이 문서와 관련된 추가 콘텐츠에 액세스하려면 attachment.zip 파일의 압축을 풉니다.