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ời | Dùng khi |
|---|---|---|
| CloudWatch | Hệ thống đang chạy thế nào? | Monitor CPU, memory, set alarm |
| CloudTrail | Ai làm gì, lúc nào? | Audit API call, điều tra sự cố |
| AWS Config | Cấ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 Group | NACL | |
|---|---|---|
| Áp dụng cho | EC2 instance (ENI) | Subnet |
| Stateful/Stateless | Stateful | Stateless |
| Deny rõ ràng | Không | Có |
| Mặc định | Deny all inbound | Allow 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 |
|---|---|
| GuardDuty | Phát hiện threat bằng ML (phân tích VPC Flow Log, CloudTrail, DNS) |
| WAF | Chặn HTTP attack: SQLi, XSS, bot |
| Shield Standard | Free, tự động chống DDoS L3/L4 |
| Shield Advanced | Trả phí, thêm DDoS L7, 24/7 DRT support |
| Inspector | Scan lỗ hổng bảo mật trên EC2, container |
| Security Hub | Tổng hợp findings từ nhiều dịch vụ vào 1 chỗ |
| Artifact | Tải báo cáo compliance (SOC, PCI, ISO) |
| Macie | Phá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:
- Phải bật Versioning trước
- Chỉ Root User mới có quyền bật/tắt MFA Delete
- 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ụ.