Bảo mật và mã hoá
Mã hoá với KMS / CloudHSM, quản lý bí mật, chứng chỉ, bảo vệ web (WAF, Shield), phát hiện mối đe doạ và tuân thủ.
- DomainThiết kế bảo mật
- 9 sơ đồ
- 10 tình huống
- 15 dịch vụ
5 phút phải nhớ
- KMS quản lý khoá mã hoá; dịch vụ AWS (S3, EBS, RDS…) dùng KMS theo kiểu envelope: khoá KMS mã hoá data key, data key mã hoá dữ liệu.Encrypt trực tiếp của KMS chỉ nhận tối đa 4 KB; dữ liệu lớn dùng GenerateDataKey rồi mã hoá tại chỗ.
- Ba loại khoá KMS: customer managed (bạn quản lý policy, xoay vòng, xoá), AWS managed (aws/s3, aws/ebs… do dịch vụ tạo), AWS owned (AWS dùng nội bộ, bạn không thấy).Cần kiểm soát key policy, chia sẻ khác tài khoản, tự xoay vòng / vô hiệu hoá: phải là customer managed key.
- Key policy là cửa chính của khoá KMS: không có câu nào trong key policy cho phép thì IAM policy cũng không đủ.Lỗi AccessDenied khi giải mã từ tài khoản khác: kiểm tra key policy của khoá trước.
- Xoay vòng tự động customer managed key mặc định mỗi năm, chọn được chu kỳ; khoá cũ vẫn giữ để giải mã dữ liệu cũ, ID khoá không đổi.Không cần mã hoá lại dữ liệu khi xoay vòng; ứng dụng không phải sửa.
- Xoá khoá KMS phải chờ 7–30 ngày (mặc định 30); xoá xong thì dữ liệu mã hoá bằng nó mất vĩnh viễn.Muốn ngừng dùng mà vẫn khôi phục được: disable khoá, đừng xoá.
- CloudHSM: HSM riêng một khách (single-tenant) trong VPC của bạn, bạn tự quản lý user và khoá; AWS không xem được khoá.Đề đòi "toàn quyền kiểm soát khoá, FIPS 140 mức 3, AWS không truy cập được" → CloudHSM (hoặc custom key store của KMS dựa trên CloudHSM).
- Secrets Manager lưu bí mật và tự xoay vòng (managed rotation hoặc Lambda), tính phí theo bí mật; Parameter Store lưu cấu hình (SecureString cho bí mật), bậc standard không tốn thêm phí."Tự động đổi mật khẩu database định kỳ" → Secrets Manager. Chỉ cần chỗ lưu cấu hình rẻ → Parameter Store.
- ACM cấp chứng chỉ TLS công khai miễn phí và tự gia hạn cho ALB, CloudFront, API Gateway; không xuất được private key của chứng chỉ công khai.Chứng chỉ cho CloudFront phải nằm ở us-east-1; cho ALB thì cùng Region với ALB.
- WAF lọc HTTP(S) ở tầng 7 (SQL injection, XSS, rate limit, chặn IP / quốc gia, bot) trên CloudFront, ALB, API Gateway…Chặn tấn công ứng dụng web: WAF. Security Group / NACL không hiểu nội dung HTTP.
- Shield Standard miễn phí, tự bảo vệ tầng 3/4; Shield Advanced trả phí hằng tháng, cam kết 1 năm, có đội ứng cứu DDoS và bảo vệ chi phí khi bị tấn công.Đề nhắc "đội ứng cứu DDoS 24/7" hoặc "hoàn tiền chi phí co giãn do DDoS" → Shield Advanced.
- GuardDuty phát hiện mối đe doạ từ CloudTrail, VPC Flow Logs, DNS log (tự lấy, không cần bật log riêng); Inspector quét lỗ hổng EC2, ECR, Lambda; Macie tìm dữ liệu nhạy cảm trong S3.Ba dịch vụ hay bị đánh tráo: đe doạ / truy cập lạ → GuardDuty; CVE phần mềm → Inspector; PII trong S3 → Macie.
- Security Hub gom finding từ nhiều dịch vụ và kiểm tra theo chuẩn (CIS, AWS best practices); Detective điều tra nguyên nhân bằng đồ thị."Một nơi xem tổng thể tình trạng bảo mật nhiều tài khoản" → Security Hub.
- Config ghi lại cấu hình tài nguyên theo thời gian và kiểm tra tuân thủ bằng rule, có thể tự sửa; CloudTrail ghi ai gọi API gì, lúc nào."Ai đã xoá security group?" → CloudTrail. "Bucket nào đang không mã hoá, và tự sửa" → Config rule + remediation.
- Mã hoá khi truyền: TLS (ACM); mã hoá khi lưu: KMS gần như ở mọi dịch vụ lưu trữ, thường bật bằng một tuỳ chọn.Snapshot / bản sao của tài nguyên đã mã hoá cũng mã hoá; muốn mã hoá tài nguyên cũ thì tạo bản sao mã hoá rồi chuyển sang.
Sơ đồ
Envelope encryption với KMS
S3 mã hoá bằng SSE-KMS
Từng bước
- S3 dùng khoá KMS để mã hoá / giải mã từng đối tượng.
- Mỗi lần dùng khoá được ghi vào CloudTrail để kiểm toán.
- Tài khoản khác đọc được đối tượng chỉ khi bucket policy và key policy đều cho phép.
Lớp bảo vệ ở edge: Shield, WAF, CloudFront
Từng bước
- Shield (Standard miễn phí, Advanced trả phí) hấp thụ DDoS tầng mạng ở edge.
- WAF chặn SQLi, XSS, bot, IP quá nhiều request.
- Chỉ traffic hợp lệ tới origin; có thể khoá ALB chỉ nhận từ CloudFront.
Secrets Manager tự xoay vòng mật khẩu database
Phát hiện và tự phản ứng
Từng bước
- Mỗi dịch vụ phát hiện một loại vấn đề, đẩy finding về Security Hub.
- EventBridge rule bắt finding theo mức độ: chạy Lambda xử lý và gửi thông báo.
Organization trail vào tài khoản log riêng
Từng bước
- Trail của tổ chức ghi mọi lệnh gọi API của các tài khoản thành viên vào bucket ở tài khoản log.
- Gửi thêm sang CloudWatch Logs để đặt cảnh báo (đăng nhập root, đổi security group…).
Chứng chỉ ACM: CloudFront dùng us-east-1
Từng bước
- Viewer → CloudFront: chứng chỉ phải ở us-east-1.
- CloudFront → ALB: chứng chỉ ở cùng Region với ALB.
KMS và CloudHSM
Từng bước
- KMS: gọi API, quyền bằng IAM và key policy; dùng cho hầu hết trường hợp.
- CloudHSM: ứng dụng nói chuyện trực tiếp với HSM của bạn; cụm nhiều AZ để không mất khoá.
Session Manager thay bastion
Từng bước
- Quản trị viên mở phiên từ console / CLI, quyền kiểm soát bằng IAM.
- SSM Agent trên máy chủ động kết nối ra Systems Manager (qua NAT hoặc VPC endpoint); không cần cổng vào.
- Nội dung phiên ghi vào CloudWatch Logs / S3.
So sánh nhanh
Mã hoá S3
| Cách | Ai giữ khoá | Ghi chú |
|---|---|---|
| SSE-S3 | S3 quản lý hoàn toàn | Mặc định cho đối tượng mới |
| SSE-KMS | Khoá KMS (AWS managed hoặc customer managed) | Có log CloudTrail mỗi lần dùng khoá, kiểm soát bằng key policy; dùng S3 Bucket Key để giảm số lần gọi KMS |
| DSSE-KMS | KMS, mã hoá hai lớp | Yêu cầu tuân thủ đòi hai lớp mã hoá |
| SSE-C | Bạn gửi khoá kèm mỗi request | AWS không lưu khoá; mất khoá là mất dữ liệu |
| Mã hoá phía client | Bạn | Dữ liệu đã mã hoá trước khi tới S3 |
KMS và CloudHSM
| KMS | CloudHSM | |
|---|---|---|
| Mô hình | Dịch vụ managed, nhiều khách | HSM riêng một khách trong VPC của bạn |
| Ai quản lý user / khoá | IAM + key policy | Bạn tự quản lý user trên HSM |
| Tích hợp dịch vụ AWS | Gần như mọi dịch vụ | Qua custom key store của KMS, hoặc ứng dụng gọi PKCS#11 / JCE |
| Dùng khi | Mặc định | Yêu cầu toàn quyền kiểm soát, FIPS 140 mức 3, SSL offload, PKI riêng |
Lưu bí mật và cấu hình
| Secrets Manager | Parameter Store | |
|---|---|---|
| Tự xoay vòng | Có (managed rotation hoặc Lambda) | Không sẵn (tự viết) |
| Chi phí | Theo số bí mật và số lần gọi API | Standard: không thêm phí; Advanced: có phí |
| Kích thước | Bí mật lớn hơn (JSON nhiều trường) | Standard 4 KB, Advanced 8 KB |
| Dùng cho | Mật khẩu database, API key cần đổi định kỳ | Cấu hình, cờ tính năng, bí mật ít đổi |
Dịch vụ phát hiện và tuân thủ
| Dịch vụ | Làm gì | Câu hỏi đề |
|---|---|---|
| GuardDuty | Phát hiện đe doạ bằng ML và threat intel | Đào coin trái phép, khoá bị lộ, truy cập từ IP xấu |
| Inspector | Quét lỗ hổng phần mềm, mạng | CVE trên EC2, image ECR, Lambda |
| Macie | Tìm dữ liệu nhạy cảm trong S3 | PII, số thẻ trong bucket |
| Security Hub | Gom finding, chấm theo chuẩn | Một bảng điều khiển bảo mật nhiều tài khoản |
| Detective | Điều tra nguyên nhân | Truy vết một finding của GuardDuty |
| Config | Lịch sử cấu hình, rule tuân thủ | Tài nguyên nào lệch chuẩn, tự sửa |
| CloudTrail | Nhật ký gọi API | Ai làm gì, lúc nào, từ đâu |
Bảo vệ tầng mạng và web
| Lớp | Dịch vụ | Chặn được |
|---|---|---|
| Tầng 3/4 (DDoS) | Shield Standard / Advanced | SYN flood, UDP reflection |
| Tầng 7 (HTTP) | WAF | SQLi, XSS, bot, rate limit, theo IP / quốc gia |
| Quản lý tập trung | Firewall Manager | Áp WAF / Shield / SG / Network Firewall cho cả tổ chức |
| Lọc gói trong VPC | Network Firewall | Lọc stateful, theo tên miền, IDS / IPS |
| Instance / subnet | Security Group / NACL | IP, cổng, giao thức |
Tình huống đề hay gặp
1Ứng dụng cần mã hoá file 50 MB bằng khoá KMS.
Xem đáp án
Đúng: GenerateDataKey, mã hoá file bằng data key ở phía ứng dụng, lưu data key đã mã hoá cùng file (envelope encryption)
Khoá KMS không rời KMS; dữ liệu lớn được mã hoá tại chỗ, nhanh và rẻ.
Sai: Gọi KMS Encrypt với toàn bộ file
Encrypt chỉ nhận tối đa 4 KB.
2Yêu cầu: AWS không được truy cập khoá, khoá nằm trong HSM chỉ của công ty, chứng nhận FIPS 140 mức 3.
Xem đáp án
Đúng: CloudHSM (có thể dùng qua custom key store của KMS)
HSM single-tenant trong VPC của bạn, bạn tự quản lý user và khoá.
Sai: KMS customer managed key
KMS là dịch vụ managed nhiều khách; không đáp ứng "HSM riêng, tự quản lý user".
3Mật khẩu RDS phải tự đổi mỗi 30 ngày, ứng dụng không phải sửa code mỗi lần đổi.
Xem đáp án
Đúng: Secrets Manager với rotation tự động; ứng dụng đọc bí mật lúc chạy
Secrets Manager đổi mật khẩu ở cả database lẫn bí mật.
Sai: Lưu trong biến môi trường của Lambda
Không tự xoay vòng, lộ trong cấu hình.
Sai: Parameter Store SecureString
Lưu được, nhưng không có xoay vòng tự động sẵn.
4Gắn chứng chỉ ACM cho distribution CloudFront nhưng không thấy chứng chỉ trong danh sách.
Xem đáp án
Đúng: Yêu cầu / import chứng chỉ ở us-east-1
CloudFront chỉ dùng chứng chỉ ACM ở us-east-1; ALB thì cần chứng chỉ ở cùng Region với ALB.
Sai: ACM không hỗ trợ CloudFront
Có hỗ trợ.
5Website bị tấn công SQL injection và một IP gửi hàng nghìn request mỗi phút.
Xem đáp án
Đúng: WAF trên CloudFront / ALB: managed rule chống SQLi + rate-based rule
WAF lọc ở tầng 7 theo nội dung request và tần suất.
Sai: Security Group chặn IP đó
SG không có deny, và không hiểu nội dung HTTP để chặn SQLi.
Sai: Shield Standard
Shield Standard chống DDoS tầng 3/4, không lọc SQLi.
6Công ty muốn đội ứng cứu DDoS của AWS hỗ trợ 24/7 và được bù chi phí co giãn do tấn công.
Xem đáp án
Đúng: Shield Advanced
Có Shield Response Team, bảo vệ chi phí, báo cáo chi tiết; trả phí hằng tháng, cam kết 1 năm.
Sai: Shield Standard
Miễn phí nhưng không có đội ứng cứu và bảo vệ chi phí.
7Cần phát hiện EC2 đang đào coin và access key bị dùng từ IP lạ, không muốn tự dựng hệ thống phân tích log.
Xem đáp án
Đúng: GuardDuty
Tự phân tích CloudTrail, VPC Flow Logs, DNS log; bật là chạy.
Sai: Inspector
Inspector quét lỗ hổng phần mềm, không phát hiện hành vi.
Sai: Macie
Macie tìm dữ liệu nhạy cảm trong S3.
8Tìm bucket chứa số thẻ tín dụng, CMND trong hàng nghìn bucket.
Xem đáp án
Đúng: Macie
Quét và phân loại dữ liệu nhạy cảm trong S3.
Sai: GuardDuty S3 Protection
Phát hiện hành vi đáng ngờ, không phân loại nội dung.
9Bucket nào bị tắt mã hoá hoặc mở public phải được tự động sửa và có lịch sử thay đổi.
Xem đáp án
Đúng: Config rule (s3-bucket-public-read-prohibited…) + remediation bằng SSM Automation
Config theo dõi cấu hình, đánh giá rule, tự chạy hành động sửa.
Sai: CloudTrail
Ghi ai gọi API, không đánh giá tuân thủ và không tự sửa.
10Quản trị viên cần vào shell của EC2 trong subnet private, không mở cổng 22, không bastion, có log phiên.
Xem đáp án
Đúng: Systems Manager Session Manager
Kết nối qua agent SSM, quyền bằng IAM, log phiên vào S3 / CloudWatch Logs.
Sai: Bastion host ở subnet public
Phải mở SSH, quản lý khoá, thêm máy cần vá.
Chọn nhanh
Bảo vệ cái gì bằng gì?
| Khi cần | Dùng |
|---|---|
| Mã hoá dữ liệu lớn bằng khoá do KMS quản lý | Envelope encryption (GenerateDataKey) · xem sơ đồ |
| Mã hoá S3 có log mỗi lần dùng khoá, chia sẻ khác tài khoản | SSE-KMS với customer managed key · xem sơ đồ |
| HSM riêng, AWS không truy cập khoá | CloudHSM · xem sơ đồ |
| Mật khẩu cần tự đổi định kỳ | Secrets Manager · xem sơ đồ |
| Chứng chỉ HTTPS cho CloudFront / ALB | ACM (CloudFront: us-east-1) · xem sơ đồ |
| SQLi, XSS, bot, rate limit | WAF · xem sơ đồ |
| DDoS lớn, cần đội ứng cứu | Shield Advanced · xem sơ đồ |
| Phát hiện hành vi đáng ngờ | GuardDuty → Security Hub → EventBridge · xem sơ đồ |
| Lưu nhật ký API của mọi tài khoản an toàn | Organization trail → S3 tài khoản log · xem sơ đồ |
| Vào EC2 không mở cổng SSH | Session Manager · xem sơ đồ |
Bẫy hay gặp
- Gọi KMS Encrypt cho dữ liệu lớn hơn 4 KB.
- Xoá khoá KMS khi chỉ muốn tạm ngừng: nên disable.
- Quên key policy khi chia sẻ khoá KMS cho tài khoản khác.
- Tưởng xoay vòng khoá KMS cần mã hoá lại toàn bộ dữ liệu.
- Tạo chứng chỉ ACM cho CloudFront ở Region khác us-east-1.
- Dùng Security Group / NACL để chặn SQL injection.
- Lẫn GuardDuty (đe doạ), Inspector (lỗ hổng), Macie (dữ liệu nhạy cảm).
- Lẫn CloudTrail (ai gọi API) với Config (cấu hình và tuân thủ).
- Lưu mật khẩu trong code hoặc biến môi trường thay vì Secrets Manager / Parameter Store.
- Chọn Parameter Store khi đề đòi tự xoay vòng mật khẩu.
- Mở cổng 22 cho bastion khi Session Manager làm được mà không cần mở cổng.
- Nghĩ Shield Standard phải bật hay trả phí: luôn bật sẵn, miễn phí.
Dịch vụ trong module
KMSquản lý khoá mã hoá
CloudHSMhsm phần cứng riêng
Secrets Managercất mật khẩu, API key
Systems Managerquản lý máy & cấu hình
ACMchứng chỉ HTTPS miễn phí
WAFtường lửa web
Shieldchống tấn công DDoS
Firewall Managerquản lý firewall tập trung
GuardDutyphát hiện mối đe doạ
Inspectorquét lỗ hổng tự động
Macietìm dữ liệu nhạy cảm trong S3
Security Hubtrung tâm tổng hợp bảo mật
Detectiveđiều tra sự cố bảo mật
Configghi nhận và đánh giá cấu hình
CloudTrailnhật ký ai gọi API gì
Số liệu dễ thay đổi (đã kiểm với tài liệu AWS)
- KMS Encrypt với khoá đối xứng nhận tối đa 4.096 byte dữ liệu; dữ liệu lớn hơn dùng GenerateDataKey. kiểm ngày 2026-10-16 ↗
- Xoay vòng tự động customer managed key mặc định 365 ngày (chọn được chu kỳ); AWS managed key luôn xoay vòng mỗi năm; key material cũ được giữ để giải mã. kiểm ngày 2026-10-16 ↗
- Xoá khoá KMS phải đặt thời gian chờ 7–30 ngày, mặc định 30 ngày; chỉ xoá được customer managed key. kiểm ngày 2026-10-16 ↗
- CloudHSM là HSM single-tenant, FIPS 140-2 hoặc 140-3 mức 3 ở chế độ FIPS. kiểm ngày 2026-10-16 ↗
- Chứng chỉ ACM dùng cho CloudFront (viewer HTTPS) phải được yêu cầu / import ở us-east-1. kiểm ngày 2026-10-16 ↗
- Shield Standard miễn phí; Shield Advanced tính phí hằng tháng (ví dụ của AWS: 3.000 USD) cộng phí truyền dữ liệu, cam kết 1 năm. kiểm ngày 2026-10-16 ↗
- Secrets Manager: 0,40 USD mỗi bí mật mỗi tháng, 0,05 USD mỗi 10.000 lần gọi API. kiểm ngày 2026-10-16 ↗
- Parameter Store: standard tối đa 10.000 tham số, 4 KB, không thêm phí; advanced 100.000 tham số, 8 KB, có phí, có parameter policy. kiểm ngày 2026-10-16 ↗
- Bật GuardDuty là tự lấy CloudTrail management events, VPC Flow Logs (EC2) và DNS log, không cần bật thêm. kiểm ngày 2026-10-16 ↗