Notice
Recent Posts
Recent Comments
Link
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

Hack3rSoltion의 클라우드 보안 이야기

AWS 보안 체크리스트 - 일반 / AWS Security Check List - General 본문

AWS

AWS 보안 체크리스트 - 일반 / AWS Security Check List - General

hack3rsolution 2018. 1. 17. 15:06

AWS에서는 보안 체크리스트를 제공하고 있습니다.

크게 General, EC2/VPC/EBS, S3의 세가지 챕터로 나뉘어져 있는데 오늘은 General에 대해 알아보겠습니다.



1. Root Account를 보호하세요.

  a. 개인 키 뱅킹 액세스를 보호하는 것과 동일한 방법으로 액세스 키를 보호하세요.

  b. AWS는 물론 모든 클라우드 서비스에서 가장 기본이자 중요한 항목입니다.

  c. AWS 계정에 대한 액세스 키는 결제 정보를 포함하여 모든 AWS 서비스의 전체 리소스에 대해 완벽한 액세스 권한을 부여합니다. AWS 계정 액세스 키에 연결된 권한은 제한할 수 없습니다.

  d. 따라서 매우 강력한 장치들로 AWS 계정 액세스 키를 보호해야 합니다.

    i. AWS 계정에 대한 액세스 키가 아직 없다면 필요할 때까지 만들지 마세요.

    ii. AWS 계정에 대한 액세스 키가 있다면 삭제하고, 계속 유지해야 할 경우 주기적으로 액세스 키를 교체(변경)하세요.

    iii. 다른 사람과 AWS 계정 암호 또는 액세스 키를 공유하지 마세요.

    iv. 강력한 암호를 사용하여 AWS Management Console에 대한 계정 수준의 액세스를 보호하세요.

    v. AWS 계정에 AWS Multi-Factor Authentication(MFA)을 활성화하세요.


2. CloudTrail과 Billing S3 Bucket을 보호하세요.

  a. "알아야 할 사항"에 따라 사용자와 역할에 대한 액세스를 제한하세요.

  b. Amazon S3에서는 리소스 기반 정책과 사용자 정책으로 대략 분류된 액세스 정책 옵션을 제공합니다.

  c. 리소스(버킷 및 객체)에 연결하는 액세스 정책을 리소스 기반 정책이라고 합니다.

  d. 본인의 계정에 속한 사용자에게 액세스 정책을 연결할 수도 있는데 이를 사용자 정책이라고 합니다.

  e. 이런 정책을 사용하여 중요한 object인 CloudTrail과 Billing 정보를 보호해야 합니다.


3. 리전 기반의 CloudTrail을 활성화하세요.

  a. 모든 AWS 계정 활동의 가시성과 추적성 확보하세요.

  b. AWS CloudTrail은 AWS 계정의 거버넌스, 규정 준수, 운영 감사, 위험 감사가 가능한 서비스입니다.

  c. 임의 리전에서 기본 글로벌 엔드포인트가 아닌 AWS STS 엔드포인트를 활성화할 경우에는 해당 리전의 CloudTrail 로깅 기능도 함께 활성화하여 AWS STS API 호출을 모두 기록해야 합니다.

  d. 모든 리전을 trace하면 이런 장점이 있습니다.

    i. 추적에 대한 구성 설정이 모든 리전에 일관되게 적용됩니다.

    ii. 단일 S3 버킷의 모든 리전과 필요할 경우 CloudWatch Logs 로그 그룹의 모든 리전에서 CloudTrail 이벤트를 수신합니다.

    iii. 한 위치에서 모든 리전에 대한 추적 구성을 관리합니다.

    iv. 새 리전에서 이벤트를 즉시 수신합니다. 새 리전이 시작되면 CloudTrail은 원래 추적과 동일한 설정으로 새 리전의 사용자에 대한 추적을 자동으로 생성합니다.

    v. 비정상적인 활동을 모니터링하기 위해 자주 사용하지 않는 리전에 추적을 생성할 수 있습니다.

  e. 하지만 보안을 강화하는 차원에서 리전 기반의 CloudTrail 활성화를 권고합니다.

  f. 개발자, 보안 직원 및 IT 감사자 등 서로 다르지만 관련된 사용자 그룹이 있는 경우 리전별로 여러 추적을 생성할 수 있습니다. 이렇게 하면 각 그룹이 고유한 로그 파일 사본을 수신할 수 있습니다.

  g. CloudTrail에서 지원하는 region은 다음을 참고하세요.

    - https://docs.aws.amazon.com/ko_kr/awscloudtrail/latest/userguide/cloudtrail-supported-regions.html


4. 제한된 권한으로 관리자 Role을 생성하세요.

  a. IAM 정책을 사용하여 필요한 서비스에만 액세스를 제한하세요.

  b. IAM은 AWS에서 가장 중요한 서비스이자 보안의 중심 솔루션입니다.

  c. 가장 기본적인 기능은 필요한 권한만 필요한 사용자에게 부여하는 것입니다.

  d. 관리자 역시 'Administrator' 권한이 아닌 관리에 필요한 최소한의 권한만 갖도록 해야 합니다.


5. STS와 Role에 익숙해지세요.

  a. AWS STS는 임시, 제한된 권한의 자격증명을 요청할 수 있게 해주는 서비스입니다.

  b. 임시자격증명은 다음과 같은 장점이 있습니다.

    i. 애플리케이션으로 장기 AWS 보안 자격 증명을 배포 또는 포함할 필요가 없습니다.

    ii. 사용자에 대한 AWS 자격 증명을 정의하지 않고도 AWS 리소스에 대한 액세스 권한을 사용자에게 제공할 수 있습니다.

    iii. 임시 보안 자격 증명은 수명이 제한되어 있어서, 더 이상 필요하지 않을 때 교체하거나 명시적으로 취소할 필요가 없습니다.

  c. 따라서 STS를 잘 사용하는 건 같은 프로세스 상에서 보안을 더 강화하는 효과가 있습니다.


6. 상세한 청구서 작성에 익숙해지고 매월 사용량을 정기적으로 모니터링하세요.

  a. AWS Detailed Billing은 사용된 리소스와 발생한 비용에 대한 "시간별" 통찰력을 제공합니다.

  b. 제공되는 정보는 다음과 같습니다.

    i. 자격 증명 세부 정보

      - Account ID와 Time Interval

    ii. 청구서 세부 정보

      - Billing Type, Billing Period, etc.

    iii. 행 항목 세부 정보

      - Payment Type, Usage Start/End Date, Operation, Availability Zone, etc.

    iv. 예약 세부 정보

      - Number Of Reservations, Reservation ARN,Total Reserved Units, Units Per Reservation, etc.

    v. 요금 내역

      - Public On Demand Cost, Purchase Option, Rate Type, Rate Unit, etc.

    vi. 제품 세부 정보

      - Instance Type, Operating System, Region, Tenancy, etc.

    vii. 리소스 태그

      - user:Creator, user:Name, user:Owner, user:Purpose

  c. 이런 데이터를 바탕으로 비용을 최적화하기 위한 절차와 실행이 필요합니다.

Comments