study/TIL🐥

[AWS Cloud Practitioner] 6. 보안

서나쓰 2022. 7. 19. 14:31
728x90

공동 책임 모델

EC2 인스턴스, S3 버킷, RDS 데이터베이스를 안전하게 유지할 책임은 누구에게 있을까? 고객? AWS?

정답은 둘 다이다. AWS는 사용자 환경의 일부분을 책임지고 고객은 다른 부분을 책임진다. 이 개념을 공동 책임 모델이라고 한다.

공동 책임 모델은 고객 책임(클라우드 내부의 보안)과 AWS 책임(클라우드 자체의 보안)으로 나뉜다

고객 : 클라우드 내부의 보안

  • AWS 서비스를 사용할 때 고객은 자체 콘텐츠에 대한 완전한 제어를 유지한다액세스 권한을 부여, 관리 및 해지하는 것도 고객이 제어한다
  • 콘텐츠에 대한 보안 요구 사항을 관리할 책임 또한 고객에게 있다
  • 고객은 AWS 클라우드 내에서 생성하고 배치하는 모든 것의 보안을 책임진다

AWS : 클라우드 자체의 보안

  • 인프라의 모든 계층에서 구성 요소를 운영, 관리 및 제어한다물리적 인프라를 관리하는데 아래 내용을 포함한다
    • 데이터 센터의 물리적 보안
    • 하드웨어 및 소프트웨어
    • 인프라
    • 네트워크 인프라
    • 가상화 인프라
  • 글로벌 인프라를 보호할 책임이있고, 리전, 가용 영역, 엣지 로케이션을 포함한다
  • AWS는 클라우드 자체의 보안을 책임진다

사용자 권한 및 액세스

AWS Identity and Access Management(IAM)

IAM를 사용하면 AWS 서비스와 리소스에 대한 액세스를 안전하게 관리할 수 있다.

IAM은 회사의 고유한 운영 및 보안 요구 사항에 따라 액세스 권한을 구성할 수 있는 유연성을 제공한다. 다음과 같은 IAM 기능을 조합하여 사용한다.

  • IAM 사용자, 그룹 및 역할
  • IAM 정책
  • Multi-Factor Authentication

AWS 계정 루트 사용자

AWS 계정을 처음 만들면 루트 사용자라고 하는 자격 증명으로 시작한다

루트 사용자는 AWS 계정을 만들 때 사용한 이메일 주소 및 암호로 로그인하여 액세스한다

이 사용자는 계정의 모든 AWS 서비스 및 리소스에 대한 전체 액세스 권한을 가진다

💡 일상 작업에는 루트 사용자를 사용하지 말자
대신 루트 사용자를 사용하여 첫번째 IAM 사용자를 생성하고 이 사용자에게 다른 사용자를 생성할 수 있는 권한을 할당하라
루트 사용자만 사용할 수 있는 제한된 종류의 작업을 수행해야 하는 경우에만 루트 사용자를 사용하라

IAM 사용자

IAM 사용자는 사용자가 AWS에서 생성하는 자격증명이다

이 사용자는 AWS 서비스 및 리소스와 상호 작용하는 사람 또는 애플리케이션을 나타낸다

기본적으로 IAM 사용자를 생성하면 해당 사용자와 연결 된 권한이 없으므로 특정 작업을 수행하기 위해 권한을 부여해야 한다

💡 AWS에 액세스해야 하는 각 사용자마다 개별 IAM 사용자를 생성하는 것이 좋다
동일한 수준의 액세스가 필요한 직원이 여러 명이더라도 각 직원마다 개별 IAM 사용자를 생성해야한다

IAM 정책

AWS 서비스 및 리소스에 대한 권한을 허용하거나 거부하는 문서

사용자가 리소스에 액세스할 수 있는 수준을 사용자가 지정할 수 있다

💡권한을 부여할 때 최소 권한 보안 원칙을 따르라 사용자 또는 역할이 해당 작업을 수행하는데 필요한 것보다 많은 권한을 갖는 것을 방지할 수 있다

예: IAM 정책

다음은 IAM 정책이 작동하는 방식의 예이다

직원이 ID가 AWSDOC-EXAMPLE-BUCKET인 S3 버킷에 액세스하려고 한다

 

이 예제의 정책은 Amazon S3:ListObject 내에서 특정 작업을 허용한다. 특정 버킷 ID:AWSDOC-EXAMPLE-BUCKET도 언급되어있다. 해당 사원은 해당 버킷의 모든 객체를 볼 수 있다.

 

 

IAM 그룹

IAM 그룹은 IAM 사용자의 모음이다

그룹에 정책을 할당하면 해당 그룹의 모든 사용자에게 지정된 권한이 부여된다

 

그룹 수준에서 IAM 정책을 할당하게 되면 직원이 직무를 전환하는 경우 손쉽게 조정할 수 있다. 예를 들어 계산원이 인벤토리 담당자가 되는 경우 점주는 해당 계산원을 IAM 그룹에서 제거하고 인벤토리 전문가 IAM 그룹에 추가한다

영구적인 직무 전환 없이 여러 워크스테이션을 순환하는 경우는 IAM 역할을 통해 액세스 권한을 얻을 수 있다

 

 

IAM 역할

직원이 다른 직무로 전환해야 할 경우 한 워크스테이션에 대한 액세스 권한을 포기하고 다음 워크스테이션에 액세스할 수 있다. 이 직원은 여러 워크스테이션 사이를 쉽게 전환할 수 있지만 특정 시점에서는 단일 워크스테이션에만 액세스 할 수 있다

IAM 역할은 임시로 권한에 액세스하기 위해 수임할 수 있는 자격 증명이다

IAM 사용자, 애플리케이션 또는 서비스가 IAM 역할을 수임하려면 먼저 해당 역할로 전환할 수 있는 권한을 받고, 이전 역할에 지정된 모든 권한을 포기하고 새 역할에 지정된 권한을 수임하는 것이다

💡 IAM 역할은 서비스 또는 리소스에 대한 액세스 권한을 장기적이 아니라 일시적으로 부여해야하는 상황에 이상적이다

 

Multi-Factor Authentication

신원을 확인하기 위해 여러가지 정보를 제공하도록 요구하는 제도

휴대폰으로 전송된 난수 코드와 같은 두번 째 인증 형식을 제공하는 것

AWS Organizations

회사에 여러 AWS 계정이 있다고 가정하면 AWS Organizations를 사용하여 중앙 위치에서 여러 AWS 계정을 통합하고 관리할 수 있다

조직을 생성하면 AWS Organizations가 조직의 모든 계정에 대한 상위 컨테이너 루트를 자동으로 생성

서비스 제어 정책(SCP)을 사용하여 조직의 계정에 대한 권한을 중앙에서 제어할 수 있다. SCP를 사용하면 각 계정의 사용자 및 역할이 액세스할 수 있는 AWS 서비스, 리소스 및 개별 API 작업을 제한할 수 있다

💡 통합 결제는 AWS Organizations의 또 다른 기능이다

 

조직 단위

Organizations에서는 계정을 조직 단위(OU)로 그룹화하여 비슷한 비즈니스 또안 보안 요구 사항에 있는 계정을 손쉽게 관리할 수 있다

개별 계정을 OU로 구성하면 특정 보안 요구 사항이 있는 워크로드 또는 애플리케이션을 보다 간편하게 격리할 수 있다

규정 준수

AWS Artifact

회사가 속한 업종에 따라 특정 표준을 준수해야 할 수 있다

감사 또는 검사는 회사가 이러한 표준을 충족했는지 확인하는 절차이다

AWS Artifact는 AWS 보안 및 규정 준수 보고서 및 일부 온라인 계약에 대한 온디맨드 액세스를 제공하는 서비스이다

AWS Artifact Agreements

  • 개별 계정 및 Organizitions 내 모든 계정에 대한 계약을 검토, 수락 및 관리할 수 있다
  • HIPAA(미국 건강 보험 양도 및 책임에 관한 법)와 같은 특정 규정의 적용을 받는 고객의 요구 사항을 해결하기 위한 다양한 유형의 계약이 제공
  • AWS 서비스 전체에서 특정 유형의 정보를 사용하기 위해 AWS와 계약을 체결해야 한다면 AWS Artifact Agreement를 통해 수행할 수 있다

AWS Artifact Reports

  • 외부 감사 기관이 작성한 규정 준수 보고서를 제공한다
  • AWS가 다양한 글로벌, 지역별, 산업별 보안 표준 및 규정을 준수했음을 검증한다
  • 회사의 개발 팀원 한명이 애플리케이션을 빌드하는 도중 특정 규제 표준을 준수하기 위한 책임에 대한 추가 정보가 필요하다고 가정하면, Artifact Reports에서 이 정보에 액세스하도록 조언할 수 있다

고객 규정 준수 센터

AWS 규정 준수에 대해 자세히 알아볼 수 있는 리소스가 포함되어있다

다음과 같은 규정 준수 백서 및 설명서에 액세스할 수 있다

  • 주요 규정 준수 질문에 대한 AWS 답변
  • AWS 위험 및 규정 준수 개요
  • 보안 감사 체크리스트

 

서비스 거부 공격

서비스 거부(Dos) 공격은 사용자들이 웹 사이트 또는 애플리케이션을 이용할 수 없게 만드려는 의도적인 시도

 

공격자는 목표로 삼은 웹 사이트 또는 애플리케이션이 과부하가 걸려 더 이상 응답할 수 없을 때까지 웹 사이트 또는 애플리케이션을 과도한 네트워크 트래픽으로 플러드 시킬 수 있다

웹 사이트 또는 애플리케이션을 사용할 수 없게 되면 합법적인 요청을 시도하는 사용자에게 서비스를 제공하지 못한다

 

분산 서비스 거부(DDos) 공격

분산 서비스 거부(DDoS) 공격에는 여러 소스를 사용하여 웹 사이트 또는 애플리케이션을 사용할 수 없게 만드는 공격을 시작합니다

공격자는 그룹일 수 있고 한명일수도 있다

단일 공격자는 감연된 여러 컴퓨터(봇)를 사용하여 과도한 트래픽을 웹 ㅅ이트 또는 애플리케이션으로 전송한다

DoS 및 DDoS 공격이 애플리케이션에 미치는 영향을 최소하기 위해 AWS Shield를 사용한다

 

AWS Shield

DDos의 공격으로부터 애플리케이션을 보호하는 서비스

AWS Shield Standard

  • 일반적인 DDoS 공격으로부터 보호
  • 네트워크 트래픽이 애플리케이션으로 들어오면 다양한 분석 기법을 사용하여 실시간으로 악성 트래픽 감지, 완화
  • 모든 AWS 고객을 자동으로 보호하는 무료 서비스

AWS Shield Advanced

  • CloudFront, Route53, ELB와 같은 서비스와 통합
  • DDoS 공격을 완화하기 위한 사용자 지정 규칙을 작성하여 WAF와 통합할 수 있다
  • 상세한 공격 진단 및 정교한 DDoS 공격을 탐지하고 완화할 수 있는 기능을 제공하는 유료 서비스

 

추가 보안 서비스

AWS Key Management Service (AWS KMS)

데이터들이 창고에 보관이 되어 있거나 데이터가 운송 중에 안전하게 보호되기를 원한다

저장 상태에서(저장 시 암호화) 그리고 전송되는 동안(전송 중 암호화) 애플리케이션의 데이터가 안전한지 확인해야 한다

Amazon Key Management Service(KMS) 를 사용하면 암호화 키를 사용하여 암호화 작업을 수행한다

데이터 잠금(암호화) 및 잠금 해제(암호 해독)에 사요되는 임의의 숫자열이다

KMS를 사용하여 키에 필요한 액세스 제어를 특정 수준으로 선택할 수 있다

AWS WAF

WAF는 애플리케이션으로 들어오는 네트워크 요청을 모니터링할 수 있는 웹 어플리케이션 방화벽이다

WAF는 CloudFront, Load Balancer와 함께 작동한다

AWS 웹 리소스를 보호하기 위해 웹 ACL(액세스 제어 목록)을 사용한다

애플리케이션이 여러 IP 주소에서 악의적인 네트워크 요청을 받고있다고 가정한다

애플리케이션에 계속 액세스하는 것을 방지해야 하지만 합법적인 사용자는 여전히 애플리케이션에 액세스 할 수 있어야 한다

지정한 IP 주소에서 나온 요청을 제외한 모든 요청을 허용하도록 웹 ACL을 구성한다

WAF는 요청이 들어오면 웹 ACL에서 구성한 규칙 목록을 확인하고

차단한 IP가 아니면 액세스가 허용된다

Amazon Insprector

애플리케이션을 개발하고 테스트할때 보안 모범 사례에 따라 애플리케이션을 디자인하고 있는지 확인이 필요하다

개발자들의 자동 보안 평가를 수행하기 위해 Amazon Insprector를 사용한다

Amazon Inspector는 자동화된 보안 평가를 실행하여 애플리케이션의 보안 및 규정 준수를 개선할 수 있는 서비스

평가를 수행한 후 보안 탐지 결과 목록을 제공, 권장 해결 방법도 제공한다

Amazon GuardDuty

인프라 및 리소스에 대한 지능형 위협 탐지 기능을 제공하는 서비스

AWS 환경 내의 네트워크 활동 및 계정 동작을 지속적으로 모니터링하여 위협 식별

GuardDuty는 VPC Flow Logs 및 DNS 로그를 비롯한 여러 AWS 소스의 데이터를 지속적 분석

728x90