쉽게 적용하는 AWS 보안 레시피 [AWS 보안 정책, 모니터링, 감사, 규정 준수를 위한 실용서]
- 원서명AWS Security Cookbook: Practical solutions for managing security policies, monitoring, auditing, and compliance with AWS (ISBN 9781838826253)
- 지은이하르틴 카니카토투(Heartin Kanikathottu)
- 옮긴이권연주, 진상열, 배영부, 유제광
- ISBN : 9791161755281
- 40,000원
- 2021년 05월 27일 펴냄
- 페이퍼백 | 488쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 해킹과 보안
책 소개
소스 파일은 아래 깃허브 페이지에서 다운로드하실 수 있습니다.
(https://github.com/AcornPublishing/aws-security-cookbook)
요약
보안 담당자들이 인프라를 보호할 때 직면할 수 있는 일반적인 어려움에 대한 실용적인 솔루션을 설명한다. CIA 3 요소(기밀성, 무결성, 가용성), AAA 3 요소(인증, 권한 부여, 가용성), 부인 방지 등의 보안 모델 실현에 도움을 줄 수 있는 AWS의 서비스와 기능을 설명한다.
많은 사람에게 친숙한 IAM과 S3의 정책을 먼저 소개하고, 그 후에 데이터 보안, 애플리케이션 보안, 모니터링, 컴플라이언스를 자세히 설명한다. Config, GuardDuty, Macie, Glacier Vault Lock, Inspector, Security Hub 등의 AWS 보안 서비스도 전반적으로 다룬다. 마지막으로 장마다 중요한 보안 영역을 다루고 클라우드 보안 모범 사례와 추가 보안 서비스를 소개한다.
이 책에서 다루는 내용
■ 사용자, 그룹, 역할의 생성과 관리
■ 계정과 관련된 정책
■ 로그 기록, 모니터링, 감사를 위한 AWS 관리 서비스 사용
■ 머신러닝을 사용하는 AWS 관리 서비스를 이용한 컴플라이언스 점검
■ EC2 인스턴스와 애플리케이션을 위한 보안과 가용성 제공
■ 동기, 비동기 암호화를 사용한 데이터 보호
■ 각종 서비스와 결합된 로그인을 통한 인증 풀과 사용자 풀 관리
이 책의 대상 독자
AWS 환경에서 안전하게 애플리케이션을 배포하려는 IT 보안 전문가, 클라우드 보안 아키텍트, 보안과 관련된 클라우드 애플리케이션 개발자에게 유용하다. 또한 AWS 공인 보안 전문가 자격을 취득하는 데 관심이 있거나 AWS와 클라우드 환경에 대한 지식을 쌓고자 하는 독자에게도 도움을 줄 수 있다.
이 책의 구성
1장, ‘IAM과 Organizations를 활용한 AWS 계정 관리’에서는 IAM(Identity and Access Management) 서비스의 사용자(users), 그룹(groups), 역할(roles), 권한 정책(permission policy)을 소개한다. 또한 AWS Organizations 서비스를 이용해 다중 계정(multiple account)을 만들고 관리하는 방법도 다룬다.
2장, ‘S3 정책과 기능으로 데이터 보호’에서는 S3(Simple Storage Service)의 데이터를 액세스 컨트롤 리스트(ACL, Access Control List), 버킷 정책, 미리 선언된(pre-signed) URLs, 암호화, 버저닝(versioning), 서로 다른 리전 간 복제를 통해 S3를 보호하는 방법을 소개한다.
3장, ‘Cognito의 사용자 풀과 자격증명 풀 관리’에서는 Cognito와 애플리케이션 보안, 사용자 풀(pool), 사용자 가입, 인증/인가 플로(flows), 페더레이션(federation)을 이용한 자격증명 로그인의 개념을 소개한다.
4장, ‘KMS와 CloudHSM으로 키 관리’에서는 HSM(Hardware Security Module)을 공유해 AWS KMS(Key Management Service)로 암호화 키를 관리하고, 클라우드 전용 Cloud HSM을 이용해서 보안을 강화하는 방법을 소개한다.
5장, ‘VPC의 네트워크 보안’에서는 VPC(Virtual Private Clouds)로 AWS 환경을 보호하기 위한 방법을 소개한다. 공개 서브넷(Public Subnet), 사설 서브넷(Private Subnet), 라우팅 테이블(routing table)과 네트워크 게이트웨이(network gateway) 구성, 보안 그룹(Security Group), 네트워크 접근 제어 목록(NACL, Network Access Control Lists) 등을 사용해 송수신되는 네트워크 트래픽을 보호하는 방법을 소개한다.
6장, ‘EC2 인스턴스 시작’에서는 EC2(Elastic Compute Cloud) 인스턴스를 안전하게 보호하려고 사용자 지정 VPC에서 인스턴스 시작, 보안 그룹(Security Group) 사용, 시스템 매니저 매개 변수 저장소(System Manager Parameter Store) 사용, 사용자 정보로 EC2 인스턴스를 부트스트래핑(bootstrapping)하는 방법을 소개한다. 또한 EBS(Elastic Block Store)에서 데이터를 암호화하는 방법을 소개한다.
7장, ‘ELB와 CloudFront, WAF를 이용한 웹 보안’에서는 웹 보안 환경을 구성하고 안전한 웹 트래픽, 가용성 증대를 위해 서로 다른 타입의 로드 밸러서(Load Balancer)와 CloudFront를 이용해 인스턴스 레벨의 TLS 터미네이션(termination)을 구현하는 방법을 소개한다. 또한 AWS 환경에서 어떻게 WAF(Web Application Firewall)를 사용할 수 있는지 소개한다.
8장, ‘CloudWatch, CloudTrail, Config로 모니터링’에서는 문제 해결, 규정 준수, 책임 추적성 등에 도움이 되고 지속적인 모니터링, 경고, 정기적인 감사를 수행하는 내용을 소개한다. CloudWatch, CloudTrail, Config, SNSSimple Notification Service 등의 서비스를 소개한다.
9장, ‘GuardDuty, Macie, Inspector로 규제 준수’에서는 컴플라이언스 관련 규정을 준수하지 않을 경우 어떻게 알림을 받을 수 있는지 소개한다.
GuardDuty, Macie, Inspector 등의 서비스가 사용하는 머신러닝(machine learning)과 알고리즘(algorithms)이 어떻게 컴플라이언스 확인을 도와주는지 소개한다.
10장, ‘AWS 보안의 추가적인 서비스와 가이드’에서는 Security Hub, SSO(Single Sign-On), Resource Access Manager, Secret Manager, Trusted Advisor, Artifact, S3, Glacier 등 AWS 인프라를 보호할 때 사용할 수 있는 추가 서비스와 기능을 알아본다. AWS Marketplace에서 추가 보안 제품을 사용하는 방법을 소개한다.
목차
목차
- 1장. IAM과 Organizations를 활용한 AWS 계정 관리
- 기술 요구 사항
- 새로운 계정을 위한 IAM 설정
- 작동 방법
- 요금 경보 생성
- IAM 정책 만들기
- IAM 시각적 편집기를 사용해 정책 만들기
- AWS CLI로 정책 만들기
- AWS Organizations 사용을 위한 마스터 계정 만들기
- AWS Organization에 하위 계정 만들기
- CLI로 계정과 OU 생성
- 콘솔에서 계정 생성과 이동
- AWS Organizations로 역할 전환
- 관리자로 전환
- 일반 사용자에게 역할 전환할 수 있는 권한 부여
- CLI를 사용해 일반 사용자에게 역할 전환할 수 있는 권한 부여
- 서로 다른 두 계정 사이에서 역할 전환
- 2장. S3 정책과 기능으로 데이터 보호
- 기술 요구 사항
- S3 접근 제어 목록(ACL) 생성
- 콘솔에서 모든 사용자에게 버킷 읽기 ACL 적용
- CLI에서 사전 정의된 사용자에게 읽기 원한 부여
- CLI에서 기본 ACL이 지정된 객체에 대해 공용 읽기 권한 적용
- ACL, 버킷 정책, IAM 정책 비교
- S3 버킷 정책 만들기
- 콘솔에서 버킷 정책을 적용해 퍼블릭 접근
- CLI로 버킷 정책을 설정해 버킷 리스트에 접근
- CLI로 교차 계정에서 S3에 접근
- 다른 계정의 버킷에 파일 업로드
- 버킷 정책을 이용해 다른 계정의 버킷에 파일 업로드
- CLI와 파이썬을 사용해 만료 기간이 있는 S3 사전 서명된 URL 사용
- CLI로 사전 서명된 URL 생성
- 파이썬 SDK로 사전 서명된 URL 생성
- S3 데이터 암호화
- S3 관리 키(SSE-S3)로 서버 측 암호화
- KMS 관리 키(SSE-KMS)로 서버 측 암호화
- 고객 관리 키(SSE-C)로 서버 측 암호화
- 버전 관리로 데이터 보호
- 같은 계정에서 S3 교차 리전 복제
- 다른 계정에서 S3 교차 리전 복제
- 3장. Cognito의 사용자 풀과 자격증명 풀 관리
- 기술 요구 사항
- 아마존 Cognito 사용자 풀 생성
- 아마존 Cognito 클라이언트 앱 생성
- 트리거 워크플로 사용자 정의
- 사용자 생성과 가입
- 관리자 권한을 가진 사용자 생성
- 자체 로그인 시 관리자 확인으로 사용자 생성
- 사용자 가입 시 자체 확인으로 사용자 생성
- 관리자 인증 방식
- 클라이언트 인증 방식
- Cognito 그룹 작업
- Cognito 자격증명 풀
- 아마존 개발자 포털 구성
- Cognito 구성
- 4장. KMS와 CloudHSM으로 키 관리
- 기술 요구 사항
- KMS에 키 생성
- 외부 키 구성 요소로 키 사용
- 외부 키 구성 요소로 키 생성
- OpenSSL로 키 구성 요소 생성
- 콘솔에서 키 생성
- KMS 키 교체
- 프로그래밍 방식으로 권한 부여
- 키 정책과 조건 사용
- 교차 계정에 고객 관리 키 공유
- 키를 생성하고 다른 계정에 권한 부여
- 두 번째 계정에서 관리자가 키 사용
- 두 번째 계정에서 일반 사용자가 키 사용
- CloudHSM 클러스터 생성
- CloudHSM 클러스터 초기화와 활성화
- 클러스터 초기화와 첫 번째 HSM생성
- EC2 클라이언트 인스턴스 생성과 클러스터 활성화
- 5장. VPC의 네트워크 보안
- 기술 요구 사항
- AWS에서 VPC 만들기
- VPC의 서브넷 만들기
- 인터넷 접속용 인터넷 게이트웨이와 라우팅 테이블의 설정
- NAT 게이트웨이 설정과 구성
- NACL 사용
- VPC 게이트웨이 엔드포인트를 사용해 S3에 연결
- VPC 흐름 로그 구성과 사용
- 6장. EC2 인스턴스 시작
- 기술 요구 사항
- 보안 그룹 생성과 구성
- VPC에서 EC2 인스턴스 시작
- EC2 인스턴스와 SSH 시작을 위한 일반 단계
- 공인 서브넷으로 인스턴스 시작
- 사설 서브넷으로 인스턴스 시작
- NAT 인스턴스 설정과 구성
- NAT 인스턴스에 경로(라우팅) 추가
- EC2 인스턴스에 IAM 역할 생성과 연결
- EC2에서 사설키와 공용키의 사용
- 키의 생성
- EC2에 키 업로드
- 사용자 데이터를 사용해 웹 서버 인스턴스의 시작
- Systems Manager Parameter Store를 사용해 중요한 데이터 저장
- AWS Systems Manager Parameter Store에 매개변수 생성
- AWS Systems Manager에 역할 생성과 연결
- AWS Systems Manager Parameter Store에서 매개변수 검색
- KMS를 이용한 EBS의 데이터 암호화
- 7장. ELB와 CloudFront, WAF를 이용한 웹 보안
- 기술 요구 사항
- EC2 인스턴스에 HTTPS 활성화
- ACM으로 SSL/TLS 인증서 생성
- 클래식 로드밸런서의 생성
- ELB 대상 그룹 생성
- ELB에서 TLS 종료와 함께 애플리케이션 로드밸런서 사용
- ELB에서 TLS 종료와 함께 네트워크 로드밸런서 사용
- CloudFront와 TLS를 이용한 S3 보호
- CloudFront 기본 도메인을 사용한 CloudFront 배포
- 사용자 지정 도메인과 ACM 인증서를 사용한 CloudFront 배포
- 웹 애플리케이션 방화벽(WAF)의 설정과 사용
- 8장. CloudWatch, CloudTrail, Config로 모니터링
- 기술 요구 사항
- 이메일을 보낼 수 있는 SNS 주제 생성
- CloudWatch 경보와 지표로 작업
- CloudWatch에서 대시보드 생성
- CloudWatch 로그 그룹 생성
- CloudWatch 이벤트로 작업
- CloudTrail에서 로그 읽기와 필터링
- CloudTrail에서 추적 생성
- 아테나를 이용해 S3의 CloudTrail 쿼리
- 교차 계정 CloudTrail 로그 기록
- CloudWatch와 CloudTrail 연동
- AWS Config 설정과 사용
- 9장. GuardDuty, Macie, Inspector로 규제 준수
- 기술 요구 사항
- 아마존 GuardDuty 설정과 사용
- 여러 계정의 GuardDuty 결과 집계
- 아마존 Macie 설정과 사용
- 아마존 Inspector 설정과 사용
- 사용자 지정 관리자 템플릿 생성
- 10장. AWS 보안의 추가적인 서비스와 가이드
- 기술 요구 사항
- AWS 시큐리티 허브의 설정과 사용
- AWS SSO 설정과 사용
- AWS 리소스 액세스 매니저에 대해 설정과 사용
- S3 글레이셔 볼트의 볼트 잠금 기능 사용
- AWS 시크릿 매니저를 이용해 RDS의 비밀번호 관리
- EC2 사용자 데이터 대신 AMI 생성
- AWS 마켓플레이스에서 보안 제품 이용
- AWS Trusted Advisor를 이용해 권고 사항 확인
- 규제 준수 리포트를 위해 AWS 아티팩트 사용
도서 오류 신고
정오표
정오표
[p.42 : 1행]
testuser
->
testusergroup