AWS Lambda 컨트롤 - AWS Security Hub

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

AWS Lambda 컨트롤

이러한 제어는 Lambda 리소스와 관련이 있습니다.

이러한 컨트롤을 모두 사용할 수 있는 것은 아닙니다. AWS 리전자세한 내용은 리전별 제어 기능 사용 가능 여부 단원을 참조하십시오.

[Lambda.1] Lambda 함수 정책은 퍼블릭 액세스를 금지해야 합니다.

관련 요구 사항: PCI DSS v3.2.1/1.2.1, PCI DSS v3.2.1/1.3.1, PCI DSS v3.2.1/1.3.2, v3.2.1/1.3.4, PCI DSS v3.2.1/7.2.1, NIST .800-53.r5 AC-21, PCI DSS .800-53.r5 AC-3 (7), .800-53.r5 AC-4, .800-53.r5 AC-4 (21), .800-53.r5 AC-6, .800-53.r5 SC-7, NIST .800-53.r5 SC-7 (11), .800-53.r5 SC-7 (16), NIST .800-53.r5 SC-7 (20), NIST .800-53.r5 SC-7 (21) NIST NIST NIST NIST NIST NIST NIST, NIST .800-53.r5 SC-7 (3), NIST .800-53.r5 SC-7 (4), NIST .800-53.r5 SC-7 (9)

범주: 보호 > 보안 네트워크 구성

심각도: 심각

리소스 유형: AWS::Lambda::Function

AWS Config 규칙: lambda-function-public-access-prohibited

스케줄 유형: 변경이 트리거됨

파라미터: 없음

이 제어는 Lambda 함수 리소스 기반 정책이 계정 외부의 퍼블릭 액세스를 금지하는지 여부를 확인합니다. 퍼블릭 액세스가 허용되면 제어가 실패합니다. Amazon S3에서 Lambda 함수를 호출하고 정책에 AWS:SourceAccount와 같이 퍼블릭 액세스를 제한하는 조건이 포함되어 있지 않은 경우에도 제어가 실패합니다. 액세스를 더 세분화하려면 버킷 정책에 AWS:SourceAccount와 다른 S3 조건을 함께 사용하는 것이 좋습니다.

Lambda 함수는 의도하지 않은 함수 코드에 접근할 수 있으므로 공개적으로 액세스할 수 없어야 합니다.

이제 Security Hub가 와 통합되었습니다

이 문제를 해결하려면 함수의 리소스 기반 정책을 업데이트하여 권한을 제거하거나 AWS:SourceAccount 조건을 추가해야 합니다. Lambda 또는 에서만 리소스 기반 정책을 업데이트할 수 있습니다. API AWS CLI

시작하려면 Lambda 콘솔에서 리소스 기반 정책을 검토하십시오. 정책을 공개하는 Principal 필드 값(예: "*" 또는 { "AWS": "*" })이 포함된 정책문을 식별하십시오.

콘솔에서는 정책을 편집할 수 없습니다. 함수에서 권한을 제거하려면 AWS CLI에서 remove-permission 명령을 실행합니다.

$ aws lambda remove-permission --function-name <function-name> --statement-id <statement-id>

<function-name>을 Lambda 함수 이름으로 바꾸고, <statement-id>을 제거하려는 문의 문 ID(Sid)로 대체하십시오.

[Lambda.2] Lambda 함수는 지원되는 런타임을 사용해야 합니다.

관련 요구 사항: NIST .800-53.r5 CA-9 (1), .800-53.r5 CM-2, .800-53.r5 SI-2, .800-53.r5 SI-2 (2), NIST .800-53.r5 SI-2 (4), NIST .800-53.r5 SI-2 (5) NIST NIST NIST

범주: 보호 > 보안 개발

심각도: 중간

리소스 유형: AWS::Lambda::Function

AWS Config 규칙: lambda-function-settings-check

스케줄 유형: 변경이 트리거됨

파라미터:

  • runtime: dotnet8, dotnet6, java21, java17, java11, java8.al2, nodejs20.x, nodejs18.x, nodejs16.x, python3.12, python3.11, python3.10, python3.9, python3.8, ruby3.3, ruby3.2(사용자 지정할 수 없음)

이 컨트롤은 AWS Lambda 함수 런타임 설정이 각 언어에서 지원되는 런타임에 설정된 예상 값과 일치하는지 확인합니다. Lambda 함수가 이전 파라미터에서 언급한 지원되는 런타임을 사용하지 않는 경우 제어가 실패합니다. Security Hub는 패키지 유형이 Image 인 함수를 무시합니다.

Lambda 런타임은 유지 관리 및 보안 업데이트가 적용되는 운영 체제, 프로그래밍 언어, 소프트웨어 라이브러리의 조합을 기반으로 구축됩니다. 보안 업데이트를 위해 런타임 구성 요소가 더 이상 지원되지 않으면 Lambda는 런타임을 더 이상 사용하지 않습니다. 더 이상 사용되지 않는 런타임을 사용하는 함수를 만들 수는 없지만 함수를 사용하여 호출 이벤트를 처리할 수는 있습니다. Lambda 함수를 최신으로 유지하고 더 이상 사용되지 않는 런타임 환경을 사용하지 않는 것이 좋습니다. 지원되는 런타임 목록은 개발자 안내서의 Lambda 런타임을 참조하십시오.AWS Lambda

이제 Security Hub가 와 통합되었습니다

지원되는 런타임 및 지원 중단 일정에 대한 자세한 내용은 AWS Lambda 개발자 안내서런타임 지원 중단 정책을 참조하십시오. 런타임을 최신 버전으로 마이그레이션할 때는 해당 언어 게시자의 구문과 지침을 따르세요. 또한 런타임 버전이 호환되지 않는 드문 경우에 워크로드에 영향을 미칠 위험을 줄일 수 있도록 런타임 업데이트를 적용하는 것이 좋습니다.

[Lambda.3] 람다 함수는 a에 있어야 합니다. VPC

관련 요구 사항: PCI DSS v3.2.1/1.2.1, PCI DSS v3.2.1/1.3.1, PCI DSS v3.2.1/1.3.2, v3.2.1/1.3.4, NIST .800-53.r5 AC-21, .800-53.r5 AC-3, .800-53.r5 AC-3 (7), .800-53.r5 AC-4 (21), PCI DSS .800-53.r5 AC-4 (21), .800-53.r5 AC-4 (21), .800-53.r5 AC-4 (21), .800-53.r5 AC-4 (21), NIST .800-53.r5 AC-4 (21), .800-53.r5 AC-4 (21), .800-53.r5 AC-4 (21) 5 NIST AC-6, .800-53.r5 SC-7, .800-53.r5 SC-7 (11), NIST .800-53.r5 SC-7 (16), .800-53.r5 SC-7 (20), .800-53.r5 SC-7 (3), NIST .800-53.r5 SC-7 (3), NIST NIST NIST NIST NIST NIST NISTNIST.800-53.r5 SC-7 (4), NIST .800-53.r5 SC-7 (9)

범주: 보호 > 보안 네트워크 구성

심각도: 낮음

리소스 유형: AWS::Lambda::Function

AWS Config 규칙: lambda-inside-vpc

스케줄 유형: 변경이 트리거됨

파라미터: 없음

이 제어는 Lambda 함수가 가상 사설 클라우드 () 에 배포되었는지 여부를 확인합니다. VPC Lambda 함수가 a에 배포되지 않은 경우 제어가 실패합니다. VPC Security Hub는 VPC 서브넷 라우팅 구성을 평가하여 퍼블릭 연결 가능성을 결정하지 않습니다. Lambda@Edge 리소스에 대해 실패한 조사 결과가 표시될 수 있습니다.

에 리소스를 배포하면 네트워크 구성에 대한 보안 및 제어가 VPC 강화됩니다. 또한 이러한 배포는 여러 가용 영역에 걸쳐 확장성과 높은 내결함성을 제공합니다. 다양한 애플리케이션 VPC 요구 사항을 충족하도록 배포를 사용자 지정할 수 있습니다.

이제 Security Hub가 와 통합되었습니다

기존 함수를 구성하여 내 프라이빗 서브넷에 연결하려면 개발자 VPC 안내서의 VPC AWS Lambda 액세스 구성을 참조하십시오. 고가용성을 위해 최소 두 개의 프라이빗 서브넷을 선택하고 함수의 연결 요구 사항을 충족하는 보안 그룹을 하나 이상 선택하는 것이 좋습니다.

[Lambda.5] VPC Lambda 함수는 여러 가용 영역에서 작동해야 합니다.

관련 요구 사항: NIST .800-53.r5 CP-10, .800-53.r5 CP-6 (2), .800-53.r5 SC-36, NIST .800-53.r5 SC-5 (2), .800-53.r5 SI-13 (5) NIST NIST NIST

범주: 복구 > 복원력 > 고가용성

심각도: 중간

리소스 유형: AWS::Lambda::Function

AWS Config 규칙: lambda-vpc-multi-az-check

스케줄 유형: 변경이 트리거됨

파라미터:

파라미터 설명 유형 허용된 사용자 지정 값 Security Hub 기본값

availabilityZones

최소 가용 영역의 수

Enum

2, 3, 4, 5, 6

2

이 컨트롤은 가상 사설 클라우드 () 에 연결하는 함수가 최소한 지정된 수의 가용 영역 () 에서 작동하는지 확인합니다. AWS Lambda VPC AZs 함수가 지정된 개수 이상에서 작동하지 않으면 제어가 AZs 실패합니다. 최소 개수의 AZs 사용자 지정 매개 변수 값을 제공하지 않는 한 Security Hub는 기본값인 2를 사용합니다AZs.

아키텍처 내에서 고가용성을 보장하기 위한 AWS 모범 AZs 사례는 여러 곳에 리소스를 배포하는 것입니다. 가용성은 기밀성, 무결성, 가용성 3중 보안 모델의 핵심 요소입니다. VPCa에 연결되는 모든 Lambda 함수는 단일 장애 영역으로 인해 운영이 완전히 중단되지 않도록 다중 AZ 배포를 포함해야 합니다.

이제 Security Hub가 와 통합되었습니다

함수를 계정의 VPC a에 연결하도록 구성하는 경우, 서브넷을 여러 AZs 개로 지정하여 고가용성을 보장하십시오. 지침은 AWS Lambda 개발자 안내서의 VPC 액세스 구성을 참조하십시오.

Lambda는 다른 함수를 AZs 여러 개로 자동 실행하여 단일 영역에서 서비스가 중단되는 경우 이벤트를 처리하는 데 사용할 수 있도록 합니다.

[Lambda.6] Lambda 함수는 태그가 지정되어야 합니다.

범주: 식별 > 인벤토리 > 태깅

심각도: 낮음

리소스 유형: AWS::Lambda::Function

AWS Config 규칙: tagged-lambda-function (사용자 지정 Security Hub 규칙)

스케줄 유형: 변경이 트리거됨

파라미터:

파라미터 설명 유형 허용된 사용자 지정 값 Security Hub 기본값
requiredTagKeys 평가된 리소스에 포함되어야 하는 비시스템 태그 키 목록. 태그 키는 대소문자를 구별합니다. StringList 요구 사항을 충족하는AWS 태그 목록 No default value

이 컨트롤은 AWS Lambda 함수에 파라미터에 정의된 특정 키가 포함된 태그가 있는지 확인합니다requiredTagKeys. 함수에 태그 키가 없거나 매개 변수에 지정된 모든 키가 없는 경우 컨트롤이 requiredTagKeys 실패합니다. 매개 변수를 requiredTagKeys 제공하지 않으면 컨트롤은 태그 키의 존재 여부만 확인하고 함수에 키 태그가 지정되지 않으면 실패합니다. 자동으로 적용되고 로 aws: 시작되는 시스템 태그는 무시됩니다.

태그는 AWS 리소스에 할당하는 레이블이며 키와 선택적 값으로 구성됩니다. 태그를 생성하여 용도, 소유자, 환경 또는 기타 기준으로 리소스를 분류할 수 있습니다. 태그를 사용하면 리소스를 식별, 구성, 검색 및 필터링할 수 있습니다. 또한 태그를 지정하면 작업 및 알림에 대한 책임 있는 리소스 소유자를 추적할 수 있습니다. 태그 지정을 사용하면 태그를 기반으로 권한을 정의하는 권한 부여 전략으로 속성 기반 액세스 제어 (ABAC) 를 구현할 수 있습니다. IAM엔티티 (사용자 또는 역할) 및 리소스에 태그를 첨부할 수 있습니다. AWS 보안 주체에 대해 단일 ABAC 정책 또는 별도의 정책 세트를 만들 수 IAM 있습니다. 보안 주체의 태그가 리소스 태그와 일치할 때 작업을 허용하도록 이러한 ABAC 정책을 설계할 수 있습니다. 자세한 ABAC내용은 용도를 참조하십시오 AWS. IAM사용 설명서에서.

참고

태그에 개인 식별 정보 (PII) 또는 기타 기밀 또는 민감한 정보를 추가하지 마십시오. 태그를 AWS 서비스포함한 많은 사람들이 태그에 액세스할 수 있습니다. AWS Billing태그 지정 모범 사례에 대한 자세한 내용은 에서 AWS 리소스 태그 지정을 참조하십시오. AWS 일반 참조

이제 Security Hub가 와 통합되었습니다

Lambda 함수에 태그를 추가하려면 개발자 안내서의 Lambda 함수에서 태그 사용을 참조하십시오.AWS Lambda