AWS CLF-02 | Day 2 — Bảo mật & Tuân thủ


1. Shared Responsibility Model

Nguyên tắc cốt lõi: AWS bảo mật phần cứng và hạ tầng, khách hàng bảo mật những gì họ đặt lên đó.

Mở rộng quan trọng:

  • EC2 → khách hàng tự vá OS, cấu hình firewall, quản lý runtime. AWS chỉ đảm bảo hypervisor hoạt động.
  • RDS → AWS vá database engine, khách hàng chỉ lo dữ liệu và IAM access.
  • Lambda → AWS quản lý gần hết (OS, runtime patch), khách hàng chỉ lo code và IAM.

Quy tắc nhớ: Dịch vụ càng “managed” → trách nhiệm khách hàng càng thu hẹp về tầng dữ liệu và IAM.


2. Bảo vệ Dữ liệu

Data in transit → dùng TLS/SSL. Ai kích hoạt? Thường là ứng dụng phía khách hàng.

Data at rest → dùng AES-256. AWS cung cấp KMS (Key Management Service) để quản lý key.

Điểm hay bị nhầm: AWS cung cấp công cụ mã hóa, nhưng khách hàng quyết định có bật hay không → nếu không bật là lỗi khách hàng, không phải AWS.


3. Logging & Monitoring — Phân biệt 3 dịch vụ

Dịch vụCâu hỏi nó trả lờiDùng khi
CloudWatchHệ thống đang chạy thế nào?Monitor CPU, memory, set alarm
CloudTrailAi làm gì, lúc nào?Audit API call, điều tra sự cố
AWS ConfigCấu hình tài nguyên có đúng không?Kiểm tra compliance, lịch sử thay đổi config

Ví dụ phân biệt: EC2 bị xóa → CloudTrail cho biết ai xóa. CPU tăng đột biến → CloudWatch phát hiện. Security group bị mở port 22 → AWS Config phát hiện sai cấu hình.


4. IAM — Quản lý Danh tính

Root User — chỉ dùng cho:

  • Thay đổi cài đặt billing
  • Đóng tài khoản AWS
  • Khôi phục quyền IAM bị khóa

→ Mọi việc còn lại: tạo IAM Admin rồi dùng.

Cấu trúc IAM:

User → thuộc → Group → gắn → Policy
Role → gắn → Policy (cấp cho service/app, không phải người)

Điểm quan trọng về Role: Role cấp temporary credentials (STS token), không phải password cố định. EC2 muốn đọc S3 → gắn IAM Role vào EC2, không nhúng access key trong code.

Least Privilege — cấp đúng đủ quyền, không cấp thừa. Đây là nguyên tắc thiết kế, không phải tính năng.


5. Security Group vs NACL

Security GroupNACL
Áp dụng choEC2 instance (ENI)Subnet
Stateful/StatelessStatefulStateless
Deny rõ ràngKhông
Mặc địnhDeny all inboundAllow all

Stateful vs Stateless — hiểu đúng:

  • SG stateful: cho phép request vào → response tự động được ra, không cần rule riêng.
  • NACL stateless: phải tạo rule cho cả inbound lẫn outbound riêng biệt, không thì response bị chặn.

Thực tế triển khai: Dùng cả hai theo mô hình defense-in-depth — NACL chặn ở tầng subnet, SG chặn ở tầng instance.


6. Các dịch vụ bảo mật — Nhớ đúng chức năng

Dịch vụChức năng chính
GuardDutyPhát hiện threat bằng ML (phân tích VPC Flow Log, CloudTrail, DNS)
WAFChặn HTTP attack: SQLi, XSS, bot
Shield StandardFree, tự động chống DDoS L3/L4
Shield AdvancedTrả phí, thêm DDoS L7, 24/7 DRT support
InspectorScan lỗ hổng bảo mật trên EC2, container
Security HubTổng hợp findings từ nhiều dịch vụ vào 1 chỗ
ArtifactTải báo cáo compliance (SOC, PCI, ISO)
MaciePhát hiện dữ liệu nhạy cảm (PII) trong S3

Mở rộng Macie — hay bị bỏ sót trong tài liệu: dùng ML để phát hiện credit card, passport, email bị lộ trong S3 bucket.


7. S3 MFA Delete — Chi tiết cần nhớ

Điều kiện bắt buộc để bật:

  1. Phải bật Versioning trước
  2. Chỉ Root User mới có quyền bật/tắt MFA Delete
  3. Sau khi bật, mọi thao tác xóa permanent version đều cần MFA

Tóm tắt các “bẫy” hay ra thi CLF-02

  • GuardDuty ≠ WAF. GuardDuty phát hiện, WAF chặn.
  • CloudTrail ≠ CloudWatch. Trail = audit log, Watch = metrics.
  • Root User không nên dùng hàng ngày, nhưng một số tác vụ bắt buộc phải dùng Root.
  • NACL stateless → phải có outbound rule tường minh.
  • Mã hóa là trách nhiệm khách hàng kích hoạt, AWS chỉ cung cấp công cụ.