SEC06-BP01 취약성 관리 수행 - AWS Well-Architected Framework

SEC06-BP01 취약성 관리 수행

코드, 종속성 및 인프라에 취약성이 있는지 자주 스캔하고 패치를 적용하여 새로운 위협으로부터 보호합니다.

원하는 결과: 취약성 관리 프로그램을 생성하고 유지합니다. Amazon EC2 인스턴스, Amazon Elastic Container Service(Amazon ECS) 컨테이너 및 Amazon Elastic Kubernetes Service(Amazon EKS) 워크로드와 같은 리소스를 정기적으로 스캔하고 패치를 적용합니다. Amazon Relational Database Service(Amazon RDS) 데이터베이스와 같은 AWS 관리형 리소스에 대한 유지 관리 기간을 구성합니다. 정적 코드 스캔을 사용하여 일반적인 문제에 대한 애플리케이션 소스 코드를 검사합니다. 조직에 필요한 기술이 있거나 외부 지원을 고용할 수 있는 경우 웹 애플리케이션 침투 테스트를 고려합니다.

일반적인 안티 패턴:

  • 취약성 관리 프로그램이 없습니다.

  • 심각도나 위험 회피를 고려하지 않고 시스템 패치 적용을 수행합니다.

  • 공급업체에서 제공한 수명 종료(EOL) 날짜가 지난 소프트웨어를 사용합니다.

  • 보안 문제를 분석하기 전에 코드를 프로덕션 환경에 배포합니다.

이 모범 사례 확립의 이점:

이 모범 사례를 따르지 않을 경우 노출 위험도: 높음

구현 가이드

취약성 관리 프로그램에는 문제 해결의 일환으로 보안 평가, 문제 식별, 우선순위 지정 및 패치 작업 수행이 포함됩니다. 자동화는 워크로드를 지속적으로 스캔하여 문제 및 의도치 않은 네트워크 노출이 있는지 확인하고 문제 해결 수행이 핵심입니다. 리소스 생성 및 업데이트를 자동화하면 시간이 절약되고 추가 문제를 야기하는 구성 오류의 위험이 줄어듭니다. 잘 설계된 취약성 관리 프로그램은 소프트웨어 수명 주기의 개발 및 배포 단계에서 취약성 테스트도 고려해야 합니다. 개발 및 배포 중에 취약성 관리를 구현하면 취약성이 프로덕션 환경에 침투할 가능성을 줄이는 데 도움이 됩니다.

취약성 관리 프로그램을 구현하려면 AWS 공동 책임 모델과 이 모델이 특정 워크로드와 어떻게 관련되어 있는지 파악하고 있어야 합니다. 공동 책임 모델에 따라 AWS는 AWS 클라우드의 인프라를 보호하는 업무를 담당합니다. 이 인프라는 AWS 클라우드 서비스를 실행하는 하드웨어, 소프트웨어, 네트워킹 및 시설로 구성됩니다. 사용자는 Amazon EC2 인스턴스의 실제 데이터, 보안 구성, 관리 작업과 같은 클라우드의 보안을 담당하고 Amazon S3 객체가 적절하게 분류 및 구성되었는지 확인해야 합니다. 취약성 관리에 대한 접근 방식은 사용하는 서비스에 따라 달라질 수 있습니다. 예를 들어 AWS은 관리되는 관계형 데이터베이스 서비스인 Amazon RDS에 대한 패치 적용을 관리하지만 셀프 호스팅 데이터베이스에 패치 적용은 사용자가 담당합니다.

AWS에는 취약성 관리 프로그램을 지원하는 다양한 서비스가 있습니다. Amazon Inspector는 AWS 워크로드를 지속적으로 스캔하여 소프트웨어 문제 및 의도치 않은 네트워크 액세스가 있는지 확인합니다. AWS Systems Manager Patch Manager는 Amazon EC2 인스턴스 전반에 대한 패치 적용을 관리하는 데 도움이 됩니다. Amazon Inspector 및 Systems Manager는 AWS 보안 점검을 자동화하고 보안 알림을 중앙 집중화하는 데 도움이 되는 클라우드 보안 상태 관리 서비스인 AWS Security Hub에서 볼 수 있습니다.

Amazon CodeGuru는 정적 코드 분석을 사용하여 Java 및 Python 애플리케이션에서 잠재적인 문제를 식별하는 데 도움이 될 수 있습니다.

구현 단계

  • Amazon Inspector 구성: Amazon Inspector는 새로 실행된 Amazon EC2 인스턴스, Lambda 함수 및 Amazon ECR에 푸시된 적격한 컨테이너 이미지를 자동으로 감지하고 즉시 스캔하여 소프트웨어 문제, 잠재적 결함 및 의도치 않은 네트워크 노출이 있는지 확인합니다.

  • 소스 코드 스캔: 라이브러리 및 종속성을 스캔하여 문제 및 결함이 있는지 확인합니다. Amazon CodeGuru는 Java 및 Python 애플리케이션을 모두 스캔하여 일반적인 보안 문제가 있는지 확인하고 이를 해결하기 위한 권장 사항을 제공할 수 있습니다. OWASP Foundation은 소스 코드 분석 도구(SAST 도구라고도 함) 목록을 게시합니다.

  • CI/CD 파이프라인 빌드 프로세스의 일환으로 스캔할 뿐만 아니라 기존 환경을 스캔하고 패치를 적용하는 메커니즘 구현: 보호를 위해 종속성 및 운영 체제의 문제를 스캔하고 패치를 적용하는 메커니즘을 구현하여 새로운 위협으로부터 보호합니다. 해당 메커니즘을 정기적으로 실행합니다. 소프트웨어 취약성 관리는 패치를 적용하거나 소프트웨어 문제를 해결해야 하는 위치를 파악하는 데 필수적입니다. 취약성 평가를 지속적 통합/지속적 전달(CI/CD) 파이프라인에 조기에 포함하여 잠재적 보안 문제의 해결 우선순위를 지정합니다. 사용 중인 AWS 서비스에 따라 접근 방식이 달라질 수 있습니다. Amazon EC2 인스턴스에서 실행 중인 소프트웨어의 잠재적 문제를 확인하려면 Amazon Inspector를 파이프라인에 추가하여 문제 또는 잠재적 결함이 감지되는 경우 이를 알리고 빌드 프로세스를 중지합니다. Amazon Inspector는 지속적으로 리소스를 모니터링합니다. OWASP Dependency-Check, Snyk, OpenVAS와 같은 오픈 소스 제품, 패키지 관리자, 취약성 관리를 위한 AWS Partner 도구를 사용할 수도 있습니다.

  • AWS Systems Manager 사용: AWS(Amazon Elastic Compute Cloud) 인스턴스, Amazon Machine Image(AMI), 기타 컴퓨팅 리소스를 비롯한 Amazon EC2 리소스에 대한 패치 관리에 대한 책임은 사용자에게 있습니다. AWS Systems Manager Patch Manager는 보안 관련 업데이트와 기타 유형의 업데이트를 모두 사용하여 관리형 인스턴스에 패치를 적용하는 프로세스를 자동화합니다. Patch Manager는 Microsoft 애플리케이션, Windows 서비스 팩, Linux 기반 인스턴스용 마이너 버전 업그레이드를 포함하여 운영 체제 및 애플리케이션 모두에 대해 Amazon EC2 인스턴스에 패치를 적용하는 데 사용할 수 있습니다. Amazon EC2 외에도 Patch Manager를 사용하면 온프레미스 서버에 패치를 적용할 수도 있습니다.

    지원되는 운영 체제 목록은 Systems Manager 사용자 가이드에서 지원되는 운영 체제를 참조하세요. 인스턴스를 스캔하여 누락된 패치 보고서만 확인하거나, 스캔하고 누락된 모든 패치를 자동으로 설치할 수 있습니다.

  • AWS Security Hub 사용: Security Hub는 AWS의 보안 상태에 대한 포괄적인 보기를 제공합니다. 여러 AWS 서비스에서 보안 데이터를 수집하고 이러한 조사 결과를 표준화된 형식으로 제공하므로 AWS 서비스에서 보안 조사 결과의 우선순위를 지정할 수 있습니다.

  • AWS CloudFormation 사용: AWS CloudFormation은 여러 계정 및 환경에서 리소스 배포를 자동화하고 리소스 아키텍처를 표준화하여 취약성 관리에 도움을 줄 수 있는 코드형 인프라(IaC) 서비스입니다.

리소스

관련 문서:

관련 동영상: