SK shieldus Rookies 9기/클라우드 보안

클라우드 보안 수업 7일차 (22/10/06)

ksh_5 2022. 10. 7. 04:55
  • 인증

 

- 다단계 : 1차 인증 후 2차 인증을 하는 방식 (종류 관계없음)   ex) i-pin

- 다요소 : 서로 다른 종류의 인증을 하는 방식   ex) 계좌이체 : 공인인증서+비밀번호+OTP

 

 

  • AWS에 회원 가입을 하면 계정 생성 (Root 계정)   (p.100)

 

- Root 계정으로 사용자 생성 → IAM계정(User, 사용자)

- Role(역할)은 서비스나 프로그램에 부여

- Policy(정책)을 Role or User에게 부여

 

 

  • CloudWatch

 

- 리소스를 Monitoring하면서 상태 Graph로 표시

- 서비스 지표, 로그 등을 수집, 기록

- 임계값을 넘으면 특정 동작이 일어나도록 설정   ex) 10만원이 넘으면 Mail로 보내라

- CPU 사용률, 볼륨의 읽기 쓰기 횟수나 바이트 수, 네트워크 송수신 패킷 수 등 감시

 

 

  • AWS CloudTrail

 

- 감사 서비스를 활성화하면 '누가' 어떤 리소스에 접근했는지 기록으로 남기기 가능

 

 

  • 감사(Audit)

 

- 위험(Risk)을 줄이기 위해 통제(Control) 사용해야 함

- 통제(Control)의 적절성을 평가하는 것이 감사(Audit)

- 기록을 추적(증적:Trail) → 감사할 때 증거를 추적하는 것 : Audit Trail

- 클라우드에서 발생하는 모든 행위 기록하고 추적하는 서비스 → CloudTrail 서비스 제공

 

 

  • AMI (Amazon Machine Image)

 

아마존 클라우드에서 사용하기 위해서 만든 가상머신 이미지

 

Q. 저스펙 type을 사용하다가 고스펙 type으로 바꾸는 것은?

더보기

A. Scale up ↔ Scale down

 

  • HDD와 SSD의 차이점 (속도가 차이 나는 이유는?)

 

- HDD는 기계식 : 모터+원판+헤드 → 속도 느림

- SSD는 전자식 : 반도체 장착 → 속도 빠름

 

 

  • EBS (p.133)

 

- 가상머신의 Disk (선택 : HDD or SSD)

- 부트 섹터, 운영체제, 데이터 저장 가능 (가격 문제)

- 가상머신에 부착해서 사용하다가 따로 분리해서 별도로 보관 가능

 

 

  • Key Pair 사용방법

 

⑴ 윈도우에서 사용 : 상속 제거하고 Windows 사용자만 읽기 권한을 부여

⑵ 리눅스에서 사용 : chmod 400

⑶ Putty에서 사용 : ppk로 변환 후 SSH > Auth에서 ppk파일 첨부해 로그인 

⑷ 윈도우 서버에 RDP로 로그인 : 암호로 변경해 RDP의 패스워드에 입력

 

 

  • EIP (탄력적 IP)

 

- IPv4 주소는 부족 (한정된 자원)

- EIP를 확보해놓고 사용하지 않을 시 비용 청구 (페널티 비용)

  → Release해서 다른 사용자가 사용할 수 있도록 해야 함

- 사용자당 5개까지 사용 가능 (추가 요청 시 심사 후 제공)

- NLB 등에 할당하는 경우에는 비용 별도 청구X

- IPv4 주소 부족하기 때문에 URL방식 사용 권장  ex) ALB의 URL 경로

 

 

  • Snapshot

 

- 시스템의 상태를 이미지로 만들어서 저장

- AMI 이미지로 저장해서 사용 가능

  ex) 오토스케일링에서 사용

 

 

  • Auto Scaling

 

- 일정 개수 유지하는 방식

- Target Tracking : CPU의 사용률을 지속적으로 일정 수준으로 맞춤 → EC2가 자동 증가 or 감소

 

 

  • ELB (ALB, NLB)

 

- 프로토콜과 포트가  Listener(들어오는 곳)에 설정

- Target Group (분배대상) : EC2를 직접 등록 or 그룹으로 설정

   → 그룹으로 설정할 때 Auto Scaling 그룹을 설정할 수 있음

 

 

  • CloudFront (p.196)

 

- 콘텐츠를 배포하는 서비스, 대용량 Cache 서비스

- 고객이 전 세계에 많이 있고, 콘텐츠를 많이 가지고 있는 사업자가 주로 이용   ex) 넷플릭스

 

  • Netflix

- 드라마, 영화, 애니메이션 등 S3 Bucket에 저장

- 전 세계의 수많은 고객들이 같은 영화 상영 → Cache (임시 보관) 서비스 필요 → CloudFront

- 원래는 자체 데이터센터를 보유하였으나, 10년에 걸쳐서 순차적으로 AWS로 Migration 함 (현재는 데이터센터 없음)

 

 

  • CloudFront 구조

CloudFront 구조

 

Origin Server(EC2, Bucket ) : 실제 데이터가 저장된 장소

Regional Edge Caches : 전 세계 13개 → Edge Locations : 전세계 218개 이상 → 사용자

 

 

  • 인터넷 게이트웨이(IGW) (p.220)

 

- 양방향 통신 가능

  → 인터넷에서 AWS VPC에 들어올 수 있고:Inbound, AWS VPC에서 인터넷으로 나갈 수도 있음:Outbound)

 

 

  • NAT 게이트웨이 (p.221)

 

- Inbound (인터넷 → AWS VPC)는 안되고, Outbound(AWS VPC → 인터넷)는 가능  // 공유기와 비슷

- 외부에서 접근할 필요 없는 Database Server가 업데이트를 해야 하는 경우 적합

 

 

  • 보안 그룹과 NACL (네트워크 ACL) (p.223)

 

항목 보안 그룹 네트워크 ACL
설정 범위 인스턴스에 대한 설정(보안 그룹 최대 5개 할당) 서브넷에 설정
규칙 허용만 가능 허용과 거부 가능
설정 규칙과 상관없이 반환된 트래픽 자동 허용(스테이트풀) 반환된 트래픽 규칙따라 명시적 허용(스테이트리스)
규칙 적용 순서 모든 규칙 확인해 트래픽의 허가 여부 결정 순서대로 규칙 처리하며 트래픽의 허가 여부 결정

 

 

  • VPC Endpoint

 

- AWS 내에서 VPC와 VPC 밖에 있는 S3, DynamoDB 연결 시 사용

 

 

  • ENI (Elastic Network Interface)

 

AWS에서 제공하는 가상의 랜카드(NIC : Network Interface Card) → MAC 주소 들어있고, IP 할당 가능

 

 

  • VPC 엔드포인트

 

- 인터페이스 엔드포인트 : ENI를 연결하는 방식 (개별적인 연결)

- 게이트웨이 엔드포인트 : 네트워크를 연결하는 방식 → 라우팅 테이블에 등록

 

 

  • VPC (p.231)

 

- 한 사용자가 VPC를 여러 개 생성 가능, 다른 사용자 VPC도 있음

- VPC와 VPC를 연결하려면? VPC Peering   ( Peer : 동료 ex.P2P Network)

- VPC Peering은 VPC와 VPC를 1대 1로 연결하는 방식

  → 복잡한 연결에 부적합

- Transit Gateway 사용하면 복잡한 연결 한방에 해결

 

※ Transit Gateway

 

 

  • AWS DirectConnect

 

- AWS VPC와 기업의 네트워크를 연결하는 전용선 (암호화 지원)

- 안정적이고 빠르며 약간 비쌈

 

 

  • AWS VPN

 

- 저렴하지만 인터넷을 거쳐 연결되다 보니 네트워크 품질과 속도 보장 못함

 

 

  • Aurora (p.250)

 

- MySQL, PostgreSQL과 호환 가능

- AWS에 최적화해 속도가 빠름

 

 

  • AWS에서 DB 사용 방법

 

- Aurora : AWS에서 자동 복제, 최적화 등 (가장 추천)

- RDS에서 사용자가 설정

- EC2에 MySQL, Oracle 설정 (비추) → 관리 문제 (고객이 직접 관리)

 

 

  • 키 밸류 데이터베이스 (p.257)

 

- Key Value Store (KVS) : NoSQL 방식

- 장점: 형식에 구애받지 않고 데이터 입력 가능, 데이터에 대한 Access가 빠름

- 빅데이터와 IoT 같은 대용량 데이터 빠르게 처리

 

 

  • ElastiCache

 

- 인 메모리 데이터베이스 (빈번하게 읽고 쓰는 데이터는 일시적으로 메모리에 보관하는 방식)

   → 속도가 많이 빠름

- Redis, Memcached와 호환 가능

 

 

  • Lambda (p.270)

 

- 람다 함수라고 부름 (Lambda Function)

- 간단한 프로그래밍(5분 이내)으로 단순 반복 작업 여러 번 수행하는 경우 적합

- 어떤 특정 행위를 Trigger(방아쇠)로 등록해놓으면, 특정 행위가 발생될 때 Lambda함수 동작

   (이미지 업로드 시 람다함수 동작하며 크기 줄여 저장)

 

 

  • Lambda 사용 사례

 

- 쇼핑몰 담당자가 원본 사진을 업로드하면, 람다가 썸네일을 만들어서 S3 등에 저장

- 일반 게시판 사용자들이 사진을 업로드하면, 사진의 크기를 일정 크기로 줄여서 S3에 저장

- 비밀번호 잊어버린 사람들이 휴대폰 본인 인증을 하려는 경우, 본인 확인 프로세스