Lambda에 대한 Security Hub 제어 - AWS Security Hub

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

Lambda에 대한 Security Hub 제어

이러한 AWS Security Hub 제어는 AWS Lambda 서비스와 리소스를 평가합니다.

이러한 제어는 일부만 사용할 수 있습니다 AWS 리전. 자세한 내용은 리전별 제어 기능 사용 가능 여부 단원을 참조하십시오.

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

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

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

심각도: 심각

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

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

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

파라미터: 없음

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

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

문제 해결

이 문제를 해결하려면 함수의 리소스 기반 정책을 업데이트하여 권한을 제거하거나 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), NIST.800-53.r5 CM-2, NIST.800-53.r5 SI-2, NIST.800-53.r5 SI-2(2), NIST.800-53.r5 SI-2(4), NIST.800-53.r5 SI-2(5), PCI DSS v4.0.1/12.3.4

범주: 보호 > 보안 개발

심각도: 중간

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

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

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

파라미터:

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

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

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

문제 해결

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

[Lambda.3] Lambda 함수는에 있어야 합니다. 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, PCI DSS v3.2.1/1.3.4, NIST.800-53.r5 AC-21 NIST.800-53.r5 AC-3, NIST.800-53.r5 AC-3(7), NIST.800-53.r5 AC-4, NIST.800-53.r5 AC-4(21), NIST.800-53.r5 AC-6 NIST.800-53.r5 SC-7,, NIST.800-53.r5 SC-7(11), NIST.800-53.r5 SC-7(16), NIST.800-53.r5 SC-7(20), NIST.800-53.r5 SC-7(21), 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-inside-vpc

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

파라미터: 없음

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

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

문제 해결

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

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

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

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

심각도: 중간

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

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

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

파라미터:

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

availabilityZones

최소 가용 영역의 수

Enum

2, 3, 4, 5, 6

2

이 제어는 가상 프라이빗 클라우드(VPC)에 연결하는 AWS Lambda 함수가 최소한 지정된 수의 가용 영역()에서 작동하는지 확인합니다AZs. 함수가 지정된 수 이상의에서 작동하지 않으면 제어가 실패합니다AZs. 최소 수에 대한 사용자 지정 파라미터 값을 제공하지 않는 한 AZsSecurity Hub는 기본값인 2개를 사용합니다AZs.

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

문제 해결

계정VPC의에 연결하도록 함수를 구성하는 경우 고가용성을 보장하기 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 리소스에 태그를 연결할 수 있습니다. 보안 IAM 주체에 대해 단일 ABAC 정책 또는 별도의 정책 세트를 생성할 수 있습니다. 보안 주체의 태그가 리소스 태그와 일치할 때 작업을 허용하도록 이러한 ABAC 정책을 설계할 수 있습니다. 자세한 내용은 IAM 사용 설명서AWS의 ABAC 용도를 참조하세요.

참고

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

문제 해결

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