GuardDuty, Inspector 및 Macie
위협 탐지를 위해 GuardDuty를 활성화하고, EC2와 Lambda의 취약점 검사를 위해 Inspector를 실행하며, Macie로 S3의 민감한 데이터를 검색합니다.
GuardDuty, Inspector 및 Macie은(는) CoddyKit의 무료 AWS Solutions Architect 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 AWS Solutions Architect 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. AWS Solutions Architect 강의에는 총 4개의 강의가 포함되어 있습니다.
위협 탐지 계층
심층 방어 보안에는 공격을 방지하는 것뿐 아니라 방어를 뚫고 들어온 위협을 탐지하는 것도 필요합니다. AWS는 함께 작동하는 세 가지 관리형 보안 탐지 서비스를 제공합니다. Amazon GuardDuty는 AWS 계정의 동작과 네트워크 트래픽을 분석하여 위협을 탐지합니다. Amazon Inspector는 컴퓨팅 리소스에서 소프트웨어 취약점을 찾습니다. Amazon Macie는 S3에서 민감한 데이터(PII, 금융 기록)를 검색하고 데이터가 노출되면 경고합니다. 세 서비스 모두 완전 관리형이며 머신 러닝을 사용하고 AWS Security Hub와 통합되어 중앙 집중식 가시성을 제공합니다.
# Detective controls overview:
# GuardDuty: Who is behaving suspiciously? (threat detection)
# Inspector: What vulnerabilities exist in my compute? (CVE scanning)
# Macie: Where is my sensitive data? (PII/PCI discovery)
# All three:
# - Fully managed (no agents for most features)
# - Machine learning-based analysis
# - Send findings to Security Hub
# - Integrate with EventBridge for automated responseAmazon GuardDuty: 지능형 위협 탐지
Amazon GuardDuty는 VPC Flow Logs, DNS logs, CloudTrail management events, S3 data events를 머신 러닝, 이상 탐지, 통합 위협 인텔리전스 피드(IP 평판 목록, 알려진 악성 도메인)로 분석하는 지속적 위협 탐지 서비스입니다. GuardDuty는 에이전트가 필요 없습니다. 계정에서 활성화하면 기존 로그 분석을 즉시 시작합니다. 관리할 인프라도, 로그 저장 비용도 없습니다(GuardDuty가 AWS에서 직접 로그를 사용합니다). GuardDuty는 위협 유형별로 분류된 Finding을 제공합니다. 예를 들면 UnauthorizedAccess, CryptoCurrency, Backdoor, Trojan 등이 있습니다.
# Enable GuardDuty
aws guardduty create-detector \
--enable \
--finding-publishing-frequency FIFTEEN_MINUTES
# List GuardDuty findings
aws guardduty list-findings \
--detector-id <detector-id> \
--finding-criteria '{
"Criterion": {
"severity": {"Gte": 7}
}
}'
# High severity (7-10) examples:
# UnauthorizedAccess:EC2/MaliciousIPCaller.Custom
# CryptoCurrency:EC2/BitcoinTool.B
# Backdoor:EC2/C&CActivity.BGuardDuty Finding 유형
GuardDuty는 Finding을 위협 목적, 리소스 유형, 위협 이름에 따라 분류합니다. 일반적인 Finding 범주는 다음과 같습니다. UnauthorizedAccess — 비정상적인 위치나 Tor 출구 노드에서 발생한 API 호출입니다. Recon — 포트 스캔 또는 API 열거입니다. PrivilegeEscalation — 권한 상승을 암시하는 IAM 정책 변경입니다. Exfiltration — S3 또는 RDS에서 비정상적으로 많은 데이터를 검색하는 행위입니다. CryptoCurrency — 알려진 암호화폐 채굴 풀과 통신하는 EC2 인스턴스입니다. Stealth — CloudTrail logging 또는 S3 액세스 logging이 비활성화된 상태입니다. 각 Finding에는 영향받은 리소스, 행위자의 IP/user, 권장 작업이 포함됩니다.
# Get GuardDuty finding details
aws guardduty get-findings \
--detector-id <detector-id> \
--finding-ids finding-id-1 finding-id-2
# Finding structure:
# {
# 'type': 'CryptoCurrency:EC2/BitcoinTool.B!DNS',
# 'severity': 8.0,
# 'title': 'EC2 instance querying domain for cryptocurrency mining',
# 'resource': {'instanceDetails': {'instanceId': 'i-12345'}},
# 'service': {'action': {'networkConnectionAction': {'remoteIpDetails': {...}}}}
# }GuardDuty 자동 대응
GuardDuty Finding은 Amazon EventBridge와 통합되어 자동 대응 워크플로를 트리거할 수 있습니다. 일반적인 패턴은 다음과 같습니다. GuardDuty가 침해된 EC2 인스턴스를 탐지 → EventBridge 규칙이 실행됨 → Lambda 함수가 호출됨 → Lambda가 인스턴스를 격리함(ASG에서 제거하고 모든 트래픽을 차단하는 제한적인 보안 그룹 적용), 포렌식을 위해 EBS 볼륨의 스냅샷을 생성하고 SNS를 통해 보안 팀에 알립니다. 이러한 자동 대응은 탐지 후 수 초 이내에 수행될 수 있어 사람이 대응하는 것보다 훨씬 빠릅니다.
# EventBridge rule for high-severity GuardDuty findings
aws events put-rule \
--name guardduty-high-severity \
--event-pattern '{
"source": ["aws.guardduty"],
"detail-type": ["GuardDuty Finding"],
"detail": {
"severity": [{"numeric": [">", 6.9]}]
}
}'
# Lambda response function actions:
# 1. Stop instance from ASG
# 2. Replace security group with deny-all SG
# 3. Create EBS snapshot for forensics
# 4. Send SNS alert to security team
# 5. Create Jira ticket via APIAmazon Inspector: 취약점 평가
Amazon Inspector는 워크로드에서 소프트웨어 취약점과 의도하지 않은 네트워크 노출을 자동으로 검색하고 스캔합니다. 최신 버전인 Inspector v2는 EC2 인스턴스(Systems Manager Agent 사용), Amazon ECR 컨테이너 이미지(푸시될 때 스캔), AWS Lambda 함수(패키지 종속성)를 지원합니다. Inspector는 Finding을 CVE 데이터베이스(Common Vulnerabilities and Exposures)와 연관시키고 위험 점수를 부여합니다. 새로운 취약점이 공개되면 리소스를 지속적으로 다시 스캔하므로 수동으로 스캔을 시작할 필요가 없습니다.
# Enable Amazon Inspector
aws inspector2 enable \
--resource-types EC2 ECR LAMBDA
# List Inspector findings for critical vulnerabilities
aws inspector2 list-findings \
--filter-criteria '{
"severity": [{"comparison":"EQUALS","value":"CRITICAL"}]
}' \
--query 'findings[].{Resource:resources[0].id,CVE:packageVulnerabilityDetails.vulnerabilityId,CVSS:packageVulnerabilityDetails.cvss[0].baseScore}'
# Inspector integrates with ECR lifecycle policies
# to prevent deploying critically vulnerable imagesInspector 네트워크 도달 가능성
CVE 스캔 외에도 Inspector는 네트워크 도달 가능성을 분석하여 보안 그룹 구성으로 인해 인터넷에서 액세스할 수 있는 EC2 인스턴스를 확인합니다. VPC 보안 그룹, NACL, 라우팅 테이블, 인터넷 게이트웨이를 매핑하여 어떤 인스턴스의 어떤 포트가 인터넷에서 연결 가능한지 판단합니다. 인터넷에서 i-12345의 Port 22 (SSH)에 연결할 수 있습니다와 같은 Finding은 직접 SSH 액세스를 허용하도록 보안 그룹이 잘못 구성되었음을 나타내며, 이는 일반적인 보안 위험입니다. 이 네트워크 분석은 에이전트 없이 VPC 구성 데이터를 사용하여 실행됩니다.
# Inspector network findings example:
# Finding type: NETWORK_REACHABILITY
# Title: Port 22 is reachable from 0.0.0.0/0
# Resource: ec2-instance i-12345 (prod-web-01)
# Details: Security group sg-abc allows 0.0.0.0/0:22
# Recommendation: Restrict SSH to corporate IP range
# or use Systems Manager Session Manager instead
# Fix: update security group
aws ec2 revoke-security-group-ingress \
--group-id sg-abc \
--protocol tcp --port 22 --cidr 0.0.0.0/0Amazon Macie: 민감한 데이터 검색
Amazon Macie는 머신 러닝과 패턴 매칭을 사용하여 Amazon S3의 민감한 데이터를 자동으로 검색하고 보호합니다. Macie는 개인 식별 정보(PII)(이름, 사회 보장 번호, 신용 카드 번호, 여권), 금융 데이터, 건강 정보, 자격 증명(비밀번호, API 키)을 식별합니다. 또한 공개 S3 버킷과 암호화되지 않은 버킷도 탐지합니다. Macie는 민감한 데이터가 검색되거나 노출될 때 Security Hub 및 EventBridge와 통합하여 자동 수정 또는 경고에 사용할 수 있는 Finding을 생성합니다.
# Enable Macie
aws macie2 enable-macie
# Create a classification job to scan S3 buckets
aws macie2 create-classification-job \
--name 'Scan-All-S3-Buckets' \
--job-type ONE_TIME \
--s3-job-definition '{
"bucketDefinitions": [{
"accountId": "123456789012",
"buckets": ["customer-uploads","financial-reports"]
}]
}' \
--managed-data-identifier-selector ALL
# Macie scans objects and reports:
# - SSN found in financial-reports/2026-q1.csv
# - Bucket customer-uploads is publicly readableMacie Finding 및 규정 준수
Macie는 민감한 데이터를 찾고 보호하도록 요구하는 다음과 같은 규정 준수 프레임워크에 특히 유용합니다: GDPR(EU 개인 데이터), HIPAA(건강 정보), PCI DSS(결제 카드 데이터). Macie Finding에는 민감한 데이터가 포함된 S3 객체, 발견된 데이터 유형, 버킷의 액세스 제어가 표시됩니다. 이를 사용하여 민감한 데이터가 포함된 모든 버킷이 Encryption되고 비공개로 설정되어 있으며 적절한 버킷 정책의 적용을 받는지 확인할 수 있습니다. Macie는 데이터나 버킷 액세스를 수정하지 않습니다. Macie는 탐지하고 보고만 하며, 수정 작업은 보안 팀이 수행합니다.
# Get Macie findings
aws macie2 list-findings \
--finding-criteria '{
"criterion": {
"category": {"eqExactMatch": ["CLASSIFICATION"]}
}
}'
# Findings example output:
# sensitiveDataCategories: [FINANCIAL_INFORMATION, PERSONAL_HEALTH_INFORMATION]
# resourcesAffected:
# s3Object:
# bucketName: healthcare-records
# key: patients/2026/march.csv
# publicAccess: false (good)
# serverSideEncryption: null (BAD - not encrypted!)AWS Security Hub: Finding 중앙 집중화
AWS Security Hub는 GuardDuty, Inspector, Macie, IAM Access Analyzer, Firewall Manager 및 서드 파티 도구의 Finding을 하나의 콘솔로 집계합니다. Finding을 AWS Security Finding Format (ASFF)으로 정규화하여 소스 전반에서 일관된 처리와 분석이 가능하게 합니다. 또한 Security Hub는 CIS AWS Foundations, PCI DSS, NIST와 같은 보안 표준을 기준으로 환경을 평가합니다. Security Hub를 보안 상태를 확인하는 단일 창으로 사용하십시오. 여러 서비스에서 발생한 관련 Finding을 연관시켜 사고의 전체 범위를 파악할 수 있습니다.
# Enable Security Hub and all integrations
aws securityhub enable-security-hub \
--enable-default-standards
# GuardDuty, Inspector, Macie automatically
# send findings to Security Hub when all are enabled
# Query aggregated findings
aws securityhub get-findings \
--filters '{
"SeverityLabel": [{"Value":"CRITICAL","Comparison":"EQUALS"}],
"WorkflowStatus": [{"Value":"NEW","Comparison":"EQUALS"}]
}' \
--sort-criteria '[{"Field":"LastObservedAt","SortOrder":"desc"}]'GuardDuty, Inspector, Macie 비교
SAA-C03 시험에서는 주어진 보안 요구 사항에 적합한 탐지 서비스를 선택할 수 있는지 평가합니다. 주요 차이점은 다음과 같습니다. GuardDuty — 실행 중인 위협과 의심스러운 동작을 탐지합니다(현재 누가 악의적인 행동을 하고 있는가). Inspector — 소프트웨어와 네트워크 구성에 존재하는 취약점을 찾습니다(내 리소스에 무엇이 잘못되었는가). Macie — S3에서 민감한 데이터와 노출 위험을 검색합니다(민감한 데이터가 어디에 있으며 보호되고 있는가). 세 서비스는 서로 보완적이며, 포괄적인 보안 전략의 일부로 운영 환경에 함께 배포하는 것이 일반적입니다.
# Service selection guide:
# 'Detect if EC2 is mining cryptocurrency' -> GuardDuty
# 'Find unpatched Apache Log4j vulnerabilities' -> Inspector
# 'Discover PII stored in S3 buckets' -> Macie
# 'Alert if unusual API calls from foreign IP' -> GuardDuty
# 'Find publicly accessible EC2 ports' -> Inspector
# 'Detect unencrypted S3 buckets with credit card data' -> Macie
# 'Correlate findings from all three services' -> Security HubAWS Organizations로 대규모 환경에서 활성화
각 AWS 계정에서 GuardDuty, Inspector, Macie를 수동으로 활성화하는 것은 대규모 환경에서 실용적이지 않습니다. AWS Organizations 통합을 사용하면 위임된 관리자 계정(일반적으로 Security 계정)을 지정하여 한 곳에서 모든 멤버 계정에 대해 이러한 서비스를 활성화하고 관리할 수 있습니다. Organization에 추가된 새 계정에는 GuardDuty, Inspector, Macie가 자동으로 활성화됩니다. 모든 계정의 Finding은 중앙 검토를 위해 위임된 관리자 계정으로 집계됩니다. 이는 다중 계정 보안 거버넌스에 권장되는 아키텍처입니다.
# Enable GuardDuty for entire AWS Organization
# Run from management account
aws guardduty enable-organization-admin-account \
--admin-account-id 111111111111
# From security/delegated admin account:
aws guardduty update-organization-configuration \
--detector-id <detector-id> \
--auto-enable-organization-members NEW
# NEW accounts automatically get GuardDuty enabled
# All findings aggregate in the admin account빠른 확인
이 lesson에서 다룬 AWS Solutions Architect (SAA-C03) 개념을 얼마나 이해했는지 확인해 보십시오.
lesson 복습
이 lesson에서는 다음을 배웠습니다: GuardDuty는 CloudTrail, VPC Flow Logs, DNS logs를 ML 기반으로 분석하여 실행 중인 위협을 탐지합니다. Inspector는 EC2, ECR, Lambda에서 CVE 취약점과 네트워크 도달 가능성 문제를 자동으로 스캔합니다. 또한 Macie는 관리형 데이터 식별자 스캔을 통해 S3의 민감한 데이터를 검색하고 보호합니다. Security Hub는 세 서비스의 Finding을 중앙 집중화합니다. 다음 lesson에서는 Secrets Manager와 Parameter Store를 살펴봅니다.
자주 묻는 질문
“GuardDuty, Inspector 및 Macie” 강의는 무료인가요?
네 — “GuardDuty, Inspector 및 Macie” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 AWS Solutions Architect 강의 전체를 잠금 해제할 수 있습니다. AWS Solutions Architect 강의에는 총 4개의 강의가 포함되어 있습니다.
“GuardDuty, Inspector 및 Macie”에서 뭘 배우나요?
위협 탐지를 위해 GuardDuty를 활성화하고, EC2와 Lambda의 취약점 검사를 위해 Inspector를 실행하며, Macie로 S3의 민감한 데이터를 검색합니다. 브라우저에서 직접 실행하는 실습 코드로 AWS Solutions Architect을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
AWS Solutions Architect을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 AWS Solutions Architect은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“GuardDuty, Inspector 및 Macie” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 AWS Solutions Architect 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 AWS Solutions Architect 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- KMS, ACM 및 암호화 패턴
- GuardDuty, Inspector 및 Macie
- Secrets Manager 및 Parameter Store
- WAF, Shield 및 Network Firewall