AWS

AWS Shield(Standar / Advanced), WAF, Network Friewall, KMS, cloudHSM

박현국 2024. 10. 1. 21:10
DDOS Attack

: 인프라 상의 분산서비스 거부 공격(Distributed Denial-of-Service) 으로 예를 들면 해커가 애플리케이션 서버에 디도스 공격을 할 때, 여러 마스터 서버를 실행하고 이러한 서버는 많은 봇을 실행한다. 그리고 이 모든 봇은 애플리케이션 서버에 요청을 전송한다. 그러면 서버는 많은 요청을 처리할 수 없으므로 과부하 되어 작동하지 않고 서비스를 거부하게 된다

---> 그래서 애플리케이션 서버에 연결을 시도하는 일반 사용자는 서버에 액세스 할 수 없고, 서버가 응답하지 않아 애플리케이션이 다운되게 된다.

  • AWS 에서 DDOS 를 보호하는 법.
    1. AWS Shield Standard : 추가 비용 없이 모든 사용자에게 활성화 되어 있으며 웹사이트와 애플리케이션을 디도스로부터 보호한다.  
    2. AWS Shield Advanced : 고급 디도스 보호로 매일 24시간 동안 보호해줌
    3. AWS WAF : 규칙에 따라 특정 요청을 필터링하는 웹 애플리케이션 방화벽 
    4. CloudFront 와 Route53 : 글로벌 엣지 네트워크로 보호한다 >> Shield 와 결합하면 엣지 로케이션에서 공격을 완화해준다.
    5. 디도스 공격을 받았다면, AWS 의 Auto Scaling 으로 스케일링할 준비를 해야한다.

 

DDoS 보호에 관한 샘플 아키텍쳐

Ex.) Shield 로 보호되는 Route53의 DNS 를 통해 라우팅 되는 사용자가 있다.

1. CloudFront 분산으로 콘텐츠가 엣지에서 캐시 되는지 확인해야 한다. (이 또한 Shiled로 보호된다.) >> 필터링 해야 하거나 공격으로부터 보호하려면, 웹 애플리케이션 방화벽을 사용하고, 서버 애플리케이션에서 스케일링할 공용 서브넷의 로드 밸런서를 사용한다.

2. 로드 밸런서 이면에서 더 높은 수요로 확장하기 위해 ASG 에서 EC2 인스턴스를 사용한다.

DDoS 보호 예시

 

Shield (Standard / Advanced)

 

Standard 

  • 모든 AWS 고객에게 활성화 되어 있으며 DDoS에 관한 일반적인 공격으로부터 보호해준다.
  • 여기에는 SYN, UDP Flood와 반사 공격이 있고 계층 3 / 계층 4 (TCP)공격 등이 있다.

Advanced

  • 조직당 매월 3,000 달러의 비용이 발생한다.
  • EC2, ELB, CloudFront, GLlobal Accelerator, Route 53 에서의 더 정교한 공격으로부터 보호한다.
  • 필요한 경우 이런 DDos 공격 중에 보호에 도움 되는 대응 팀에 액세스 할 수 있다.
  • 이러한 공격으로 비용이 발생하는 경우가 있는데, 공격 중 발생한 비용은 AWS 에서 지불한다.

즉, Shield 는 무료 서비스로 모든 고객에게 기본적으로 활성화 되어 있으며,

대응 팀이 필요하거나, 더 높은 수준의 보호가 필요하면 매달 3,000 달러를 지불하여 Advanced 를 활성화할 수 있다.

 

WAF
  • WAF 는 애플리케이션 방화벽으로 계층 7의 웹 취약점 공격으로부터 웹 애플리케이션을 보호한다. 계층 7은 HTTP 이며, 계층 7 이기 때문에 HTTP 친화적 장치에만 배포된다.
  • 따라서 ALB, API Gateway, CloudFront 에 배포된다.
  • 웹 애플리케이션 방화벽에서는 Web Access Control List 인 Web ACL 을 정의할 수 있다.
    ** ACL 에 관한 규칙에는 필터링이 포함되며 IP주소와 HTTP의 헤더 그리고 본문과 일부 문자열이 포함되며 SQL 명령어 삽입과 크로스 사이트 스크립팅과 같은 일반 공격으로부터 보호할 수 있다.
    ** 요청이 너무 크지 않은지 확인하기 위해 크기에 제한을 둘 수 있고, geo-match 로 특정 국가를 차단할 수 있다.
    ** 디도스 보호를 위해 속도 기반의 규칙을 사용해 이벤트 발생 횟수를 계산한다.

 

전반적으로 디도스의 보호는 WAF, Shiled, CloudFront, Route53의 결합이다.

 

Network Friewall
  • VPC를 전반적으로 보호하는 방법
  • 네트워크 방화벽이 전체 VPC 를 한번에 보호한다. 계층 3 ~ 7 까지 모든 방향에서
  • 따라서 모든 트래픽을 검사할 수 있다.
    1. VPC 안팎으로의 트래픽
    2. 아웃바운드에서 인터넷
    3. 인바운드에서 인터넷
    4. Direct Connect & 안팎으로의 트래픽
    5. 사이트간의 VPN 트래픽

VPC Firewall

AWS Firewall Manager

VPC 보안 그룹

: AWS 조직에 있는 모든 사용자의 보안 규칙을 하나의 Central Place(중앙 위치) 에서 관리할 수 있다.

>> 여러 개의 사용자가 있는 조직 내에서 VPC 보안 그룹들을 관리한다면 Firewall Manager 가 한다.
Firewall Manager 는 VPC 보안 그룹뿐만 아니라, WAF 규칙, Sheild Advanced 규칙, Network Friewall 외 등등의 서비스도 관리할 수 있다.

 

KMS (Key Management Service)
  • AWS 의 암호화 서비스
  • KMS 를 이용하면 직접 암호화 키에 접근하지 못하고, 키는 AWS 에서 관리해준다. 
    >> 사용자는 Access Key 에 대한 접근 권한을 누구에게 줄지만 정의하면 된다.
  • 암호화 여부를 선택할 수 있는 서비스 :
    1. EBS 볼륨 암호화
    2. S3 버킷에서의 객체를 서버 측에서 암호화
    3. Redshift DB 나 RDS 에서의 DB 암호화 
    >> 나머지 서비스들은 무조건 암호화 하도록 이루어져있음 (CloudTrail Logs, S3 Glacier, Storage Gateway)
  • 키 종류 
    1. Customer Managed Key(고객 관리 키) : 사용자 측에서 생성, 관리, 사용하는 키이다. >> 개별적으로 활성화 및 비활성화가 가능하며 키에 대한 회전 방침을 정의하는 것도 가능하다. ex) 1년마다 키를 새로 생성하도록 하는 것.(기존 키도 보존 된다.)
    2. AWS Managed Key(AWS 관리 키) : 생성 관리를 사용자가 아닌 AWS가 한다.
    3. AWS Owned Key(AWS 소유 키) : 서비스에서 소유 및 관리하며 여러 개의 사용자에 사용한다. >> 이 키들을 사용자의 특정 리소스를 보호하는데 사용하며, 고객이 키를 직접 열람할 권한은 없다.
    4. Custom keystore(사용자 정의 Keystore) 키가 생성되는 곳이 고객의 개인 CloudHSM 하드웨어 기기이다. 암호화 과정은 모두 ClousHSM 클러스터 내부에서 진행된다.

 

CloudHSM
  • KMS 는 AWS 가 암호화를 하는 소프트웨어를 관리하지만 CloudHSM 에서는 AWS 는 암호화에 이용되는 하드웨어만 제공하는 대신 암호화 키를 직접 관리할 수 있다.
  • 전용으로 제공받는 하드웨어는 HSM(Hardware Security Module) 이다.
  • 누군가 함부로 암호화 키에 대한 정보에 변경을 가하면 정지해버린다.