1. AWS 공동 책임 모델
AWS는 클라우드 인프라 보안을, 고객은 클라우드 내의 데이터와 애플리케이션 보안을 책임지며 이 협력으로 안전한 환경을 조성하는 것
1) 고객의 책임
Customer | 고객 데이터 | ||
플랫폼, 애플리케이션, Identity and Access Management(IAM) | |||
운영체제, 네트워크 및 방화벽 구성 | |||
클라이언트 측 데이터 암호화 | 서버 측 데이터 암호화 | 네트워킹 트래픽 보호 |
- AWS 클라우드 내에서 생성하고 배치하는 콘텐츠와 보안을 전적으로 관리
- 고객은 AWS에 저장한 콘텐츠와, 사용할 서비스, 해당 콘텐츠에 대한 접근 권한을 제어
- 콘텐츠의 보안 요구 사항을 설정하고, 액세스 권한을 부여하고 관리하며, 필요한 경우 해지할 수 있음
- 보안 조치는 사용하는 서비스나 시스템의 복잡성에 따라 다름. 운영 체제 선택 및 패치, 보안 그룹 설정, 사용자 계정 관리가 포함
2) AWS의 책임
AWS | 소프트웨어 | |||
컴퓨팅 | 스토리지 | 데이터베이스 | 네트워킹 | |
하드웨어 | ||||
리전 | 가용 영역 | 엣지로케이션 |
- 클라우드 인프라의 모든 계층에서 보안을 운영, 관리, 제어. 여기에는 데이터 센터의 물리적 보안, 하드웨어 및 소프트웨어 인프라, 네트워크 및 가상화 인프라가 포함됨
- AWS는 리전, 가용 영역, 엣지 로케이션 등 AWS 글로벌 인프라의 보안을 유지할 책임이 있음
- 고객이 직접 데이터 센터를 확인할 수는 없지만, AWS는 외부 감사 기관의 검토를 통해 다양한 보안 표준과 규정을 준수하는지 입증받음
2. 사용자 권한 및 액세스(IAM: Identity and Access Management)
- AWS 서비스와 리소스에 대한 액세를 안전하게 관리할 수 있는 도구
- 회사의 운영 및 보안 요구 사항에 맞게 유연하게 액세스 권한 구성 가능
1) IAM 기능의 조합
- IAM 사용자, 그룹 및 역할
- IAM 정책
- 다중 인증(MFA)
2) AWS 계정 루트 사용자
- 루트 사용자는 AWS 계정을 처음 만들 때 사용된 이메일 주소와 암호로 로그인
- 모든 AWS 서비스와 리소스에 대한 전체 액세스 권한 보유
- 루트 사용자는 카페의 사장으로 비유되며 계정 내 모든 것을 제어 가능
- 일상적인 작업에는 루트 사용자를 사용하지 않는 것이 좋음, 대신 루트 사용자를 사용하여 첫 번째 IAM 사용자를 생성하고 이 사용자에게 다른 사용자를 생성할 수 있는 권한을 할당하여 사용할 수 있음
- 루트 사용자만 사용할 수 있는 제한된 종류의 작업을 수행하는 경우메나 루트 사용자를 사용할 것을 권장
3) IAM 사용자
- AWS에서 생성하는 자격 증명으로, 사람 또는 애플리케이션을 나타냄
- 기본적으로 새로 생성된 IAM 사용자에게는 권한이 없으며 권한을 부여해야 특정 작업 수행 가능
- 모범 사례
- 각 사용자에게 개별 IAM 사용자를 생성
- 동일한 수준의 액세스가 필요하더라도 각 직원에게 고유한 자격 증명을 부여해 보안 강화
4) IAM 정책
- AWS 서비스 및 리소스에 대한 권한을 허용하거나 거부하는 문서
- 정책을 통해 세밀한 제어가 가능하며 , 특정 리소스나 서비스에만 접근하도록 설정할 수 있음
- 모범 사례
- 최소 권한 원칙을 적용해 필요한 최소한의 권한만 부여
- 예: 직원이 특정 S3 버킷에만 접근하도록 설정
5) IAM 그룹
- 여러 IAM 사용자를 모아 관리하는 그룹
- 그룹에 정책을 할당하면 모든 사용자에게 동일한 권한 적용
- 모범 사례
- 직원들이 직무를 전환할 때 그룹 간 이동을 통해 손쉽게 권한 변경 가능
6) IAM 역할
- 임시로 권한을 부여받기 위한 자격 증명
- 역할을 맡으면 기존 권한을 포기하고 새로운 권한을 임시로 부여 받음
- 모범 사례
- 임시 액세스가 필요한 경우에 적합하며, 장기적으로 사용되지 않는 권한 부여에 유리
- 직원은 쉽게 여러 워크스테이션을 전환할 수 있지만 특정 시점에서는 단일 워크스테이션만 액세스 가능
7) 다중 인증(MFA: Multi-Factor Authentication)
- 사용자가 IAM 사용자가 아이디와 패스워드를 입력하여 AWS 웹사이트를 로그인하고, 다음으로 AWS MFA 디바이스의 인증 응답을 입력하라는 메시지가 표시됨
- 이 디바이스는 하드웨어 보안 키, 하드웨어 디바이스, 스마트폰과 같은 디바이스의 MFA 애플리케이션
3. AWS Organiztions
- 중앙 위치에서 여러 AWS 계정을 통합하고 관리할 수 있음
- 조직을 생성하면 AWS Organizations가 조직의 모든 계정에 대한 상위 컨테이너 루트를 자동으로 생성
1) 서비스 제어 정책(SCP)
- AWS Organizations에서는 서비스 제어 정책을 사용하여 조직의 계정에 대한 권한을 중앙에서 제어할 수 있음
- 서비스 제어 정책을 조직 루트, 개별 멤버 계정, 조직 단위에 적용할 수 있음
- 조직 루트: AWS Organizations에서 가장 상위 레벨이며, 이 루트에 적용된 SCP는 조직의 모든 계정과 OU에 자동으로 적용됩니다.
- 조직 단위(OU: Organizaion Unit): 여러 계정을 논리적으로 그룹화한 단위입니다. 특정 OU에 SCP를 적용하면 그 OU에 속한 모든 계정에 SCP가 적용됩니다.
- AWS Organization에서는 계정을 조직 단위로 그룹화하여 비슷한 비즈니스 또는 보안 요구 사항이 있는 계정을 관리할 수 있음
- 개별 계정을 조직 단위로 구성하면 보안 요구 사항이 있는 워크로드 또는 애플리케이션을 보다 간편하게 격리할 수 있음
- 예: 회사에 특정 요구 사항을 충족하는 AWS 서비스에만 액세스할 수 있는 계정이 있다면 이러한 계정을 조직 단위에 배치하여 요구사항을 충족하지 않는 다른 모든 AWS 서비스에 대한 액세스를 차단하는 정책을 해당 조직 단위에 연결할 수 있음
- 개별 멤버 계정
- OU에 속하지 않거나 개별적으로 SCP를 적용해야 하는 경우, 특정 계정에 SCP를 직접 적용할 수 있습니다.
- 각 계정의 사용자 및 역할이 액세스할 수 있는 AWS 서비스, 리소스 및 개별 API 작업을 제한할 수 있음
4. 규정 준수
1) AWS Artifact
AWS 보안 및 규정 준수 보고서 및 일부 온라인 계약에 대한 주문형(온디맨드) 액세스를 제공하는 서비스
AWS Artifact Agreements와 AWS Artifact Reports 두 가지 주요 섹션으로 구성됨
① AWS Artifact 계약
- 정의: AWS Artifact Agreements는 고객이 AWS와 서명한 계약서와 법적 합의서를 관리하고 접근할 수 있는 서비스입니다.
- 기능:
- 고객이 서명할 수 있는 특정 계약(예: GDPR 관련 데이터 처리 계약)을 제공합니다.
- 법적 요구사항에 따라 계약을 요청하고 추적할 수 있습니다.
- 적용 대상: 글로벌 조직 또는 법적 규제를 따르는 고객들이 계약 이행을 관리하고, 규제 준수를 확인하는 데 사용합니다.
- 계약 유형:
- GDPR 데이터 처리 계약(DPA)
- HIPAA 비즈니스 계약(BAA)
- 이점: 고객은 필요한 규제 준수를 위해 AWS와 맺은 법적 합의서를 손쉽게 관리하고 서명 절차를 진행할 수 있습니다.
② AWS Artifact 보고서
- 정의: AWS Artifact Reports는 AWS의 보안 및 규정 준수 보고서를 다운로드하고 관리할 수 있는 서비스입니다.
- 기능:
- 다양한 규정 준수 보고서(예: SOC 1, SOC 2, ISO 인증 보고서 등)를 제공합니다.
- AWS의 보안 및 규제 준수 상태를 직접 검토할 수 있도록 지원합니다.
- 보고서 유형:
- SOC 1: 금융 보고서에 대한 통제
- SOC 2: 보안, 가용성, 기밀성, 개인정보 보호 및 처리 무결성 관련 통제
- ISO 27001, 27017, 27018: 정보 보안 및 클라우드 환경에서의 규정 준수 관련 인증
- PCI DSS: 카드 결제 관련 보안 표준 준수 인증
- 이점: 규정 준수 요구사항을 충족하기 위해 필요한 보고서를 직접 다운로드하여 내부 감사 또는 규제 기관에 제출할 수 있습니다.
③ AWS Artifact에서 제공하는 규정 준수 보고서 및 규정
④ 고객 컴플라이언스 센터
- AWS 규정 준수에 대해 자세히 알아볼 수 있는 리소스 포함되어 있음
- 고객 규정 준수 센터에서 고객 규정 준수 사례를 읽고 규제 대상 업종의 기업들이 다양한 규정 준수 ,커버넌스 및 감사 과제를 어떻게 해결했는지 확인할 수 있음
- 아래와 같은 규정 준수 백서 및 설명서에 액세스 할 수 있음
- 주요 규정 준수 질문에 대한 AWS 답변
- AWS 위험 및 규정 준수 개요
- 보안 감사 체크리스트
- 감사자 학습 경로
- 내부 운영에서 AWS 클라우드를 사용한 규정 준스를 입증할 수 있는 방법을 자세히 알아보고자 하는 감사, 규정 준수 및 법무 담당자를 위해 고안됨
5. 서비스 거부 공격 방지
1) 서비스 거부 공격(DoS: Denial-of-Service attack)
- 사용자들이 웹 사이트 또는 애플리케이션을 이용할 수 없게 만들려는 의도적인 시도
- 공격자는 공격 대상 웹사이트나 애플리케이션이 과부하되어 더 이상 응답할 수 없을 때까지 과도한 네트워크 트래픽으로 범람(flood)하게하고 합법적 요청을 하려는 사용자에게 서비스가 거부됨
2) 분산 서비스 거부 공격(DDos: Distrubuted Denial-of-Service attck)
- 여러 소스를 사용하여 웹 사이트 또는 애플리케이션을 사용할 수 없게 만드는 공격을 하는 것
- 공격자는 그룹일 수도 있고 단일 공격자일 수도 있음
- 단일 공격자는 여러 대의 감염된 컴퓨터(일명: 봇)를 사용하여 웹사이트나 애플리케이션에 과도한 트래픽을 보냄
3) AWS Shield
- 애플리케이션에 대한 Dos 및 DDos 공격의 영향을 최소화하기 위해 사용
- AWS Shield는 Standard와 Advanced 두 가지 수준의 보호를 제공함
① AWS Shield Standard
- 모든 AWS 고객을 자동으로 보호하는 무료 서비스
- AWS 리소스를 DDos 공격 유형으로부터 보호함
② AWS Shield Advanced
- 세부적인 공격 진단 및 정교한 DDos 공격을 탐지하고 완화할 수 있는 기능을 제공하는 유료 서비스
- Amazon CludFront, Amazon Route 53, Elastic Load Balancing과 같은 다른 서비스와도 통합됨
- 복잡한 DDos 공격을 완화하기 위한 사용자 지정 규칙을 작성하여 AWS Shield를 AWS WAF(Web Application Firewall)와 통합할 수 있음
6. 추가 보안 서비스
1) AWS Key Management Service(AWS KMS)
- 애플리케이션의 데이터는 저장 상태(저장 시 암호화), 전송되는 중 상태(전송 중 암호화) 가 있는데 둘 다 데이터가 안전한지 확인이 필요함
- AWS KMS를 사용하면 암호화 키를 사용하여 암호화 작업을 할 수 있음
- 암호화 키는 데이터 잠금(암호화) 및 잠금 해제(암호 해독)에 사용되는 임의의 숫자 문자열
- AWS KMS를 사용하여 암호화 키를 생성, 관리, 사용할 수 있으며 광범위한 서비스 및 애플리케이션에서 키 사용을 제어할 수 있음
- 키에 필요한 액세스 제어를 특정 수준으로 선택할 수 있음(예: 키를 관리할 수 있는 IAM 사용자 및 역할 지정 가능, 더이상 사용되지 않도록 일시적으로 키 비활성화 가능)
2) AWS WAF(AWS Web Application Firewall)
- 웹 애플리케이션으로 들어오는 네트워크 요청을 모니터링할 수 있는 웹 애플리케이션 방화벽
- Amazon CludFront 및 Application Load Balancer와 함께 작동함
- 네트워크 액세스 제어 목록과 비슷한 방식으로 작동하여 트래픽을 차단하거나 허용하지만 웹 액세스 제어 목록(ACL) 사용
- 예: 애플리케이션이 여러 IP 주소에서 악의적인 네트워크 요청을 받고있다고 가정 했을 때, 악의적인 IP 주소를 제외한 모든 요청을 허용하도록 웹 ACL을 구성(=차단주소 등록)하여 요청이 들어오면 웹 ACL에서 구성한 규칙 목록을 확인하고, 요청이 차단된 IP 주소가 아니라면 애플리케이션에 대한 액세스 허용, 차단 IP 주소라면 액세스 거부
3) Amazon Inspector
- AWS에서 제공하는 자동화된 보안 평가 서비스로 AWS 워크로드와 애플리케이션의 취약점을 찾아내고 개선할 수 있는 서비스
- 주요 기능:
- 취약성 검사: EC2 인스턴스 및 컨테이너 이미지의 보안 취약점 및 구성이 잘못된 부분을 스캔하고 평가합니다.
- 네트워크 접근성 분석: 애플리케이션에서 외부로부터 어떻게 접근 가능한지를 분석하여 보안 위험을 평가합니다.
- 자동화된 평가: 지속적인 스캔을 통해 새로운 취약점이나 보안 위험을 자동으로 탐지합니다.
- 통합된 보고서: 취약점 분석 결과를 정리한 보고서를 생성하여 보안 상태를 손쉽게 파악할 수 있습니다.
- 그러나 AWS는 제공된 권장 사항으로 모든 잠재적 보안 문제가 해결됨을 보장하지 않으므로 공동 책임 모델에 따라 고객은 AWS 서비스에서 실행되는 애플리케이션, 프로세스 및 도구의 보안에 대한 책임이 있음
4) Amazon GuardDuty
- AWS 인프라 및 리소스에 대한 지능형 위협 탐지 기능을 제공하는 서비스
- AWS 환경 내의 네트워크 활동 및 계정 동작(VPC Flow Logs 및 DNS 로그 등)을 지속적으로 모니터링하여 위협을 식별하여 보안 사고에 신속하게 대응할 수 있도록 도움
- GuardDuty가 위협을 탐지한 경우 AWS 관리 콘솔에서 위협에 대한 자세한 탐지 결과를 검토할 수 있음
- 탐지 결과에는 문제 해결을 위한 권장 단계가 포함됨
- GuardDuty 보안 탐지 결과에 대한 응답으로 자동으로 문제 해결 단계를 수행하도록 AWS Lambda 함수를 구성할 수도 있음