모니터링 - Config

이기태·2024년 8월 10일
0

AWS

목록 보기
49/62

AWS Config

  • AWS 내 리소스에 대한 감사와 규청 준수 여부를 기록할 수 있게 해주는 서비스
  • 설정된 규칙에 기반해 구성과 구성의 시간에 따른 변화를 기록할 수 있다.
    이를 통해 인프라를 빠르게 롤백하고 문제점을 찾아낼 수 있음.
  • Config로 해결 가능한 솔루션
    • 보안 그룹에 제한되지 않은 SSH 접근이 있는가?
    • 버킷에 공용 액세스가 있는가?
    • 시간이 지나며 변화한 ALB 구성이 있는가?
  • 위 경우 규칙이 규정을 준수하든 안하든 변화가 생길 때마다 SNS 알림을 받을 수 있다.
  • Config는 리전별 서비스이기 때문에 모든 리전별로 구성해야 한다.
  • 데이터를 중앙화하기 위해 리전과 계정 간 데이터를 통합할 수 있다.
  • 모든 리소스의 구성을 S3에 저장해 나중에 분석할 수 있다.

Config 규칙

  • AWS 관리형 Config 규칙(75가지 규칙)
  • 커스텀 Config 규칙 만들기(Lambda를 이용해 스스로 규칙을 정의)
    ex) EBS 디스크가 gp2 유형인지 평가,
    개발 계정의 EC2 인스턴스가 t2.micro 유형인지 평가
  • 몇몇 규칙들은 구성이 변화할 때마다 평가되건가 트리거 되기도 한다.
    ex) EBS 디스크에 새 구성이 샐길 때마다 EBS 디스크의 유형을 평가,
    정기적으로 규칙이 평가되도록 만들 수 있다. (ex: 2시간마다 EBS 디스크 평가)
  • Config 규칙은 규정 준수를 위한 것.
    어떤 동작을 미리 예방하는 것이 아님.
    어떤 것도 차단 불가.
    ex) IAM 같은 보안 메커니즘을 대신할 수 없다.
  • 하지만 구성의 개요와 리소스의 규정 준수 여부를 Config 규칙을 통해 알 수 있음.
  • Config는 비용이드는 서비스이며 비싸질 수 있기 때문에 잘 사용해야 한다.
    각 리전당 기록된 구성 항목별로 0.3센트 이고, 리전당 Config 규칙 평가별로 0.1센트 이다.

Config 리소스

  • 리소스의 규정 준수 여부를 시간 별로 볼 수 있다.
  • 리소스 구성을 시간 별로 볼 수 있다.(언제, 누가 변경했는가)
  • CloudTrail과 연결해 리소스에 대한 API 호출을 볼 수 있다.

Config 규칙 - 교정

  • Config 내에서 행동을 차단할 수 없지만 SSM 자동화 문서를 이용해 규정을 준수하지 않는 리소스를 수정할 수 있다.

    - IAM 액세스 키의 만료 여부를 모니터링 한다 가정 하고 예를 들어 키가 90일 이상 보관된 경우로 규정을 준수하지 않은 상태이다.
    - 규정 미준수를 예방하지 못하지만 리소스가 규정을 미준수할 때마다 수정 작업을 트리거 할 수 있다.
    - RevokeUnusedIAMUserCredentials라는 이름의 SSM 문서를 이용한다 하자.
    - 그리고 이것이 리소스에 적용된다 가정하면
    - 이 경우 SSM 문서가 IAM 액세스 키를 비활성화한다.
  • AWS 관리형 문서를 사용하든 본인만의 자동화 문서를 만들어 사용하든 규정을 준수하지 않는 리소스를 수정은 가능하다.
  • 만약 계속 스크립트를 하고 싶다면 람다 함수를 실행하는 문서를 생성해 원하는 작업을 수행 가능하다.
  • 수정 작업은 재시도 될 수 있다.
    리소스를 자동 수정했음에도 여전히 규정을 미준수한다면 5번 까지 재시도 된다.

Config 규칙 - 알림

  • EventBridge를 사용해 리소스가 규정을 미준수했을 때마다 알림을 보낼 수 있다.
    ex: 보안 그룹을 모니터링하다가 규정 미준수 상태가 됐으면 EventBridge에서 이벤트를 트리거해 원하는 리소스에 넘길 수 있다.
  • 또는 모든 구성 변경과 모든 리소스의 규정 준수 여부 알림을 Config에서 SNS로 보낼 수 있다.
    한 구성 항목이 있고, 특정 이벤트에만 적용되게 필터링 하고 싶다면 SNS 필터링을 사용하자.
    ex: 관리자 이메일이나 Slack 채널등으로 모든 알림을 한 곳에 집중시키기 가능.

CloudWatch VS CloudTrail VS Config

  • CloudWatch
    • 지표, CPU, 네트워크 등의 성능 모니터링, 대시보드 생성에 사용
    • 이벤트와 알림을 받을 수 있고, 로그 집계 및 분석 도구 사용 가능
  • CloudTrail
    • 계정 내에서 만든 API에 대한 모든 호출을 기록
    • 특정 리소스에 대한 추적 정의
    • 글로벌 서비스이다.
  • Config
    • 구성 변경을 기록
    • 규정 준수 규칙에 따라 리소스를 평가
    • 변경과 규정 준수에 대한 타임라인을 UI로 보여준다.

ELB를 통한 세 서비스 예시

  • CloudWatch
    • 들어오는 연결 수를 모니터링하고 오류 코드 수를 시간 흐름에 따라 비율로 시각화
    • 로드 밸런서의 성능을 볼 수 있는 대시보드를 생성
    • 글로벌 애플리케이션에 로드 밸런서가 여러 개 있다면 글로벌 대시보드 생성 가능
  • Config
    • 로드 밸런서에 대한 보안 그룹 규칙을 추적해 그 누구도 수상하게 행동하거나 변경하지 못하게 하기 위해 사용
    • 누군가 SSL 인증서 등을 수정하지 않는지 감시
    • 로드 밸런서의 구성 변경을 추적하는 데 사용
    • 또는 SSL 인증서가 로드 밸런서에 항상 할당되어 있어야 한다는 규칙을 만들어 암호화되지 않은 트래픽이 로드 밸런서에 접근하지 못하게 할 수도 있다.
  • CloudTrail
    • 누가 API를 호출해 로드 밸런서를 변경했는지 추적
    • 누군가 보안 그룹 규칙을 바꾸거나 SSL 인증서를 바꾸거나 삭제한다면 CloudTrail이 누가 그랬는지 확인 가능.

  • 이 세 서비스들은 상호 보완적이다.

0개의 댓글

관련 채용 정보