[AWS] AWS Security Essentials

vinca·2023년 11월 7일
0

보안원칙

위험평가 및 완화 전략을 통해 비즈니스가치를 제공하는 동시에 정보, 시스템, 자산을 보호하는 능력을 포함하도록 한다.

  • 자격 증명 및 액세스 관리
  • 탐지
  • 인프라 보호
  • 데이터 보호
  • 인시던트 대응

AWS Well-Architected Tool

  • AWS WA Tool은 고객이 AWS 솔루션 아키텍트의 도움 없이 언제든지 AWS 워크로드를 검토할 수 있도록 설계된 셀프 서비스 도구이다.
  • 이 도구를 사용하면 일관된 프로세스를 사용하여 워크로드를 검토하고, 워크로드 아키텍처의 잠재적 위험을 이해하고, 개선을 위한 다음 단계를 식별할 수 있다.

보안의 3요소

  • 기밀성
    허락되지 않은 사용자 또는 객체는 정보에 접근할 수 없어야 한다.
  • 무결성
    인가된(권한이 있는) 사람만이 정보를 변경(변조)할 수 있다.
  • 가용성
    정보에 대한 접근과 사용이 필요할 때 항상 보장되어야 한다.

공동 책임 모델

AWS는 고객과의 공동 책임을가진다.
이를 공동 책임 모델이라고 하는데 어떤 의미일까?

쉽게 말해 AWS클라우드 자체의 보안을 책임지고, 고객클라우드 내부의 보안을 책임진다.

AWS의 책임

AWS ➡️ '클라우드의 보안'
AWS는 AWS 클라우드에서 제공되는 모든 서비스의 인프라를 보호할 책임이 있다.
이는 AWS에서 제공하는 실행하는 하드웨어, 소프트웨어, 네트워킹 및 시설을 의미한다.

고객의 책임

고객 ➡️ '클라우드에서의 보안'
고객 책임의 범위는 고객이 이용하는 AWS 클라우드 서비스에 따라 달라진다.

그 예를 살펴보자.

  • EC2
    예를 들어, Amazon Elastic Compute Cloud (Amazon EC2) 같은 서비스는 Iaas(Ifrastructure as a Service)로 분류되고 고객이 필요한 모든 보안 구성 및 관리 작업을 수행한다.

    IaaS란?
    AWS에서 서버, 하드 드라이브, 네트워킹, 가상화 및 스토리지를 관리/책임을 가지며 고객은 OS, 미들웨어, 애플리케이션 및 데이터와 같은 자원들을 관리/책임을 가지는 형태

고객은 운영 체제의 관리(업데이트, 보안 패치 등), EC2 인스턴스에 설치한 모든 애플리케이션 소프트웨어 및 유틸리티의 관리, EC2 인스턴스별 방화벽(보안 그룹)의 구성 관리에 대한 책임을 가진다.

  • Amazon S3 & Amazon DynamoDB
    Amazon S3 및 Amazon DynamoDB와 같은 추상화 서비스의 경우, AWS는 인프라 계층, 운영 체제, 플랫폼을 운영하고 고객은 데이터를 저장하고 검색하기 위해 엔드포인트에 액세스합니다. 고객은 데이터 관리(암호화 옵션 포함), 자산 분류, 적절한 허가를 부여하는 IAM 도구 사용에 책임이 있습니다.

추상화 서비스란?
추상화 서비스란, 고객이 기술이나 인프라를 직접 다루지 않고, 대신 서비스 제공업체가 이를 대신 관리하고 제공하는 서비스. 고객은 자체적으로 기술적인 디테일에 대한 걱정 없이 서비스를 이용할 수 있다.
일반적인 예로 클라우드 서비스 (예: Amazon S3, Amazon RDS), 관리형 데이터베이스 서비스, 서버리스 컴퓨팅 (예: AWS Lambda) 등이 있다.

AWS Config

생성한 리소스에 대해서 캡쳐해주는 서비스이다.
생성한 리소스에 대한 정보들을 한눈에 볼 수 있고, 이러한 리소스의 변경사항(인스턴스 유형 변경, S3의 보안 규칙 변경 등)의 기록을 제공한다.

AWS 리소스들에 대해 사용자가 지정한 규칙(방화벽이 적용되었는가?, 보안이 걸려있는가?)을 지정할 수 있다.

예시

[AWS] ISMS-P를 위한 AWS Config 규정 준수 팩 사용하기

AWS Config 서비스란?
AWS 리소스 구성을 측정, 감사 및 평가할 수 있는 서비스입니다. AWS Config 서비스를 이용해 한국인터넷 진흥원(KISA)의 정보보호 및 개인정보보호 관리체계 인증(ISMS-P) 기준에 맞춰 AWS 서비스의 컴플라이언스 상태를 진단하고 관리 할 수 있는 AWS Config 규정 준수 팩(Conformance Pack)이 출시 되었다.

AWS Config 규정 설정을 통해서, ISMS-P를 준수하도록 규칙을 지정할 수 있다.

보안 이점 및 책임

AWS IAM

IAM 사용자

  • 운영자가 AWS Management Console에 로그인 하거나, AWS에 프로그래밍 방식으로 요청할수 있도록허용
  • 사용자를그룹의구성원으로 추가하거나권한을직접 배정하는방식으로권한부여

IAM 그룹

  • 동일한 권한을 가진 IAM 사용자의 집합.
    • 그룹은 여러 사용자를 포함할수 있고, 사용자 한명이 여러 그룹에 속할 수 있다.
    • 사용자 및 권한을 간편하게 관리할 수 있다.

IAM 역할

• 신뢰할 수 있는 사용자, 애플리케이션 또는 서비스에 임시 AWS 자격 증명 제공

🎈임시 AWS 자격증명의 예시
예를 들어, 회사의 웹 개발자가 휴가에 가버렸는데, 당신이 그 개발자의 역할을 대신 수행해야 할 때를 생각해보자.
웹 개발자의 역할의 권한과 액세스 권한을 정의하고, 웹 애플리케이션에 필요한 AWS 리소스에 대한 액세스를 가지는 모자를 만든다. 그런 다음 당신은 그 모자를 쓰고, 해당 역할을 "맡아" 작업을 수행하게 된다.

기존의 온프레미스의 환경에 인증 솔루션이 이미 구성이되어있는 경우, 이러한 인증 솔루션을이용해서 자격증명이 가능하도록 "연동"할 수 있다.

역할을 생성해야 하는 경우

  • 앱 내부 키 저장을 대체할 수 있는 방법
    임시 자격 증명에 접근해야 하는 경우, FILE 형태의 액세스키를 사용하면 유출될 우려가 있다.

자격 증명기반 권한과 리소스 기반 권한

자격증명 기반 권한 (Credential-Based Permissions)

이 접근 방식은 주로 사용자 또는 역할에 대한 인증 자격증명 (예: 사용자 이름과 암호, 액세스 키 및 시크릿 키)을 기반으로 합니다.

리소스 기반 권한 (Resource-Based Permissions)

이 접근 방식은 주로 AWS 리소스 자체에 직접 권한을 할당하는 방식입니다.
AWS 리소스는 자체적으로 권한 및 정책을 가지며, 특정 사용자 또는 역할을 리소스에 연결하여 권한을 부여합니다.
예를 들어, S3 버킷이나 Lambda 함수는 자체적으로 액세스 정책을 가지며, 해당 리소스에 액세스하려는 사용자나 역할은 해당 리소스에 대한 권한을 가질 수 있습니다.
간단히 말해서, 자격증명 기반 권한은 사용자 또는 역할에게 부여된 자격증명을 기반으로 액세스를 관리하고, 리소스 기반 권한은 각 AWS 리소스 자체에 권한을 부여하여 액세스를 제어합니다. 이 두 가지 접근 방식은 AWS IAM (Identity and Access Management)에서 사용자 및 리소스에 대한 권한을 관리하고 제어하는 데 사용됩니다.

권한의 우선순위

  1. 명시적 거부가 되어있는지를 확인한다.
  2. 명시적 허용 권한이 있는지 확인한다.
  3. 1.2.가 없다면 묵시적으로 거부된다.

권한의 우선순위 예
Kevin이 리소스A에 대한 리소스 기반 권한이 allow고 자격증명에서 deny라면 케빈은 리소스A에 접근할 수 없다.
. AWS IAM 권한 규칙에 따르면, "deny" 규칙이 "allow" 규칙을 우선시되기 때문이다.
따라서 리소스에 "allow" 규칙이 적용되고 자격증명 (예: 사용자 Kevin)에 "deny" 규칙이 적용되더라도 Kevin은 해당 리소스에 액세스할 수 없습니다.
즉, "deny" 규칙이 다른 "allow" 규칙을 무효화기 때문이다. (반대의 경우도 동일)

Source

profile
붉은 배 오색 딱다구리 개발자 🦃Cloud & DevOps

0개의 댓글