AWS

AWS 보안관련 서비스

index.ys 2023. 10. 3. 15:36

AWS IAM

  • IAM Identity and Access Management의 약자, AWS를 사용하는 계정의 권한을 관리하는 서비스
  • 어떤 사용자가 어떤서비스의 어떤 기능을 사용할 수 있는지에 대한 권한을 설정할 수 있음
  • AWS의 서비스 조작 제어는 모드 IAM으로 관리함

IAM 사용자

  • 사용자가 AWS를 조작하기 위해서 사용하는것
  • IAM 사용자에게 할당된 권한을 사용할 수있음
  • 액세스 키를 발급받아 CLI에서 계정이 부여된 권한을 사용할 수 있음

IAM 그룹

  • IAM 그룹을 만들어 그룹에 서비스 권한을 설정하고 해당 그룹에 IAM 사용자를 추가하면 그룹에 부여된 서비스 권한을 사용할 수 있음
  • 여러 사용자가 동일한 권한을 갖도록 관리해야 유용하게 사용할 수 있음

IAM 정책

  • 어떤 서비스의 기능에 어떤 조작을 할 수 있는지 같은 권한을 설정함
  • AWS에서 제공하는 관리형 정책을 사용하여 AWS에서 제공하는 IAM 정책 템플릿이다
  • 서비스나 기능이 추가될떄 자동으로 관련된 권한이 추가됨
  • 고객 관리형 정책을 사용하면 사용자 정의의 IAM 정책을 사용할 수 있다

IAM 역할

  • IAM 사용자를 생성할 떄 액세스키를 발급 받을 수 있음
  • 액세스 키는 CLI로 AWS 자원을 조작할때 사용하는 인증정보
  • 특정 서비스를 사용할 수 있는 사용자를 지정하는 것

AWS CloudTrail

  • CloudTrail은 AWS 계정을 만들 떄 부터 자동으로 모든 작업을 기록하는 서비스
  • 관리 콘솔이나 프로그램에서의 작업, AWS 서비스에서 수행한 모든 작업을 기록함
  • 로그는 90일동안 저장 되지만 S3에 로그를 영구적으로 저장할 수 있음
  • CloudTrail은 AWS의 감시카메라 역할

기록 내용

  • 관리 이벤트 : 관리 콘솔에 로그인, EC2 인스턴스나 S3, AWS자원의 생성, 수정, 삭제같은 조작
  • 데이터 이벤트 : S3버킷 관련 작업(파일 생성, 편집, 삭제) AWS자원에 대한 조작
  • 인사이트 이벤트: AWS 계정의 행동 탐지, 사용자의 패턴을 학습하고 패턴에서 벗어난 조작을 탐지

실제 발생한 AWS 이벤트 기록

트레일 출력

  • S3나 CloudWatch Logs로 로그 출력가능, 출력된 로그를 영구적으로 저장할 수 있음
  • S3에 저장하는 경우 파일 형태로 저장
  • CloudWatch Logs에 저장 하는 경우 스트림 형식으로 저장됨, 로그의 내용이 순차적으로 저장되는 것
  • 특정 문자열을 찾을 때 이벤트를 발생 시키는 기능이 있음 =>특정 조작 발생시 사용자에게 알림을 보낼 수 있음

AWS Config

  • EC2 인스턴스나 보안그룹과 같은 AWS 자원에 대한 구성 정보와 변경 이력을 남기는 서비스
  • 자동으로 AWS 자원의 구성 정보를 수집하고 이력을 관리할 수 있음
  • AWS Config는 AWS 자원의 설정 내용 기반으로 이력을 저장함, 이력 정보가 남아있으면 문제가 발생해도 이력을 확인해 대응가능
  • 고급쿼리 기능을 이용해 특정 자원 수를 확인할 수 있음

사용한 리소스가 없어서 대시보드 그래프도 비어있음
고급 쿼리

AWS Config 규칙

  • AWS의 각 설정이 규칙을 준수하는지 확인
  • AWS에서 제공하는 관리형 규칙을 설정할 수 있음
  • AWS Config 규칙에서 미준수 자원이 발견됐을떄, EventBridge -> SNS 서비스를 결합해 사용자에게 메일로 알림을 발송 할 수 있음
  • AWS System Manager의 Automation기능을 사용해 자동으로 문제를 해결하는 규칙을 추가할 수 있음

AWS GuardDuty

  • AWS 계정 내의 모든 활동을 감시하는 위협 탐지 서비스
  • AWS 계정의 보안상태를 즉시 분석할 수 있음
  • 인스턴스 이상 행위까지도 탐지
  • CloudTrail, VPC 흐름 로그, DNS Logs의 세가지 정보를 기반으로 탐지를 수행
  • 실시간으로 탐지를 수행해 알림을 발송하기 위해 EventBridge => SNS서비스를 결합하여 알림기능을 수행하는 아키텍처 구성 가능

AWS WAF

  • 웹 응용프로그램의 취약점에 대한 공격을 탐지하고 방어하는 역할
  • WAF는 요청에 포함된 공격 코드를 탐지해 방어함
  • XSS, SQL Injection같은 공격 코드가 포함돼 있는지 차단
  • ACL로 IP를 제한하거나 공격 코드를 탐지하는 등 요청에 대한 제어규칙을 만들고 보호할 서비스에 적용하면 된다.
  • CloudFront, API Gateway, AWS AppSync에도 WAF 서비스 적용 가능

AWS Network Firewall

  • VPC를 통한 통신에 대한 방화벽 역할을 수행함
  • IP주소와 포트번호를 지정해 통신을 허가하거나 거부할 수 있음
  • 도메인을 지정하거나 오픈소스 IPS호환 규칙도 사용할 수 있는 등 유연한 통신 가능
  • 대상 규칙을 상태 비보존/상태 보존 관계없이 적용가능
  • 통신을 허가하지만 알림을 발생하는 형태로도 사요가능

AWS Inspector

  • EC2인스턴스의 취약점을 관리하기 위한 서비스
  • 소프트웨어의 버전 취약점을 확인하거나 AWS모범 사례를 만족하는지 등을 확인해 보고서를 생성할 수 있음
  • AWS Systems Manager서비스와 결합하여 보안패치를 자동으로 수행할 수 있음

AWS Shield

  • 웹사이트 또는 응용프로그램에 대한 DDOS 공격을 방어하는 서비스
  • 별도의 설정없이 AWS 계정 생성시 자동으로 적용됨
  • Advanced플랜을 사용해 aws 보안전문가들의 지원들 받아 DDOS공격 방어가능

AWS Security Hub

  • 전체 AWS 계정에 대해 보안 모범사례를 확인하는 서비스
  • CIS AWS Foundation Benchmark라는 기준을 준수하는지 확인 가능

AWS Congnito

  • 웹 응용프로그램이나 모바일 앱의 사용자 인증 및 권한부여를 위한 서비스
  • sms나 otp를 이용한 MFA등 인증 제공