클라우드 시큐리티 7기 2주차 AWS 아키텍처와 보안 이론☁️
안녕하세요, Twodragon입니다.
7기 2주차 강의를 시작하며, 클라우드 보안의 기초와 심화 주제를 다루는 커리큘럼을 아래와 같이 소개드립니다.
이번 강의는 Gather Town에서 진행되며, 20분 강의 + 5분 휴식으로 집중도를 높였습니다.
✅ 강의 일정
시간 | 내용 |
10:00 | 근황 토크 & 과제 피드백 |
10:25 | AWS 기초 및 아키텍처 |
11:00 | AWS 보안 심화 |
11:40 | 실습: EC2 & 보안 구성 |
📣 최신 보안 이슈 & 현장 대응
- 🏦 금융보안원 클라우드 보안 기준 (2024) 「금융분야 상용 클라우드서비스 보안 관리 참고서」
- 국내외 주요 CSP와 협업하여 5개 영역·32개 기준 제공.
- 계정·암호키·로깅·네트워크 등 전반적인 관리 기준 명시.
- 보안 체크리스트 기반으로 현업 클라우드 인프라 점검 시 유용.
🔐 AWS 기초 서비스, 이렇게 이해하자
🌐 VPC (Virtual Private Cloud)
VPC는 AWS에서의 네트워크 보안의 시작점입니다. 온프레미스에서의 VLAN이나 방화벽 영역과 같은 개념을 가상화한 형태로, 사용자가 AWS 리소스를 배치할 고유한 네트워크 공간을 정의합니다.
- CIDR 블록 설정을 통해 IP 주소 범위를 정의
- 퍼블릭/프라이빗 서브넷 구성 가능 (퍼블릭은 IGW를 통해 외부 통신 허용)
- 라우팅 테이블, 보안 그룹(SG), 네트워크 ACL(NACL) 등으로 네트워크 트래픽을 제어
- VPC Peering, Transit Gateway로 VPC 간 안전한 통신 가능
- VPC Endpoint를 통해 AWS 서비스에 대한 프라이빗 통신 경로 구성 가능
🔍 보안 설계 포인트:
- 다중 가용영역(AZ)에 자원을 분산하여 가용성과 내결함성 확보
- MSR(More Specific Routing)을 통해 트래픽을 보안 존으로 강제 우회 설정
🛡 IAM (Identity & Access Management)
IAM은 AWS 리소스에 대한 '누가', '무엇을', '어디까지' 할 수 있는지를 제어하는 권한 관리 시스템입니다. 보안의 핵심이자 실수로 인한 권한 오남용을 막기 위한 도구이기도 합니다.
- 정책 기반 접근 제어 (정책은 JSON으로 구성)
예: s3:GetObject, ec2:StartInstances 등의 작업 단위 제어 - 사용자(User), 그룹(Group), 역할(Role) 기반 구조
- IAM 역할(Role)을 통해 EC2, Lambda 등 서비스에 권한 위임
- SCP(Service Control Policy)로 조직 단위(OU)에 상위 제약 조건 설정
- IAM 평가 로직: 명시적 Deny > Allow > 기본 Deny
💡 실전 예시:
- EC2에 역할 연결 → S3 버킷 접근
- MFA, 액세스 키 회전 주기 설정, 조건부 정책(예: IP, 시간 조건) 적용
⚙ EC2 & SSM Session Manager
EC2(Elastic Compute Cloud)는 AWS에서 제공하는 가상 서버 서비스입니다. 보안과 운영 효율성을 위해 IAM과 함께 사용해야 효과적입니다.
- EC2 인스턴스 타입, AMI, 스토리지, 네트워크 등을 선택하여 배포
- SSM(Session Manager)를 사용하면 SSH 키 없이 웹 기반으로 안전하게 인스턴스 접근 가능
- IAM 역할과 연결되어 있어 접근 통제와 감사가 가능
🔧 실습 포인트:
- EC2 인스턴스에 Nginx 설치 후 웹서버 구동
- AMI로 현재 상태를 저장해 인프라 복제 가능
- CloudWatch Logs와 연동하여 SSM 세션 로그 남기기
🚫 보안 권장 사항:
- 퍼블릭 IP가 있는 EC2는 보안 그룹 및 NACL 필터링 강화
- SSM 활성화를 통해 SSH Key 유출 위험 제거
📦 Amazon S3 (Simple Storage Service)
S3는 AWS에서 가장 널리 사용되는 객체 스토리지 서비스입니다. 파일 저장소로만 쓰이는 게 아니라, 정적 웹 호스팅, 백업, 로그 저장, 머신러닝 학습 데이터 저장 등 광범위하게 활용됩니다. 하지만 그만큼 보안 사고에 가장 자주 노출되기도 하는 서비스이므로, 체계적인 보호 조치가 필요합니다.
✅ 권한 관리의 원칙: 최소 권한 & 명시적 제어
- 기본적으로 S3 버킷은 비공개(Private) 상태에서 시작됩니다.
- Bucket Policy와 IAM 정책을 통해 권한을 부여하거나 거부합니다.
- 실수 방지를 위해 Anonymous 접근 차단, Principal 제한 조건 적용 필요.
🔒 Block Public Access 설정
- AWS는 S3에 대해 4단계의 퍼블릭 접근 차단 정책을 제공합니다.
- 기존 정책 차단 vs 신규 정책 차단을 구분할 수 있어 유연한 설정 가능.
- 퍼블릭이 필요한 경우엔 전용 계정이나 별도 버킷을 구성해야 합니다.
❗ 과도한 권한 부여 예시: "Principal": "*", "Action": "s3:*"
이를 방지하기 위해 SCP나 IAM 조건을 통해 제약을 강제할 수 있습니다.
🔐 암호화 전략: At-Rest & In-Transit
- S3는 3가지 암호화 방식을 지원합니다.
- SSE-S3: AWS가 관리하는 키
- SSE-KMS: 고객이 관리하는 KMS 키 (추천)
- SSE-C: 고객이 직접 제공하는 키
- TLS를 통한 전송 중 암호화 필수. SecureTransport 조건을 정책에 추가하여 미암호화 요청 차단 가능.
💡 S3 버킷 키를 활성화하면 KMS 호출 수를 줄여 비용을 절감할 수 있음.
🔁 오브젝트 버전 관리 & 보호
- 버전 관리를 통해 오브젝트 변경/삭제에 대한 롤백 가능.
- MFA Delete, Object Lock, S3 Replication 등을 활용해 실수나 악의적 삭제 방지.
- Glacier와의 연동으로 장기 보관 아카이빙도 가능.
🧩 AWS 보안 실전 요소
🛡 GuardDuty: 지능형 위협 탐지의 시작
Amazon GuardDuty는 AWS에서 제공하는 완전관리형 지능형 위협 탐지 서비스입니다.
CloudTrail, VPC Flow Logs, DNS Logs를 분석해 이상 행위 및 공격 징후를 자동 탐지합니다.
✔ GuardDuty의 주요 기능
- 무단 접근 탐지: 의심스러운 API 호출, 해외 로그인 시도, 비정상 EC2 접근 등을 자동 식별
- 내부 위협 감지: 허용되지 않은 권한 변경, S3 데이터 접근 탐지 등 내부 사용자의 이상 행위 분석
- 외부 공격 탐지: 봇넷, 포트 스캐닝, 익스플로잇 탐지 등 외부 공격 기반의 지표 식별
- Amazon Detective, Security Hub 연계 가능: 보안 이슈에 대한 근본 원인 분석과 중앙 관리 지원
✔ 로그와의 통합 분석
- GuardDuty는 단독으로도 유용하지만, CloudTrail, VPC Flow Logs, AWS WAF, DNS Logs 등과 연계 시 더 깊은 위협 인사이트 제공
- AWS Security Lake와 연계하면 OCSF 표준 스키마로 통합 데이터 관리 가능
✅ 실습 시나리오로 GuardDuty 활성화 → IAM 권한 탐지 → S3 접근 탐지 흐름을 연습해 보세요.
🏰 Control Tower + AWS SSO: 계정 통합 관리
AWS Control Tower는 여러 AWS 계정과 조직 단위를 중앙에서 관리할 수 있는 서비스입니다.
AWS SSO와 결합하면 사용자 인증과 리소스 접근을 보다 안전하고 일관되게 관리할 수 있습니다.
✔ Control Tower 특징
- 조직(Organization) 기반의 계정 생성, 거버넌스 적용, 정책 배포 가능
- Landing Zone 기반 환경 자동 구축 (보안, 로깅, 계정구조 포함)
- SCP(서비스 제어 정책)를 통한 OU 기반 권한 제한 가능
✔ AWS SSO + CLI Plugin
- AWS SSO를 사용하면 하나의 계정으로 여러 AWS 계정 및 역할 전환 가능
- CLI Plugin을 활용하면 개발자와 보안 운영자가 터미널 기반으로도 MFA 인증된 접근이 가능
- ~/.aws/config에 sso_start_url, sso_region, sso_account_id, sso_role_name 등을 설정하여 간단히 적용 가능
ohmyzsh/plugins/aws at master · ohmyzsh/ohmyzsh
🙃 A delightful community-driven (with 2,400+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, pyth...
github.com
💡 Tip: 협업 도구 자동화로 DevSecOps에 속도 붙이기
- Jira + Slack 연동: 알림 자동화로 실시간 협업
- Notion + Zapier: 반복 작업 자동화로 실수 줄이기
- DevOps 팀 내에서도 보안과 커뮤니케이션의 연결 고리로 필수
지라(JIRA)와 슬랙(Slack) 연동하기 - JIRA Cloud 사용
지난 포스팅에서 "지라 자동화(JIRA Automation)"에 대해서 간단하게(?) 살펴보았는데요. 이번 포스팅에서는 슬랙(Slack)의 앱 중에 JIRA Cloud를 설치하여 지라(JIRA)와 슬랙(Slack)을 연동하는 기능을 소개
hanminwoo.com
🔚 마무리
클라우드 보안은 이해와 반복된 실습이 핵심입니다.
이번 주에는 보안 아키텍처 구성과 위협 대응 기법을 실전 환경에서 경험해보며,
다음 주부터는 더욱 깊은 자동화, 침해 대응, 정책 설계로 확장될 예정입니다.
☁️ 보안은 선택이 아닌 전제입니다.
학습한 내용을 실무에 곧바로 적용할 수 있도록,
질문과 토론은 언제나 환영입니다!