보안 서비스와 규정 준수

AWS Config 규칙과 자동 복구, GuardDuty 위협 탐지, KMS 암호화, Security Hub 통합 보안 관리를 쉬운 비유로 정리합니다.

AWS 보안을 처음 공부하는 분들을 위해, 각 서비스가 무엇인지, 왜 필요한지, 어떻게 동작하는지를 일상의 비유와 함께 설명합니다. SOA-C03 시험에서 보안 도메인은 63문제로 가장 큰 비중을 차지합니다.

 

AWS Config — 회사의 CCTV 시스템

여러분이 편의점을 운영한다고 상상해 보세요. 매장 안의 물건 배치, 금고 잠금 상태, 냉장고 온도 설정 등이 항상 정해진 규칙대로 유지되어야 합니다. 누군가 규칙을 어기면 즉시 알아야 하죠.

AWS Config는 바로 이 역할을 합니다. AWS 리소스(EC2, S3, RDS 등)의 설정이 변경될 때마다 기록을 남기고, 정해진 규칙을 위반하면 알려줍니다.

Config가 하는 일을 구체적으로 설명하면 이렇습니다. S3 버킷이 갑자기 퍼블릭으로 바뀌면 즉시 감지합니다. EC2 보안 그룹에 0.0.0.0/0 인바운드 규칙이 생기면 바로 알려줍니다. 어떤 사람이 언제 어떤 설정을 변경했는지 타임라인으로 볼 수 있습니다.

 

Config 규칙 (Config Rules) — 자동 감시 카메라

Config 규칙은 리소스가 정해진 기준을 충족하는지 자동으로 검사하는 장치입니다. 두 가지 종류가 있습니다.

| 규칙 유형 | 설명 | 예시 | |----------|------|------| | AWS 관리형 규칙 | AWS가 미리 만들어 둔 규칙 | s3-bucket-public-read-prohibited (S3 퍼블릭 읽기 금지) | | 사용자 정의 규칙 | Lambda 함수로 직접 만드는 규칙 | EC2 인스턴스에 반드시 Owner 태그가 있어야 함 |

쇼핑몰 예시로 설명하면 이렇습니다. 온라인 쇼핑몰을 운영하는 회사에서 "모든 데이터베이스는 반드시 암호화되어야 한다"는 보안 정책이 있습니다. Config 규칙을 설정하면 새로운 RDS가 생성될 때마다 자동으로 암호화 여부를 검사합니다. 암호화가 꺼져 있으면 즉시 비준수(Non-Compliant) 상태로 표시됩니다.

 

적합성 팩 (Conformance Pack) — 규정 준수 패키지

PCI-DSS(결제 카드 업계 보안 표준), HIPAA(의료 정보 보호), CIS Benchmark 같은 업계 규정을 따라야 하는 회사가 많습니다. 이런 규정에는 수십 개의 보안 요구사항이 있는데, 하나씩 Config 규칙으로 만들면 매우 번거롭습니다.

적합성 팩은 이런 규정 관련 Config 규칙을 하나의 패키지로 묶어 한 번에 배포할 수 있게 해줍니다. 마치 신입사원 온보딩 체크리스트처럼, 필요한 모든 규칙을 한꺼번에 활성화합니다.

 

자동 복구 (Auto Remediation) — 자동 수리

규칙을 위반하면 자동으로 수정하는 기능입니다. Config 규칙 위반이 감지되면 AWS Systems Manager Automation 문서를 실행하여 자동으로 고칩니다.

예를 들어 이런 시나리오가 가능합니다. S3 버킷 퍼블릭 접근 감지 → 자동으로 퍼블릭 접근 차단 설정 적용. EC2 인스턴스에 암호화되지 않은 EBS 볼륨 감지 → 자동으로 암호화 활성화. 보안 그룹에 위험한 규칙 감지 → 자동으로 해당 규칙 삭제.

담당자가 잠든 새벽에도 자동으로 보안 문제를 수정해주는 훌륭한 기능입니다.

 

AWS Security Hub — 보안 통제 센터

여러 AWS 보안 서비스를 사용하다 보면, GuardDuty 콘솔, Inspector 콘솔, Config 콘솔을 각각 열어봐야 합니다. Security Hub는 이 모든 보안 서비스의 결과를 한 화면에서 볼 수 있게 해주는 통합 대시보드입니다.

도시의 종합 상황실과 같습니다. 각 구역의 CCTV(GuardDuty), 건물 점검 결과(Inspector), 규정 준수 현황(Config)을 한 화면에서 모니터링하는 것이죠.

Security Hub가 통합하는 서비스들을 정리하면 다음과 같습니다. GuardDuty의 위협 탐지 결과, Inspector의 취약점 스캔 결과, AWS Config의 규정 준수 결과, Firewall Manager의 방화벽 정책 결과, IAM Access Analyzer의 과도한 권한 결과가 모두 한곳에 모입니다.

또한 CIS AWS Foundations Benchmark, AWS Foundational Security Best Practices 같은 보안 표준에 따라 자동으로 점검하고 점수를 매겨줍니다.

 

Amazon GuardDuty — 보안 경비원

GuardDuty는 AWS 환경에서 악의적인 활동을 자동으로 탐지하는 서비스입니다. 아파트 단지의 경비원이 수상한 사람을 24시간 감시하는 것과 같습니다.

GuardDuty의 가장 큰 장점은 별도의 에이전트 설치나 복잡한 설정 없이, 활성화만 하면 즉시 작동한다는 점입니다. 내부적으로 세 가지 데이터를 분석합니다.

VPC Flow Logs 분석을 통해 비정상적인 네트워크 트래픽을 감지합니다. 예를 들어 EC2 인스턴스가 갑자기 알 수 없는 외부 IP에 대량의 데이터를 전송하면 경고를 발생시킵니다. 이는 악성코드에 감염되어 데이터를 유출하는 상황을 나타낼 수 있습니다.

CloudTrail 이벤트 분석을 통해 비정상적인 API 호출 패턴을 감지합니다. 예를 들어 특정 IAM 사용자가 새벽 3시에 갑자기 수백 개의 EC2를 생성하려 한다면 이상 징후입니다. 해커가 계정을 탈취하여 암호화폐 채굴에 사용하려는 패턴입니다.

DNS 로그 분석을 통해 악성 도메인과의 통신을 탐지합니다. EC2 인스턴스가 알려진 악성 도메인과 통신하려 하면 즉시 차단 알림을 보냅니다.

 

Amazon Inspector — 건강검진 서비스

EC2 인스턴스, Lambda 함수, ECR 컨테이너 이미지에서 소프트웨어 취약점과 네트워크 노출을 자동으로 스캔합니다. 병원에서 정기 건강검진을 받듯이, 시스템의 약한 부분을 미리 발견합니다.

서버에 오래된 소프트웨어 버전이 설치되어 있다면, 해커가 그 취약점을 통해 침입할 수 있습니다. Inspector는 이런 위험을 CVE(공개 취약점 데이터베이스)와 대조하여 자동으로 찾아냅니다.

GuardDuty와 Inspector의 차이점을 기억하세요. GuardDuty는 이미 발생 중인 위협을 탐지하는 것이고, Inspector는 앞으로 발생할 수 있는 취약점을 미리 발견하는 것입니다.

 

AWS Trusted Advisor — 종합 컨설턴트

Trusted Advisor는 AWS 전문가가 여러분의 환경을 점검하고 개선 방안을 제안해주는 서비스입니다. 다섯 가지 영역을 점검합니다.

| 영역 | 예시 권장사항 | |------|-------------| | 비용 최적화 | 사용되지 않는 EC2 인스턴스 종료 권고 | | 성능 | EBS 처리량 한도 초과 경고 | | 보안 | MFA가 활성화되지 않은 루트 계정 경고 | | 내결함성 | 단일 AZ에만 배포된 EC2 경고 | | 서비스 한도 | EC2 인스턴스 개수가 한도에 근접 경고 |

무료 플랜은 일부 기본 검사만 제공하고, Business 또는 Enterprise Support 플랜에서 전체 검사 항목을 이용할 수 있습니다.

 

AWS KMS — 암호화 키 금고

KMS(Key Management Service)는 데이터를 암호화할 때 사용하는 키를 안전하게 관리하는 서비스입니다. 은행 금고의 열쇠를 관리하는 것과 같습니다.

암호화가 왜 필요한지 생각해보세요. S3에 고객의 개인정보를 저장했는데, 누군가 S3 버킷에 무단으로 접근한다면 어떻게 될까요? 데이터가 암호화되어 있다면, 열쇠(KMS 키) 없이는 데이터를 읽을 수 없습니다.

KMS의 주요 개념을 살펴봅니다. CMK(Customer Master Key)는 고객이 직접 관리하는 마스터 키입니다. AWS 관리형 키는 AWS가 자동으로 관리하고, 고객 관리형 키는 고객이 직접 생성하고 관리합니다. 자동 키 로테이션 기능을 활성화하면 매년 자동으로 키가 교체됩니다. 이는 오래된 열쇠를 주기적으로 교체하여 보안을 강화하는 것과 같습니다.

KMS는 S3(서버 측 암호화 SSE-KMS), EBS 볼륨, RDS 데이터베이스, Secrets Manager 등과 통합됩니다.

 

AWS Certificate Manager (ACM) — 자물쇠 제조 서비스

웹사이트에 https://가 붙어 있는 것을 본 적이 있죠? 이 보안 연결을 만들어 주는 SSL/TLS 인증서를 무료로 발급하고 관리해주는 서비스가 ACM입니다.

인터넷 뱅킹을 할 때, 여러분의 계좌 정보가 암호화되어 전송됩니다. 누군가 중간에서 가로채더라도 내용을 알 수 없습니다. 이것이 전송 중 암호화(Encryption in Transit)입니다.

ACM 인증서는 ALB(Application Load Balancer), CloudFront, API Gateway와 통합됩니다. 인증서 갱신도 자동으로 처리해줘서 만료 걱정이 없습니다.

 

저장 시 암호화 vs 전송 중 암호화

두 가지 암호화 개념을 확실히 구분해야 합니다.

| 구분 | 저장 시 (At Rest) | 전송 중 (In Transit) | |------|-----------------|---------------------| | 개념 | 디스크에 저장된 데이터 보호 | 네트워크로 이동 중인 데이터 보호 | | 서비스 | KMS, S3 SSE, EBS 암호화, RDS 암호화 | ACM(SSL/TLS), HTTPS, TLS | | 비유 | 금고에 잠가둔 서류 | 봉인된 우편물 | | 언제 필요? | 데이터 유출 시 내용 보호 | 도청, 중간자 공격 방어 |

!저장 데이터 암호화 vs 전송 중 암호화

AWS CloudTrail — 모든 행동의 감사 기록

블로그 목록으로 돌아가기