DDoS 공격은 많은 요청을 서버에 보내 서비스를 마비시키는 방법으로, 정상적인 사용자가 서버에 접근할 수 없게 만듭니다. AWS에서는 여러 가지 서비스를 통해 이러한 공격으로부터 보호할 수 있습니다:
AWS Shield Standard: 모든 AWS 고객을 위해 추가 비용 없이 제공되며, 기본적인 DDoS 공격 보호 기능을 제공합니다.
AWS Shield Advanced: 보다 고급 DDoS 보호 기능을 제공하며, 연중무휴 보호 서비스와 전문가 팀의 지원을 받을 수 있습니다. 비용은 월 $3000 정도입니다.
WAF (Web Application Firewall): 특정 요청을 규칙에 따라 필터링하여 애플리케이션을 보호합니다.
CloudFront와 Route 53: 글로벌 엣지 네트워크를 사용하여 공격을 완화하고, Shield와 결합하여 에지 위치에서 공격 방어 기능을 제공합니다.
자동 확장: 공격 시 수요 증가에 대비하여 자동으로 확장할 준비가 되어야 합니다.
DDoS 보호를 위한 AWS의 참조 아키텍처는 사용자가 Route 53 DNS(Shield로 보호됨)를 통해 라우팅되고, CloudFront 배포를 통해 캐시된 컨텐츠를 제공받으며, 필요한 경우 WAF를 사용하여 공격을 필터링하고 보호합니다. 애플리케이션은 공개 서브넷의 로드 밸런서를 통해 제공되며, 로드 밸런서 뒤에는 수요 증가에 대응하기 위해 자동 확장 그룹의 EC2 인스턴스가 배치됩니다.
AWS Shield와 WAF는 각각 DDoS 공격으로부터 보호하는 데 필수적인 서비스로, Shield는 레이어 3 및 4의 공통 공격 유형을, WAF는 레이어 7(예: HTTP)의 공격으로부터 보호합니다. WAF를 통해 IP 주소, HTTP 헤더, 바디 등에 기반한 필터링 규칙을 설정할 수 있으며, SQL 인젝션 및 크로스사이트 스크립팅과 같은 공통 공격을 방어할 수 있습니다.
결론적으로, AWS에서 제공하는 Shield, WAF, CloudFront, Route 53의 조합은 DDoS 공격으로부터 효과적인 보호를 제공합니다.
AWS Network Firewall은 VPC 내외부의 모든 트래픽을 레이어 3에서 레이어 7까지 어떤 방향에서든지 검사하고 보호할 수 있습니다. 이는 인터넷으로의 아웃바운드 트래픽, 인터넷에서의 인바운드 트래픽, 다이렉트 커넥트 및 사이트 간 VPN과의 트래픽 등 VPC와 관련된 거의 모든 트래픽을 포함합니다. Network Firewall을 사용하면 Peered VPC, Direct Connect, 인터넷 연결 등 모든 트래픽을 보호할 수 있으며, 이는 객체 수준에서 작동하는 네트워크 ACL보다 훨씬 우수한 보호 메커니즘을 제공합니다. Network Firewall은 VPC 수준에서 작동합니다.
AWS Firewall Manager는 AWS 조직의 모든 계정에 걸쳐 보안 규칙을 중앙에서 관리할 수 있는 서비스입니다. 이는 VPC 보안 그룹, WAF 규칙, AWS Shield Advanced 규칙, AWS Network Firewall 등 다양한 AWS 보안 서비스의 규칙 관리를 단순화합니다. 특히 시험에서는 여러 계정에 걸쳐 VPC 보안 그룹을 관리하는 데 초점을 맞출 가능성이 높습니다. Firewall Manager를 사용하면 설정한 규칙이 기존 계정뿐만 아니라 향후 생성될 계정과 리소스에도 적용되어, 언제든지 모든 계정에 걸쳐 규칙이 일관되게 관리됨을 보장할 수 있습니다.
AWS는 고객이 자체 인프라에 대해 보안 평가 및 침투 테스트를 수행할 수 있도록 허용하며, 특정 서비스에 대해서는 사전 승인 없이 이러한 테스트를 진행할 수 있습니다. 사전 승인 없이 침투 테스트를 허용하는 서비스에는 Amazon EC2 인스턴스, NAT 게이트웨이, Elastic Load Balancer, Amazon RDS, CloudFront, Aurora, API Gateway, Lambda 및 Lambda Edge 함수, Lightsail 리소스, Elastic Beanstalk 환경 등이 포함됩니다.
그러나 DNS 존 워킹, 분산 공격(DoS 또는 DDoS), 포트 플러딩, 프로토콜 플러딩, 요청 플러딩과 같은 특정 유형의 테스트는 금지됩니다. AWS의 인프라를 공격하는 것처럼 보일 수 있는 행위는 허용되지 않습니다. 이러한 제한 사항 외에 다른 유형의 침투 테스트를 수행하고자 할 경우, AWS 보안 팀에 연락하여 승인을 받아야 합니다. AWS에서 침투 테스트를 수행하는 것은 가능하지만, 승인된 서비스와 금지된 행위를 구분하는 것이 중요합니다.
AWS에서는 두 가지 유형의 암호화가 있습니다: 저장 시 암호화(Encryption at Rest)와 전송 중 암호화(Encryption in Transit). 저장 시 암호화는 데이터가 물리적 장치에 저장되어 있을 때 적용되며, 이는 하드 드라이브, RDS 인스턴스, S3 버킷 등이 될 수 있습니다. 전송 중 암호화는 데이터가 한 장소에서 다른 장소로 이동할 때 적용됩니다.
AWS에서는 이러한 암호화를 관리하기 위해 주로 두 가지 서비스를 사용합니다:
데이터 암호화를 위한 키 관리 서비스로, AWS가 키를 대신 관리해주며, 사용자는 누가 이 키에 접근할 수 있는지 정의할 수 있습니다. KMS를 사용하면 EBS 볼륨, S3 버킷, Redshift 데이터베이스, RDS, EFS 등 다양한 AWS 서비스의 객체에 대해 서버 측 암호화를 적용할 수 있습니다. 고객 관리 키, AWS 관리 키, AWS 소유 키의 세 가지 유형의 KMS 키가 있습니다.
AWS는 하드웨어 기반의 암호화 서비스를 제공하지만, 키 관리는 사용자가 직접 수행합니다. 이 서비스는 전용 하드웨어 보안 모듈(HSM)을 사용하여 보안 표준인 FIPS 140-2 레벨 3에 부합하는 보안성을 제공합니다.
암호화는 데이터를 보호하는 핵심적인 방법이며, AWS에서는 이를 위해 다양한 옵션과 서비스를 제공합니다. KMS는 대부분의 사용 사례에 적합한 솔루션이며, 더 높은 수준의 통제와 보안이 필요한 경우 CloudHSM을 선택할 수 있습니다.
AWS Certificate Manager (ACM)는 SSL/TLS 인증서를 쉽게 발급, 관리 및 배포할 수 있는 서비스입니다. 이 인증서들은 웹사이트에 대한 인-플라이트(in-flight) 암호화를 제공하여 HTTPS 엔드포인트를 통해 보안 연결을 가능하게 합니다.
예를 들어, 애플리케이션 로드 밸런서가 백엔드의 EC2 인스턴스로 구성된 오토 스케일링 그룹과 HTTP를 통해 연결되어 있을 때, ACM을 사용하여 이 로드 밸런서에 TLS 인증서를 로드하고 HTTPS 엔드포인트를 사용자에게 제공함으로써 공개 인터넷 상에서의 데이터 전송을 암호화할 수 있습니다.
ACM은 공개 및 개인 TLS 인증서를 지원하며, 공개 TLS 인증서에 대해서는 무료입니다. 또한 자동 TLS 인증서 갱신 기능을 제공하며, 이는 Elastic Load Balancer, CloudFront 배포, API Gateway 등 다양한 AWS 서비스와 통합되어 인증서를 쉽게 적용할 수 있게 합니다.
ACM을 통해 웹사이트와 애플리케이션의 인-플라이트 암호화를 간편하게 구현할 수 있습니다.
AWS Artifacts는 AWS 콘솔 내에서 제공되는 서비스는 아니지만, 고객이 필요할 때 언제든지 컴플라이언스 보고서와 AWS 계약에 접근할 수 있게 해주는 포털로 소개됩니다. 이 포털을 통해 사용자는 ISO 인증, PCI(결제 카드 산업) 보고서, SOC 보고서와 같은 제3자 감사기관이 제공하는 보안 및 컴플라이언스 문서를 다운로드할 수 있습니다. 또한, AWS Artifacts는 BAA 계약이나 HIPAA(건강보험 이동성 및 책임에 관한 법률)와 같은 다양한 계약을 검토하고, 수락하며, 해당 계약의 상태를 추적할 수 있는 기능을 제공합니다.
이러한 보고서와 계약은 회사 내부 감사 기능을 지원하거나, AWS 클라우드를 사용함으로써 규정 준수 상태를 증명하는 데 사용될 수 있습니다. AWS Artifacts는 전 세계적으로 사용 가능한 글로벌 서비스이며, 사용자는 필요한 컴플라이언스 문서를 손쉽게 조회하고 다운로드할 수 있습니다. 이는 AWS 사용자가 필요한 컴플라이언스 관련 문서를 빠르게 얻을 수 있는 간단하고 효율적인 방법을 제공합니다.
Amazon GuardDuty는 AWS 계정을 보호하기 위해 지능형 위협 탐지를 돕는 서비스입니다. 이 서비스는 머신러닝 알고리즘, 이상 징후 탐지 및 제3자 데이터를 사용하여 위협을 찾습니다. GuardDuty를 활성화하는 것은 간단하며 추가 소프트웨어 설치가 필요 없습니다. 30일간의 무료 체험 기간이 제공됩니다.
GuardDuty는 CloudTrail 이벤트 로그, VPC 플로우 로그, DNS 로그 등 다양한 데이터 소스를 분석하여 비정상적인 API 호출, 무단 배포, 이상한 인터넷 트래픽, 비정상적인 IP 주소 사용, DNS 쿼리 내의 암호화된 데이터 전송 등을 탐지합니다. 이를 통해 EC2 인스턴스가 타협된 것으로 추정되는 경우 등을 식별할 수 있습니다. 또한, EKS 감사 로그, RDS 및 Aurora 로그인 이벤트, EBS, Lambda, S3 데이터 이벤트와 같은 선택적 데이터 소스도 분석할 수 있습니다.
GuardDuty는 Amazon EventBridge와 통합되어, 발견된 위협에 대한 자동 알림이나 대응을 구성할 수 있습니다. 예를 들어, Lambda 함수를 사용한 자동화 작업이나 SNS를 통한 알림 전송 등이 가능합니다. 특히 GuardDuty는 암호화폐 공격에 대한 전용 탐지 기능을 제공하여, 이러한 유형의 위협을 식별할 수 있는 능력을 갖추고 있습니다.
요약하자면, GuardDuty는 다양한 데이터 소스로부터의 로그와 네트워크 활동을 분석하여 AWS 환경에서의 보안 위협을 탐지하고, 발견된 위협에 대해 자동화된 대응을 할 수 있게 하는 서비스입니다. GuardDuty를 통해 보안 관리를 강화하고, AWS 리소스의 보안 수준을 높일 수 있습니다.
Amazon Inspector는 자동화된 보안 평가를 수행하여 AWS 리소스의 보안 상태를 평가하는 서비스입니다. 이 서비스는 EC2 인스턴스, Amazon ECR에 푸시된 컨테이너 이미지(예: Docker 이미지), 그리고 Lambda 함수의 보안을 평가합니다.
EC2 인스턴스: Systems Manager 에이전트를 활용하여 EC2 인스턴스의 보안을 평가합니다. 이 과정에서 의도치 않은 네트워크 접근 가능성과 운영 체제의 알려진 취약점을 분석합니다.
Amazon ECR 컨테이너 이미지: ECR에 푸시된 컨테이너 이미지를 알려진 취약점에 대해 분석합니다.
Lambda 함수: 배포된 Lambda 함수와 패키지 의존성에 대한 소프트웨어 취약점을 평가합니다.
Amazon Inspector는 이러한 평가를 지속적으로 수행하며, 발견된 취약점은 AWS Security Hub로 보고되고, Amazon EventBridge를 통해 이벤트 및 발견 사항을 전송할 수 있습니다. 이를 통해 인프라의 취약점을 중앙 집중식으로 확인하고 EventBridge를 사용하여 자동화 작업을 실행할 수 있습니다.
Inspector는 CVE(공개 취약점 및 노출 데이터베이스)를 기반으로 패키지 취약점을 분석하며, EC2 인스턴스의 네트워크 접근성을 평가합니다. CVE 데이터베이스가 업데이트되면 Amazon Inspector는 자동으로 다시 실행되어 모든 인프라가 재평가됩니다. 각 취약점에는 우선순위를 위한 위험 점수가 부여됩니다.
요약하면, Amazon Inspector는 EC2, ECR, Lambda에 대한 보안 평가를 제공하여 알려진 취약점을 식별하고, 이를 통해 AWS 인프라의 보안을 강화할 수 있도록 돕습니다.
AWS Config는 AWS 리소스의 설정 및 시간에 따른 변경 사항을 기록함으로써 리소스의 컴플라이언스를 감사하고 기록하는 데 도움을 줍니다. 이 서비스를 사용하면 수동으로 변경된 AWS 구성의 모든 변경 사항을 목록화할 수 있으며, 이러한 구성 데이터는 Amazon S3에 저장되어 Athena를 통해 분석하거나 복구할 수 있습니다. AWS Config는 무제한 SSH 액세스가 있는지, 버킷에 공개 액세스가 설정되어 있는지, ALB 구성이 시간에 따라 어떻게 변경되었는지와 같은 질문에 대한 답을 제공할 수 있습니다. 또한, 인프라에 변경 사항이 발생할 때마다 SNS 알림을 통해 경고를 받을 수 있습니다. AWS Config는 지역별 서비스이지만, 여러 Config 구성을 생성하고 모든 계정 및 지역에 걸쳐 결과를 집계할 수 있습니다.
예를 들어, 보안 그룹의 컴플라이언스 상태를 시간에 따라 확인할 수 있으며, 변경 후에는 컴플라이언트 상태로 전환되는 것을 볼 수 있습니다. 또한, 보안 그룹의 구성이 시간에 따라 어떻게 변경되었는지, 그리고 CloudTrail을 활성화한 경우 누가 이러한 변경을 했는지를 확인할 수 있습니다. AWS Config를 통해 AWS 리소스의 설정 및 컴플라이언스 관리를 효율적으로 수행할 수 있습니다.
Amazon Macie는 기계 학습 및 패턴 매칭을 사용하여 AWS 내의 민감한 데이터를 발견하고 보호하는 데이터 보안 및 데이터 프라이버시 서비스입니다. 특히 개인 식별 정보(PII)와 같은 민감한 데이터를 발견하고 경고하여 사용자에게 알립니다. Macie는 S3 버킷 내의 PII 데이터를 분석하여 이를 분류하고, EventBridge를 통해 발견 사항을 알립니다. 이후 SNS 토픽이나 Lambda 함수와 같은 서비스와의 통합을 통해 반응할 수 있습니다. Macie는 S3 버킷 내의 민감한 데이터를 찾는 데 사용되며, 활성화는 간단하게 한 번의 클릭으로 가능합니다. 사용자는 분석하고자 하는 S3 버킷을 지정하기만 하면 됩니다. Macie는 데이터 보호 및 프라이버시 관리를 강화하는 데 유용한 도구입니다.
AWS Security Hub는 여러 AWS 계정 걸쳐 보안 관리를 중앙에서 수행하고 보안 검사를 자동화하는 중앙 보안 도구입니다. 이는 Config, GuardDuty, Inspector, Macie, IAM Access Analyzer, AWS Systems Manager, AWS Firewall Manager, AWS Health 및 AWS 파트너 솔루션과 같은 다양한 서비스와 파트너 도구에서 발생하는 경고를 집계하여 통합 대시보드를 통해 현재의 보안 및 컴플라이언스 상태를 보여주고, 빠르게 조치를 취할 수 있게 합니다.
Security Hub를 사용하기 위해서는 AWS Config 서비스를 활성화해야 하며, Security Hub는 Macie, GuardDuty, Inspector, Firewall Manager, IAM Access Analyzer, Systems Manager, Config, Health 등으로부터 발견된 모든 문제점과 소견을 수집합니다. 자동 검사를 통해 대시보드에 보안 소견이 표시되며 보안 문제 발생 시 EventBridge에서 이벤트가 생성됩니다. 문제의 원인을 조사하기 위해 Amazon Detective를 사용할 수 있으며, 이는 보안 문제의 근원을 빠르게 파악할 수 있게 합니다.
Amazon Detective는 GuardDuty, Macie, Security Hub와 같은 서비스로부터 식별된 보안 문제나 의심스러운 활동의 근본 원인을 신속하게 파악하고 분석하는 데 도움을 주는 서비스입니다. 복잡한 데이터를 여러 출처에서 수집하여 연결하는 과정이 길고 복잡할 수 있는데, 이러한 상황에서 Amazon Detective는 기계 학습과 그래프를 사용하여 보안 문제의 근본 원인을 빠르게 식별하고 조사합니다. 이를 위해 Amazon Detective는 VPC Flow Logs, CloudTrail, GuardDuty에서 자동으로 이벤트를 수집하고 처리하여 통합된 뷰를 생성하고, 근본 원인에 대한 상세 정보와 맥락을 제공하는 시각화를 통해 문제를 해결할 수 있게 해줍니다. Amazon Detective는 보안 문제에 신속하게 대응하고, 보안 취약점을 파악하는 데 유용한 도구입니다.
IAM Access Analyzer는 IAM 콘솔 내의 서비스로, 어떤 리소스가 외부적으로 공유되고 있는지 확인하는 데 사용됩니다. 이 서비스는 S3 버킷, IAM 역할, KMS 키, Lambda 함수 및 레이어, SQS 큐, 그리고 Secrets Manager 비밀과 같은 리소스를 대상으로 합니다. 이러한 리소스 중 일부는 리소스 정책을 통해 다른 계정과 공유될 수 있으나, 때때로 이러한 공유 사실을 잊어버려 회사의 보안 위험 요소가 될 수 있습니다. 외부 소스에 의해 일부 애플리케이션이 접근 가능해질 수 있기 때문입니다.
IAM Access Analyzer를 사용하여, 사용자는 '신뢰 영역'을 정의할 수 있으며, 이는 사용자의 AWS 계정 또는 전체 AWS 조직에 해당할 수 있습니다. 신뢰 영역 밖에서 앞서 언급한 리소스에 접근 권한이 있는 모든 항목은 발견 사항으로 보고됩니다. 예를 들어, S3 버킷을 특정 역할, 사용자, 계정, 외부 클라이언트(IP 또는 VPC 엔드포인트를 통해)와 공유할 수 있지만, 신뢰 영역을 사용자의 계정으로 정의하고 계정 내의 역할, 사용자 및 VPC 엔드포인트만이 신뢰 영역 내에 있을 경우, 계정 및 외부 클라이언트는 발견 사항으로 표시됩니다. IAM Access Analyzer는 이러한 발견 사항을 검토하고 보안 위험으로 생각될 경우 조치를 취할 수 있도록 합니다.