1. 모듈 개요
이 모듈은 데이터베이스(RDS)와 컴퓨팅(EC2) 레이어 전반의 보안 위협과 IAM 관련 보안 사고를 포괄적으로 다룹니다. Amazon GuardDuty로 위협을 탐지하고, Amazon Bedrock 기반의 autobotAI 에이전틱 기능을 활용해 자동 교정을 구현해 엔드투엔드 자율 보호를 달성합니다.
| 항목 | 내용 |
|---|---|
| 리전 | us-west-2 (오레곤) |
| 예상 시간 | 약 45분 |
| 섹션 | 3.1 GuardDuty 위협 탐지 (20분) + 3.2 자동 교정 구현 (25분) |
이 모듈에서 배우는 것
- GuardDuty를 사용해 RDS 관련 보안 위협 탐지 및 대응
- SSH 브루트포스, Tor 클라이언트 활동, 자격 증명 유출 등 EC2 보안 사고 식별 및 완화
- GuardDuty RDS Protection이 데이터베이스 로그인 활동을 모니터링하는 방식 이해
- IAM 관련 보안 위협 및 비정상 행동 식별
- 보안 결과에 대한 AI 기반 자동 교정 구현
- 지능형 위협 분석 및 의사결정 워크플로 구성
- Amazon SES를 통한 보안 사고 자동 알림 시스템 설정
2. 아키텍처 개요
위협 탐지 및 자동 교정 아키텍처는 5개 레이어로 구성됩니다.
| 레이어 | 구성 요소 | 역할 |
|---|---|---|
| 탐지 레이어 | Amazon GuardDuty | RDS 로그인 활동, EC2 네트워크 트래픽, IAM 작업을 지속 모니터링. 이상 패턴 분석 후 잠재적 보안 위협에 대한 발견(Finding) 생성 |
| AI 분석 레이어 | autobotAI + Amazon Bedrock | 파운데이션 모델로 GuardDuty 발견 분석. 외부 인텔리전스(AbuseIPDB)로 위협 검증. Bedrock 추론 기능으로 적절한 대응 액션 결정 및 심각도 평가 |
| 교정 레이어 | autobotAI + AWS APIs | 대응 액션 자동 실행. 보안 그룹 수정 및 IP 차단. IAM 자격 증명 교체 및 권한 축소. 필요 시 인스턴스 격리 |
| 알림 레이어 | Amazon SES | 보안팀에 상세 이메일 경보 발송. AI 분석 결과 및 취해진 액션 포함. 완전한 인시던트 요약 제공 |
| 감사 레이어 | CloudWatch + CloudTrail | 포괄적인 감사 추적 유지. 모든 API 활동 로깅. 교정 액션 전체 가시성 확보 |
3. 3.1 GuardDuty로 보안 위협 탐지
Amazon GuardDuty는 여러 AWS 서비스에 걸쳐 지속적인 모니터링과 위협 탐지를 제공해 환경에 심각한 피해를 주기 전에 잠재적 악성 활동을 식별합니다.
RDS 보호 발견 유형
GuardDuty RDS Protection은 Amazon Aurora 및 RDS 데이터베이스에 대한 잠재적 접근 위협을 위해 데이터베이스 로그인 활동을 모니터링합니다.
| 발견 유형 | 심각도 | 설명 |
|---|---|---|
CredentialAccess:RDS/TorIPCaller.FailedLogin | Medium | Tor 출구 노드에서 RDS 데이터베이스 로그인 실패 시도 |
Discovery:RDS/TorIPCaller | Medium | Tor IP가 데이터베이스를 탐색(로그인 시도 없음) |
Discovery:RDS/MaliciousIPCaller | Medium | 알려진 악성 IP가 데이터베이스를 탐색 |
RDS Protection 주요 기능:
- Amazon Aurora 및 RDS 데이터베이스의 로그인 활동 지속 모니터링
- 의심스러운 로그인 행동 및 브루트포스 공격 탐지
- Tor 네트워크 및 알려진 악성 IP 주소에서의 접근 식별
- 성공 및 실패 로그인 시도 모두 분석
IAM 보호 발견 유형
GuardDuty는 CloudTrail 관리 이벤트를 통해 잠재적으로 비정상적인 IAM 활동을 탐지합니다.
| 발견 유형 | 심각도 | 설명 |
|---|---|---|
Recon:IAMUser/MaliciousIPCaller.Custom | Medium | 사용자 정의 위협 목록의 악성 IP에서 API 호출 |
Recon:IAMUser/TorIPCaller | Medium | Tor 출구 노드에서 API 호출 |
IAM 위협 탐지 항목:
- IAM 엔티티 활동 및 API 호출 모니터링
- 악성 소스의 정찰 활동 탐지
- 자격 증명 오용 및 비인가 접근 시도 식별
EC2 위협 탐지 발견 유형
GuardDuty는 VPC Flow Logs, DNS 로그, CloudTrail 이벤트를 사용해 EC2 인스턴스를 모니터링합니다.
| 발견 유형 | 심각도 | 설명 |
|---|---|---|
UnauthorizedAccess:EC2/SSHBruteForce | Low/High | EC2 인스턴스에 SSH 브루트포스 공격 탐지 |
Backdoor:EC2/C&CActivity.B!DNS | High | 인스턴스가 명령 및 제어(C&C) 서버와 통신 (Tor 클라이언트 탐지) |
UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS | High | AWS 외부 IP에서 EC2 자격 증명이 사용됨 |
EC2 위협 탐지 항목:
- SSH 브루트포스 공격 식별
- Tor 클라이언트 활동 탐지
- 인스턴스 자격 증명 유출 모니터링
- 네트워크 이상 탐지
4. GuardDuty 콘솔에서 발견 확인
Step 1. GuardDuty 콘솔로 이동
AWS 계정에서 GuardDuty 서비스를 엽니다. GuardDuty는 이미 활성화되어 있으며 Summary 페이지로 이동합니다.
Step 2. 발견(Findings) 보기
왼쪽 메뉴에서 Findings를 클릭합니다. 이 리전에서 GuardDuty가 생성한 모든 발견을 볼 수 있습니다.
Step 3. RDS 발견 세부 정보 확인
Discovery:RDS/MaliciousIPCaller 유형의 발견 제목을 클릭하면 우측 패널에 완전한 세부 정보가 표시됩니다. Actor 필드에서 해당 활동을 수행한 IP 주소를 확인합니다.
Step 4. IAM 발견 세부 정보 확인
Recon:IAMUser/TorIPCaller 유형의 발견을 선택하면 Affected resources 섹션에서 세부 정보를 확인할 수 있습니다. 스크롤을 내려 API calls 섹션에서 어떤 API 호출이 언제, 몇 번 이루어졌는지 확인합니다.
Step 5. EC2 SSH 브루트포스 발견 확인
발견 유형 필터: UnauthorizedAccess:EC2/SSHBruteForce
| 확인 항목 | 내용 |
|---|---|
| 심각도 수준 | High 심각도는 지속적인 공격을 나타냄 |
| 소스 IP | 공격 IP 주소 및 지리적 위치 |
| 대상 인스턴스 | 영향받은 EC2 인스턴스 세부 정보 |
| 공격 패턴 | 시도 빈도 및 타이밍 |
Step 6. EC2 Tor 클라이언트 발견 확인
발견 유형 필터: Backdoor:EC2/C&CActivity.B!DNS
| 확인 항목 | 내용 |
|---|---|
| 연결 빈도 | Tor 네트워크로의 연결 횟수 |
| Tor 진입 노드 | 지리적 위치 및 호스팅 공급자 |
| 시간 범위 | Tor 활동 지속 시간 |
| 포트 분석 | Tor 통신에 사용된 포트 |
Step 7. 자격 증명 유출 발견 확인
발견 유형 필터: UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS
| 확인 항목 | 내용 |
|---|---|
| 인스턴스 신원 | 침해된 EC2 인스턴스 |
| IAM 역할 | 자격 증명이 유출된 역할 |
| 외부 IP | 도난된 자격 증명을 사용하는 IP 주소 |
| API 호출 | 외부에서 호출되는 특정 AWS API |
발견 검토 시 주요 관찰 사항
| 관찰 항목 | 의미 |
|---|---|
| 발견 유형 | 위협의 성격 표시 (RDS 로그인 시도, IAM 정찰, EC2 공격 등) |
| 심각도 | 대응 우선순위 결정 (Low, Medium, High) |
| 행위자 정보 | 소스 IP 주소, 지리적 위치, 알려진 악성 소스 또는 Tor 여부 |
| 리소스 세부 정보 | 어떤 데이터베이스, 인스턴스, IAM 엔티티가 대상이었는지 |
| 액션 세부 정보 | 어떤 구체적인 액션이 시도됐는지 (로그인, API 호출, 네트워크 연결 등) |
| 타임스탬프 | 활동 발생 시간 |
| 상관 관계 | 동일 리소스에 영향을 미치는 여러 발견 간의 패턴 |
5. 보안 모범 사례
RDS 보안
| 항목 | 권장 사항 |
|---|---|
| 네트워크 격리 | VPC 내 프라이빗 서브넷에 RDS 인스턴스 배치 |
| 보안 그룹 | 최소 권한 보안 그룹 규칙 구현 — 0.0.0.0/0 접근 금지 |
| 인증 | 가능한 경우 IAM 데이터베이스 인증 사용 |
| 암호화 | 저장 데이터 및 전송 중 데이터 암호화 활성화 |
| 모니터링 | Enhanced Monitoring 및 Database Activity Streams 활성화 |
EC2 보안
| 항목 | 권장 사항 |
|---|---|
| 패치 관리 | 최신 보안 패치로 인스턴스를 항상 최신 상태 유지 |
| SSH 강화 | 비밀번호 대신 SSH 키 사용, root 로그인 비활성화 |
| 네트워크 분리 | 보안 그룹과 NACL을 효과적으로 활용 |
| IMDSv2 | 인스턴스 메타데이터 접근에 IMDSv2 필수 적용 |
| 모니터링 | VPC Flow Logs 및 CloudWatch 모니터링 활성화 |
IAM 보안
| 항목 | 권장 사항 |
|---|---|
| 최소 권한 | 사용자가 작업을 수행하는 데 필요한 권한만 부여 |
| MFA | 모든 사용자에 대해 다단계 인증 활성화 |
| 자격 증명 교체 | 액세스 키 및 비밀번호 정기적 교체 |
| 접근 검토 | IAM 권한 주기적으로 검토 및 감사 |
| CloudTrail | 모든 API 활동 로깅을 위해 CloudTrail 활성화 확인 |
6. 3.2 autobotAI로 자동화된 교정 구현
이 봇은 autobotAI의 에이전틱 기능을 활용해 RDS와 EC2 보안 사고 전반에서 Amazon GuardDuty 발견의 분석, 의사결정, 교정을 자동화합니다. Bedrock 파운데이션 모델의 AI 기반 인텔리전스와 AWS 네이티브 도구를 결합해 실제 위협을 식별하고, 공격자 IP를 검증하고, 완화 액션을 실행하며, 자동화된 인시던트 대응을 수행합니다.
다루는 발견 유형
Recon:IAMUser/MaliciousIPCaller.Custom — IAM 사용자가 알려진 악성 IP에서 API 호출CredentialAccess:RDS/TorIPCaller.FailedLogin — Tor 출구 노드가 RDS 데이터베이스에 로그인 실패 시도Discovery:RDS/TorIPCaller — Tor 출구 노드가 RDS에 정찰 수행
UnauthorizedAccess:EC2/SSHBruteForce — EC2에 SSH 브루트포스 공격Backdoor:EC2/C&CActivity.B!DNS — EC2 인스턴스가 Tor 네트워크와 통신UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS — AWS 외부에서 IAM 자격 증명 사용
봇 가져오기 및 실행
Step 1. 라이브러리에서 봇 가져오기
- autobotAI 라이브러리를 방문합니다.
- "agentic"으로 검색합니다.
- "Agentic Remediation for GuardDuty Findings" 봇을 선택하고 Import를 클릭합니다.
Step 2. "AI Agent" 노드 설정
워크플로 캔버스에서 AI Agent 노드를 클릭하고 다음과 같이 설정합니다.
| 항목 | 설정 값 |
|---|---|
| Integration Type | Amazon Bedrock |
| Integration Account | Module 1에서 추가한 Amazon Bedrock 통합 선택 |
| AI 모델 | global.anthropic.claude-sonnet-4-5-20250929-v1:0 |
Step 3. "AI Notification" 노드 설정
- 워크플로 캔버스에서 AI Notification 노드를 클릭합니다.
- 다음과 같이 설정합니다:
- Recipients: 필드 우측 상단에서 Events를 선택한 후, SES에서 인증한 이메일 주소를 직접 입력하고 Enter
- Service: AWS SES
- Connection: Module 1에서 생성한 Amazon SES 통합 선택
Step 4. 봇 저장 및 실행
- Save를 클릭해 모든 설정 변경사항을 저장합니다.
- Run을 클릭해 RDS + EC2 통합 대응 봇을 실행합니다.
- 실행이 완료되면 RDS 교정 세부 정보와 EC2 격리 및 인시던트 대응 요약이 포함된 알림을 Amazon SES로 수신합니다.
7. AI 에이전트 작동 방식
autobotAI 에이전트는 6단계의 정교한 의사결정 워크플로를 따릅니다.
[Step 1: 발견 분석]
GuardDuty Findings 노드에서 발견 수신
발견 유형, 심각도, 영향받은 리소스 파싱
주요 지표 추출 (IP 주소, 인스턴스 ID, IAM 역할)
│
▼
[Step 2: 위협 검증]
AbuseIPDB 통합으로 의심 IP 주소 검증
IP 평판 점수 및 악용 신뢰도 확인
실제 위협인지 오탐인지 판단
│
▼
[Step 3: 컨텍스트 평가]
영향받은 리소스 구성 분석
보안 그룹 규칙 및 네트워크 접근 패턴 검토
IAM 권한 및 자격 증명 사용 현황 평가
│
▼
[Step 4: 대응 결정]
다음 요소를 기반으로 적절한 완화 액션 결정:
- 발견 심각도 수준
- 위협 검증 결과
- 리소스 중요도
- 조직 보안 정책
단계적 대응 선택: 차단 / 격리 / 자격 증명 교체
│
▼
[Step 5: 액션 실행]
AWS API를 통해 교정 액션 실행
보안 그룹 수정으로 악성 IP 차단
침해된 인스턴스 격리
자격 증명 교체
포렌식 증거 수집
│
▼
[Step 6: 알림 및 보고]
상세 인시던트 요약 생성
Amazon SES로 알림 발송
실행 가능한 인사이트 및 권장 사항 제공
모든 액션의 감사 추적 유지
8. 발견 유형별 교정 액션
RDS 관련 발견 교정
| 단계 | AI 에이전트 액션 |
|---|---|
| IP 검증 | AbuseIPDB로 IP 주소 검증 |
| 악성 확인 시 (신뢰도 > 75%) | 영향받은 사용자/역할의 IAM 권한 축소 (Scope Reduction). 가능한 경우 네트워크 레벨에서 IP 차단. 상세 위협 인텔리전스 보고서 생성 |
| 알림 | 검증 결과 및 취해진 액션이 포함된 알림 발송 |
| 단계 | AI 에이전트 액션 |
|---|---|
| 설정 검토 | RDS 인스턴스 보안 그룹 구성 조회 |
| 과도한 권한 탐지 | 0.0.0.0/0 접근 규칙 식별 |
| 교정 | 알려진 정상 IP만 허용하도록 보안 그룹 수정. 최소 권한 네트워크 접근 구현. 감사 로그에 변경사항 기록 |
| 알림 | 보안 그룹 수정 내용이 포함된 알림 발송 |
EC2 관련 발견 교정
| 단계 | AI 에이전트 액션 |
|---|---|
| IP 검증 | AbuseIPDB로 공격 IP 검증 |
| 악성 확인 시 | 공격 IP를 차단하는 보안 그룹 규칙 생성 또는 업데이트. 영향받은 인스턴스에 차단 규칙 적용. 포렌식 분석을 위한 VPC Flow Logs 수집 |
| 다중 IP 공격 시 | 인스턴스 격리 고려. 추가 강화 조치 권고 |
| 알림 | 공격 세부 정보 및 완화 상태가 포함된 알림 발송 |
| 단계 | AI 에이전트 액션 |
|---|---|
| 즉각 격리 | AWS 서비스 외 모든 아웃바운드 트래픽을 차단하도록 보안 그룹 수정. 포렌식 분석을 위한 인스턴스 상태 보존 |
| 포렌식 수집 | 인스턴스 볼륨의 EBS 스냅샷 생성. VPC Flow Logs 수집. 네트워크 연결 기록 |
| 알림 | Tor 연결 세부 정보, 격리 상태, 포렌식 증거 위치, 권장 다음 단계가 포함된 높은 우선순위 알림 발송 |
| 단계 | AI 에이전트 액션 |
|---|---|
| 즉각 자격 증명 교체 | 침해된 IAM 역할 식별. 자격 증명 교체 프로세스 시작. 기존 임시 자격 증명 무효화 |
| 인스턴스 격리 | 외부 추가 접근을 방지하도록 보안 그룹 수정. 의심 IP로의 아웃바운드 연결 차단 |
| 포렌식 수집 | 인스턴스 메타데이터 접근 로그 캡처. 도난된 자격 증명으로 이루어진 API 호출 기록. 잠재적으로 접근된 리소스 식별 |
| 알림 | 자격 증명 도난 타임라인, 도난 자격 증명으로 취해진 액션 목록, 교정 상태, 보안 개선 권고사항이 포함된 종합 알림 발송 |
교정 검증
봇 실행 후 교정 액션을 다음과 같이 검증합니다.
| 검증 항목 | 방법 |
|---|---|
| GuardDuty 발견 확인 | GuardDuty 콘솔에서 유사한 발견이 중단됐는지 확인. 발견 상태 검토 (archived 또는 resolved) |
| 보안 그룹 변경 확인 | EC2 → Security Groups에서 차단 규칙 적용 여부 및 악성 IP 차단 확인 |
| IAM 변경 확인 | IAM 콘솔에서 영향받은 역할의 자격 증명 교체 및 권한 축소 정책 확인 |
| 알림 검토 | 이메일에서 상세 인시던트 보고서 확인. AI 에이전트 의사결정 프로세스 검토. 모든 액션 완료 여부 확인 |
에이전틱 자동화의 이점
| 이점 | 설명 |
|---|---|
| 속도 및 효율성 | 인시던트 대응 시간을 수 시간에서 수 분으로 단축. 24×7 무중단 모니터링 및 대응 |
| 일관성 | 모든 발견에 보안 정책을 균일하게 적용. 인적 오류 제거 |
| 인텔리전스 및 정확성 | 외부 인텔리전스로 오탐 감소. 전체 위협 컨텍스트 기반 의사결정. 패턴 학습으로 대응 개선 |
| 포괄적 보호 | RDS, EC2, IAM 전반의 다층 방어. 심각도 기반 단계적 대응. 조사를 위한 포렌식 데이터 보존 |
| 운영 우수성 | 모든 액션의 완전한 감사 추적. 보안 정책의 일관된 적용. 보안팀이 전략적 이니셔티브에 집중 가능 |
9. Module 3 완료 기준
| 완료 항목 | 확인 |
|---|---|
| GuardDuty 콘솔에서 발견 검토 완료 | us-west-2에서 Findings 페이지 접근 |
| RDS, EC2, IAM 발견 유형 이해 | 각 발견 유형의 의미 파악 |
| GuardDuty 교정 봇 가져오기 및 설정 완료 | AI Agent + SES 알림 노드 구성 |
| 자동 교정 워크플로 실행 | 봇 Run 실행 및 완료 확인 |
| 교정 요약 알림 수신 | SES 이메일로 인시던트 보고서 수신 |
| 보안 그룹 수정 적용 확인 | EC2 콘솔에서 차단 규칙 확인 |
주요 문제 해결
| 문제 | 해결 방법 |
|---|---|
| GuardDuty에 발견이 없음 | 워크샵 시작 후 15–30분 대기. us-west-2 리전 확인. GuardDuty 활성화 상태 확인. Findings 필터에서 "Current" 선택 |
| 발견이 "Archived"로 표시됨 | Findings 필터에서 Current 클릭으로 활성 발견만 표시 |
| 봇이 라이브러리에서 검색되지 않음 | "agentic guardduty" 또는 "GuardDuty Remediation"으로 검색 |
| AI 모델 드롭다운에 Claude가 없음 | Amazon Bedrock 통합이 Active 상태인지, Bedrock 콘솔에서 Claude 모델 접근 권한 활성화 여부 확인 |
| 교정 알림이 수신되지 않음 | 스팸 폴더 확인. SES 이메일 자격 증명 인증 상태 확인. AI Notification 노드 설정 확인 |
| 봇 실행 시간이 너무 길다 | 정상입니다 — RDS + EC2 통합 봇은 10–15분 소요됩니다. 실행 로그에서 진행 상황을 모니터링하세요 |
다음 단계
Module 3에서 Amazon GuardDuty의 위협 탐지와 autobotAI의 자동 교정을 연동해 RDS, EC2, IAM에 걸친 보안 위협에 AI가 자율적으로 대응하는 환경을 구성했습니다.
다음 편에서는 Module 4: Security Hub 에이전틱 자동 교정과 Module 5: Amazon Inspector와 autobotAI를 이용한 코드 저장소 취약점 관리를 다룹니다. Security Hub 컴플라이언스 결과를 자동으로 교정하고, Inspector가 탐지한 코드 취약점을 AI가 자동으로 수정하는 방법을 살펴봅니다.
