• yundream
  • 2020-04-16 15:17:28
  • 2020-03-13 04:35:42
  • 44014

Contents

Security on AWS

Security on AWS :: 이경수 솔루션즈아키텍트 from Amazon Web Services Korea

클라우드와 보안

가트너는 글로벌 클라우드 시장이 매년 15% 이상 성장을하여 2021년에는 3025억 달러의 시장을 형성할 것으로 예측하고 있다.

 클라우드 시장 성장률

이제 퍼블릭 클라우드는 전통적인 인터넷 서비스 영역 뿐만 아니라 금융/보험/제조 영역으로 확대되고 있다. 국내의 경우에도 금융권의 클라우드 서비스 활성화를 위해서 2018년 7.13일 금융분야 클라우드 이용 확대방안을 제시한다. 이전에는 비중요정보만 클라우에 올리는게 가능 했으나 이 방안으로 개인신용정보와 고유식별정보를 클라우드에 저장 할 수 있게 됐다. 실질적인 클라우드 사용이 가능해진 것이다.

(망 분리 등 아직 해결해야할 이슈가 있지만)모든 산업영역에서 클라우드의 사용이 가능해진 것이다.

중요 정보들이 클라우드로 올라오면서 클라우드 보안은 더욱 중요한 이슈로 떠오르고 있다. 기존과는 다른 새로운 환경에서 새로운 보안 정책을 수립하고 이를 실행에 옮겨야 하기 때문이다.

공동 책임 모델(Shared Security Responsibility)

 IaaS, SaaS, PaaS

클라우드는 온-프레미스와 다르게 컴퓨팅 시스템의 많은 부분들을 CSP(클라우드 서비스 제공자)가 전적으로 운영/관리 한다. 사용자는 서비스 타입에 따라서 전체 중 일부분을 운영하게 된다. IaaS를 사용 할 경우 하드웨어와 네트워크는 CSP에 맡기고 운영체제부터를 사용자가 관리하게 된다. PaaS를 사용한다면 데이터와 애플리케이션만 관리하게 된다.

컴퓨팅 시스템의 일정부분을 위임하게 되는데, 위임하는 컴퓨팅 시스템 영역의 보안도 CSP에 맡기게 된다. 사용자와 CSP가 보안에 대한 책임을 공유하게 되는데 이를 공동 책임 모델이라고 한다. IaaS 서비스를 사용한다면 CSP는 물리적 시스템, 네트워크, 스토리지, 정보의 관리와 폐기, 출입통제 등을 책임진다. 사용자는 운영체제, VPC(가상 네트워크), 미들웨어, 애플리케이션 들에 대한 패치, 보안관제, 감사, 모니터링, 취약점 관리, 접근통제, 암호화 등에 대한 책임을 진다. 이때 CSP는 사용자가 사용자 관리 영역의 보안 목표를 달설 할 수 있도록 다양한 관리형 보안 툴과 보안 가이드, 레퍼런스 아키텍처, 서드파티 보안제품들에 대한 정보들을 제공한다. 이렇게 고객과 CSP가 서로 협력하면서 보안 목표를 달성한다. 아래 그림은 공동 책임 모델을 묘사하고 있다.

 공통 책임 모델

GCP는 "공유 보안 모델", Azure는 "보안 책임 공유 모델"을 제공하는데 AWS의 공동 책임 모델과 이름만 다를 뿐, 완전히 동일한 모델이다.

AWS의 경우 SOC 1, SOC 2, ISO 27001, PCI DSS, FedRAMP Certification, HIPAA 와 같은 다양한 제 3자가 작성하는 보안 심사 보고서, 보안 인증 프로그램을 수행하고 있다.
  • SOC(System and Organization Controls) 보고서 : AWS가 주요 규정 준수 제어 항목 및 목표를 어떻게 달성하고 있는지를 보여주는 독립적인 제 3자 심사 보고서다. 이 보고서는 보안, 가용성, 기밀성, 프라이버시, 무결성, 기밀성, 재무상테 등 광범위한 정보를 포함하고 있다.
  • ISO 27001 : ISO 27001은 국제적으로 인정되는 정보보안 경영시스템 표준이다. ISO 27001은 데이터 유출의 방지하고 데이터를 보호하기 위한 관리 방안과 절차를 수립하고 이를 따르고 있는지를 고객과 이해 관계자에게 증명하는 방법으로 사용 할 수 있다. 이 인증은 정보보안 관련 11개 영역 133개 항목에 대한 국제 심판원들의 엄격한 심사와 검증을 통과해야 한다. 한국에서는 KFQ와 ITS 인증원 같은 인증기관이 인증서비스를 제공하고 있다.
  • PCI DSS(Payment Card Industry Data Security Standard) : 지불 카드 산업 데이터 표준, 지불 카드 보안 표준, 결제카드산업정보보안표준, 지불 카드 업계 데이터 보안 표준은 신용카드를 관리하는 조직을 위한 정보보안 표준이다. 이 인증은 신용카드업계에서 만든 산업표준으로 VISA, Master, Amex, Discover, JCB 5개의 회사가 참여해서 만들었다.
  • FedRAMP : 연방정부 위험 및 인증 관리 프로그램은 클라우드 제품 및 서비스의 보안 평가, 인증 및 지속적인 모니터링에 대한 표준 접근 방식을 제공하는 미국 정부 차원의 프로그램이다.
  • HIPAA & HITECH : 미국의료정보 보호법은 사기와 도난으로부터 의료 정보를 보호하기 위한 목적으로 제정되었다.
  • K-ISMS : 한국 정보보호 관리쳬계는 한국 정부가 도입한 인증제도다. KISA(한국인터넷진흥원)과 한국 과학기술정보통신부(MSIT)에서 주관한다.
  • 기타 글로벌 규정 준수 프로그램(CSA, ISO 9001, ISO 27017, ISO 27018)과 주요 국가별 규정 준수 프로그램을 준수하고 있다.
자세한 내용은 AWS의 규정 준수 프로그램을 참고하자.

AWS의 전체 보안 서비스 개요

AWS에서 제공하는 보안 서비스들을 나열하고 주요한 보안 서비스과 이들 서비스를 이용한 구성을 자세히 살펴보자.

 AWS Security services

위 그림은 서비스 단위의 기능들이다. Security Group, IAM Role, 로깅(CloudWatch)과 같은 공통 세부 기능은 포함하고 있지 않다.
  • Authorization & Authentication : 인증/권한 부여 서비스다. 인증은 서비스는 사용자를 식별하기 위해서 사용한다. 권한 서비스는 사용자나 서비스가 수행 할 수 있는 작업 조건을 결정하기 위해서 사용한다.
  • Protected stores : 중요한 데이터를 암호화하고 접근을 통제하기 위해서 사용한다.
  • Visibility : 가시성이라고 한다. 대상이 시스템/네트워크 이든 보안이든 관리를 하기 위해서는 전체의 상황을 "한 눈에 확인"할 수 있어야 한다. 서비스의 사용량, 전개된 자원의 위치/용량, 자원에 적용된 보안 정책, 정책변경사항, 보안로그 등을 통합할 수 있어야 한다.

심층방어

디펜스 인 뎁스(Defence in Depth)는 보안에서 사용하는 심층방어전략을 일컫는 것으로, 여러 겹의 방어체계를 통해서 최적화되고 강력한 보안체계를 구축하는 것을 목표로 한다. 심층방어는 전체 컴퓨팅 시스템을 여러 단계로 나누고, 각 단계마다 최적화된 보안전략을 수립힌다. 이 용어는 NSA(National Security Agency)에서 군사 전략 수립의 목적으로 만들었다. 물론 컴퓨팅영역에서의 심층방어전략은 군사전략과는 많은 차이가 있다.

 심층방어

물리적인 영역(Data Center)에 대한 보안은 AWS에서 전적으로 책임진다. Network, Platform, Application, Data, Response 영역은 AWS와 고객이 서로 협력한다. 예를 들어 AWS는 가상화 레벨에서 안전한 네트워크(VPC)의 제공은 AWS에서 책임을 지지만 VPC의 안전한 운영은 고객이 책임진다. VPC에 전개되는 애플리케이션과 데이터베이스들에 적용할 보안 정책은 각 고객마다 모두 다르기 때문에 당연하다. VPC 운영이 고객 책임이라고 해서 AWS가 손을 놓는건 아니다. AWS는 고객이 올바른 보안 정책을 수립하고 구축 할 수 있도록 가이드라인, 기술지원, 소프트웨어 제공, 협력사 소개, 기술발굴 등으로 고객을 돕는다.

컴퓨팅에서 심층방어전략을 위해서 아래의 다양한 소프트웨어들이 사용된다. AWS는 아래의 다양한 소프트웨어들을 제공한다.
  • Antivirus software
  • Proxy server
  • Authentication, Password Security
  • Biometrics
  • DMZ(Demilitarized zones)
  • Data-centric security
  • Encryption
  • Firewalls (하드웨어/소프트웨어)
  • Hashing passwords
  • IDS(Intrusion detection systems)
  • Logging and auditing
  • Multi-factor authentication
  • Vulnerability scanners
  • Physical security
  • Timed access control
  • Internet Security Awareness Training
  • VPN(Virtual Private Network)
  • Sandboxing
  • IPS(Intrusin Protection System)
AWS의 보안기능을 심층방어전략 측면에서 묘사해봤다.

 AWS 보안기능과 심층방어전략

실제 환경에서는 AWS의 보안기능과 서드파티의(AWS 마켓플레이스와 파트너 서비스)솔류션들을 함께 활용해서 심층방어 시스템을 구축한다. 예를 들어 Antivirus software, IPS, APT, Vulnerability scanners, Sandboxing 등은 거의 전적으로 서드파티 제품을 사용 할 것이며, VPN, Firewall, Proxy server, IDS, Logging and auditing 는 AWS 서비스와 혼합해서 사용 한다.

네트워크 구성

사용자는 VPC(Virtual Private Cloud)를 이용해서 퍼블릭 네트워크(Internet)로 부터 격리된(isolation) 사설 네트워크를 만들 수 있다. 사용자의 컴퓨팅 자원과 주요 데이터들은 이 네트워크에 배치되므로 클라우드 보안의 최전선에 놓이게 된다.

사용자가 (AWS 웹 콘솔 혹은 API를 이용해서)VPC를 만들면, 커다른 네트워크 대역을 할당한다. 사용자는 이 네트워크를 사용 목적에 맞게 subnet 해서 사용한다. 사용자는 각 subnet에 라우팅 정책과 방화벽 정책을 수립하는 것으로 기본적인 네트워크 보안 환경을 만들 수 있다.

AWS가 사용자에게 제공하는 핵심 툴은 아래와 같다.

  1. 인터넷 게이트웨이 : VPC는 사설 네트워크다. 인터넷 게이트웨어(Internet Gateway)를 이용해서 인터넷에 연결 할 수 있다.
  2. Subnet 관리 : 관리자는 할당 받은 VPC 네트워크를 여러 subnet으로 나눠서 사용 할 수 있다.
  3. 라우팅 테이블 : VPC에서 제공하는 라우팅 테이블을 이용해서 Subnet간 트래픽을 라우팅 할 수 있다. 라우팅 테이블과 인터넷게이트웨이(Internet Gateway)를 이용해서 Private subnet과 Public subnet을 구성 할 수 있다.
  4. NACL : 서브넷 단위에서 네트워크 ACL을 설정 할 수 있다. 예를 들어 데이터베이스 서브넷의 경우 오로지 애플리케이션 서브넷에서 특정포트로의 트래픽만 허용하도록 설정 할 수 있다.
  5. Security Group : SG는 호스트 단위에서 IP/Port 기반으로 트래픽을 필터링 할 수 있다. 호스트레벨 방화벽이라고 생각할 수 있겠다.

관제

  • 방화벽
  • IPS
  • UTM
  • APT
  • WAF
  • DDoS

암호화

  • 전송구간 암호화
  • KMS를 이용한 키 관리 : 암/복화에 사용하는 키를 안전하게 생성/보관/관리 해주는 중앙집중형 관리형 서비스.
  • 볼륨 암호화
  • 데이터베이스 암호화(TDE)

접근 통제

  • 사용자 접근 제어 : IAM
  • IAM 전략
  • AWS Organization
  • 서버 접근 제어 : Bastion & Agent & Proxy
  • 데이터베이스 접근제어

감사

  • CloudTrail
  • AWS Config

3rd-party 보안 솔류션

정리

  • AWS Cloud 보안 설계 전체 구성도

참고