Lambda 보안 및 규정 준수를 위한 관찰성 구현
AWS Config는 규정 미준수 AWS 서버리스 리소스를 찾아 수정하는 데 유용한 도구입니다. 서버리스 리소스에서 변경한 내용은 모두 AWS Config에 기록됩니다. 또한 AWS Config에서는 구성 스냅샷 데이터를 S3에 저장할 수 있습니다. Amazon Athena 및 Amazon QuickSight를 사용하여 대시보드를 생성하고 AWS Config 데이터를 볼 수 있습니다. AWS Config를 사용하여 규정 미준수 Lambda 배포 및 구성 감지에서는 Lambda 계층과 같은 특정 구성을 시각화하는 방법을 설명했습니다. 이 주제에서는 이러한 개념을 확장합니다.
Lambda 구성에 대한 가시성
쿼리를 사용하여 AWS 계정 ID, 리전, AWS X-Ray 트레이싱 구성, VPC 구성, 메모리 크기, 런타임, 태그와 같은 중요한 구성을 가져올 수 있습니다. 다음은 Athena에서 이 정보를 가져오는 데 사용할 수 있는 샘플 쿼리입니다.
WITH unnested AS ( SELECT item.awsaccountid AS account_id, item.awsregion AS region, item.configuration AS lambda_configuration, item.resourceid AS resourceid, item.resourcename AS resourcename, item.configuration AS configuration, json_parse(item.configuration) AS lambda_json FROM default.aws_config_configuration_snapshot, UNNEST(configurationitems) as t(item) WHERE "dt" = 'latest' AND item.resourcetype = 'AWS::Lambda::Function' ) SELECT DISTINCT account_id, tags, region as Region, resourcename as FunctionName, json_extract_scalar(lambda_json, '$.memorySize') AS memory_size, json_extract_scalar(lambda_json, '$.timeout') AS timeout, json_extract_scalar(lambda_json, '$.runtime') AS version json_extract_scalar(lambda_json, '$.vpcConfig.SubnetIds') AS vpcConfig json_extract_scalar(lambda_json, '$.tracingConfig.mode') AS tracingConfig FROM unnested
쿼리를 사용하여 Amazon QuickSight 대시보드를 빌드하고 데이터를 시각화할 수 있습니다. AWS 리소스 구성 데이터를 집계하고 Athena에서 테이블을 생성하며 Athena의 데이터를 기반으로 Amazon QuickSight 대시보드를 빌드하려면 AWS 클라우드 운영 및 관리 블로그에서 Visualizing AWS Config data using Athena and Amazon QuickSight
수행할 수 있는 작업에 대한 자세한 내용은 이 주제의 후반부에 나오는 관찰성 결과 처리 섹션을 참조하세요.
Lambda 규정 준수에 대한 가시성
AWS Config에서 생성한 데이터를 사용하여 조직 수준의 대시보드를 만들어 규정 준수를 모니터링할 수 있습니다. 이를 통해 다음을 일관되게 추적하고 모니터링할 수 있습니다.
-
규정 준수 점수별 규정 준수 팩
-
규정 미준수 리소스별 규칙
-
규정 준수 상태
각 규칙을 확인하여 해당 규칙에 대한 규정 미준수 리소스를 식별합니다. 예를 들어, 조직에서 모든 Lambda 함수를 VPC와 연결하도록 규정하고 규정 준수를 식별하는 AWS Config 규칙을 배포한 경우 위 목록에서 lambda-inside-vpc
규칙을 선택할 수 있습니다.
수행할 수 있는 작업에 대한 자세한 내용은 아래 관찰성 결과 처리 섹션을 참조하세요.
Security Hub를 사용하여 Lambda 함수 경계에 대한 가시성 확보
Lambda를 비롯한 AWS 서비스를 안전하게 사용할 수 있도록 AWS에서는 Foundational Security Best Practices v1.0.0을 도입했습니다. 이 모범 사례 세트는 강력한 보안 태세 유지의 중요성을 강조하면서 AWS 환경의 리소스 및 데이터 보안을 위한 명확한 지침을 제공합니다. AWS Security Hub는 통합 보안 및 규정 준수 센터를 제공하여 이를 보완합니다. 그리고 Amazon Inspector, AWS Identity and Access Management Access Analyzer 및 Amazon GuardDuty와 같은 여러 AWS 서비스의 보안 결과를 집계하고 구성하며 우선순위를 지정합니다.
AWS 조직 내에서 Security Hub, Amazon Inspector, IAM Access Analyzer 및 GuardDuty를 활성화한 경우 Security Hub는 이러한 서비스의 결과를 자동으로 집계합니다. 예를 들어 Amazon Inspector를 고려합니다. Security Hub를 사용하면 Lambda 함수의 코드 및 패키지 취약성을 효율적으로 식별할 수 있습니다. Security Hub 콘솔에서 하단의 AWS 통합의 최근 분석 결과 섹션으로 이동합니다. 여기에서 통합된 다양한 AWS 서비스에서 가져온 결과를 보고 분석할 수 있습니다.
세부 정보를 보려면 두 번째 열의 결과 보기 링크를 선택합니다. 여기에는 Amazon Inspector와 같이 제품별로 필터링된 결과 목록이 표시됩니다. 검색을 Lambda 함수로 제한하려면 ResourceType
을 AwsLambdaFunction
으로 설정합니다. 여기에는 Lambda 함수와 관련된 Amazon Inspector의 결과가 표시됩니다.
GuardDuty의 경우 의심스러운 네트워크 트래픽 패턴을 식별할 수 있습니다. 이러한 이상 현상은 Lambda 함수 내에 잠재적인 악성 코드가 존재함을 암시할 수 있습니다.
IAM Access Analyzer를 사용하면 정책, 특히 외부 엔터티에 대한 함수 액세스 권한을 부여하는 조건문이 있는 정책을 확인할 수 있습니다. 또한 IAM Access Analyzer는 Lambda API에서 AddPermission 작업을 EventSourceToken
과 함께 사용할 때 설정된 권한을 평가합니다.
관찰성 결과 처리
Lambda 함수에 사용할 수 있는 광범위한 구성과 고유한 요구 사항을 고려할 때 문제 해결을 위한 표준화된 자동화 솔루션이 모든 상황에 적합하지 않을 수도 있습니다. 또한 변경 사항은 다양한 환경에서 다르게 구현됩니다. 호환되지 않는 구성이 있으면 다음 지침을 고려합니다.
-
태그 지정 전략
포괄적인 태그 지정 전략을 구현하는 것이 좋습니다. 각 Lambda 함수에는 다음과 같은 주요 정보로 태그를 지정해야 합니다.
-
소유자: 함수를 담당하는 사람 또는 팀.
-
환경: 프로덕션, 스테이징, 개발 또는 샌드박스.
-
애플리케이션: 해당하는 경우 이 함수가 속한 더 넓은 컨텍스트.
-
-
소유자 아웃리치
주요 변경 사항(예: VPC 구성 조정)을 자동화하는 대신, 규정 미준수 함수의 소유자(소유자 태그로 식별됨)에게 사전에 연락하여 다음 중 하나를 수행할 수 있는 충분한 시간을 확보합니다.
-
Lambda 함수에서 규정 미준수 구성을 조정합니다.
-
설명을 제공하고 예외를 요청하거나 규정 준수 표준을 세분화합니다.
-
-
구성 관리 데이터베이스(CMDB) 유지 관리
태그는 즉각적인 컨텍스트를 제공하는 반면, 중앙 집중식 CMDB를 유지 관리하면 더 심층적인 인사이트를 제공할 수 있습니다. 각 Lambda 함수, 해당 종속 항목 및 기타 중요한 메타데이터에 대한 보다 세분화된 정보를 보관할 수 있습니다. CMDB는 감사, 규정 준수 검사 및 함수 소유자 식별을 위한 매우 중요한 리소스입니다.
서버리스 인프라 환경이 지속적으로 발전함에 따라 모니터링에 대한 사전 예방적 접근 태세를 취해야 합니다. AWS Config, Security Hub 및 Amazon Inspector와 같은 도구를 사용하면 잠재적 이상 또는 규정 미준수 구성을 신속하게 식별할 수 있습니다. 하지만 도구만으로는 완전한 규정 준수나 최적의 구성을 보장할 수 없습니다. 이러한 도구를 잘 문서화된 프로세스 및 모범 사례와 함께 사용하는 것이 중요합니다.
-
피드백 루프: 문제 해결 단계를 수행한 후 피드백 루프가 있는지 확인합니다. 즉, 규정 미준수 리소스를 주기적으로 다시 확인하여 해당 리소스가 업데이트되었는지 또는 동일한 문제가 계속 발생하는지 확인해야 합니다.
-
문서화: 항상 관찰 내용, 수행한 작업, 허용된 예외 사항을 문서화합니다. 적절한 문서화는 감사 중에 도움이 될 뿐만 아니라 향후 규정 준수 및 보안 강화를 위한 프로세스를 개선하는 데도 도움이 됩니다.
-
교육 및 인식: 모든 이해관계자, 특히 Lambda 함수 소유자가 모범 사례, 조직 정책 및 규정 준수 규정을 주기적으로 교육받고 인지해야 합니다. 정기 워크숍, 웨비나 또는 교육 세션은 보안 및 규정 준수와 관련하여 모든 사람이 동일한 이해 기반을 갖추는 데 큰 도움이 될 수 있습니다.
결론적으로, 도구와 기술은 잠재적 문제를 감지하고 플래그를 지정하는 강력한 기능을 제공하지만, 이해, 소통, 교육 및 문서화와 같은 인적 요소도 여전히 중요합니다. 이 둘을 함께 활용하면 Lambda 기능 및 광범위한 인프라가 규정을 준수하고 안전하며 비즈니스 요구 사항에 맞게 최적화되도록 보장하는 강력한 이점을 제공합니다.