Servisphere

Module 7 · SAA-C03

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ớ

  1. 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ỗ.
  2. 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.
  3. 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.
  4. 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.
  5. 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á.
  6. 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).
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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

Envelope encryption với KMSỨng dụngKMSKho lưu trữ1. GenerateDataKey (khoá KMS)2. Data key rõ + data key đã mã hoá3. Mã hoá dữ liệu, xoá data key rõ4. Lưu dữ liệu mã hoá + data key đã mã hoá5. Giải mã: Decrypt(data key đã mã hoá)6. Data key rõ để giải mã dữ liệu
Khoá KMS không bao giờ rời KMS. Ứng dụng mã hoá dữ liệu bằng data key, chỉ lưu bản data key đã mã hoá.

S3 mã hoá bằng SSE-KMS

S3 mã hoá bằng SSE-KMSPUT / GET1GenerateDataKey / Decrypt1log mỗi lần dùng2cần key policy cho phép3Ứng dụngS3SSE-KMSKMS keykey policyCloudTrailTài khoản khác
S3 gọi KMS lấy data key cho mỗi đối tượng (Bucket Key giảm số lần gọi). Mỗi lần dùng khoá có log CloudTrail; key policy quyết định ai giải mã được.

Từng bước

  1. S3 dùng khoá KMS để mã hoá / giải mã từng đối tượng.
  2. Mỗi lần dùng khoá được ghi vào CloudTrail để kiểm toán.
  3. 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

Lớp bảo vệ ở edge: Shield, WAF, CloudFrontRegion3bị lọc121traffic sạch33Người dùngBot / kẻ tấn côngShieldDDoS 3/4CloudFrontWAFSQLi, rate limitALBApp
Shield chặn DDoS tầng 3/4 ở edge; WAF lọc request HTTP; origin chỉ nhận traffic đã qua lọc.

Từng bước

  1. Shield (Standard miễn phí, Advanced trả phí) hấp thụ DDoS tầng mạng ở edge.
  2. WAF chặn SQLi, XSS, bot, IP quá nhiều request.
  3. 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

Secrets Manager tự xoay vòng mật khẩu databaseỨng dụngSecrets ManagerRotationRDS1. GetSecretValue2. user / mật khẩu hiện tại3. Kết nối4. Đến lịch xoay vòng5. Đặt mật khẩu mới6. Lưu phiên bản mới (AWSCURRENT)
Ứng dụng đọc bí mật lúc chạy nên không cần sửa khi mật khẩu đổi.

Phát hiện và tự phản ứng

Phát hiện và tự phản ứng1111finding222GuardDutyđe doạInspectorlỗ hổngMaciedữ liệu nhạy cảmConfigtuân thủSecurity Hubgom, chấm điểmEventBridgeTự xử lýcô lập EC2, khoá keyBáo tin
Các dịch vụ phát hiện đẩy finding về Security Hub; EventBridge bắt finding để báo tin hoặc tự xử lý.

Từng bước

  1. Mỗi dịch vụ phát hiện một loại vấn đề, đẩy finding về Security Hub.
  2. 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

Organization trail vào tài khoản log riêngghi nhận1ghi log12Lệnh gọi APIOrganization trailCloudWatch Logsmetric filter → alarmBucket logObject Lock, SSE-KMS
Trail của tổ chức tạo ở tài khoản quản lý, ghi lệnh gọi API của mọi tài khoản thành viên vào bucket ở tài khoản log; người trong tài khoản thành viên không sửa / xoá được log.

Từng bước

  1. 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.
  2. 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

Chứng chỉ ACM: CloudFront dùng us-east-1us-east-1ap-northeast-1HTTPS11HTTPS22Người dùngChứng chỉ ACMcho CloudFrontCloudFrontChứng chỉ ACMcho ALBALB
Chứng chỉ ACM theo Region. CloudFront chỉ đọc chứng chỉ ở us-east-1; ALB cần chứng chỉ ở đúng Region của nó.

Từng bước

  1. Viewer → CloudFront: chứng chỉ phải ở us-east-1.
  2. CloudFront → ALB: chứng chỉ ở cùng Region với ALB.

KMS và CloudHSM

KMS và CloudHSMVPC của bạnAZ aAZ bAPI KMS1PKCS#11 / JCE2đồng bộ cụm2Ứng dụngKMSmanaged, IAM + key policyHSMHSM
KMS: managed, tích hợp sẵn mọi dịch vụ. CloudHSM: cụm HSM riêng trong VPC của bạn, đặt ở nhiều AZ để sẵn sàng cao, bạn tự quản lý user và khoá.

Từng bước

  1. KMS: gọi API, quyền bằng IAM và key policy; dùng cho hầu hết trường hợp.
  2. 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

Session Manager thay bastionVPCSubnet privateIAM1agent kết nối ra (HTTPS)23Quản trị viênconsole / CLISession ManagerEC2 (SSM Agent)SG: không mở cổng vàoLog phiên
Không mở cổng 22, không khoá SSH, không bastion. Quyền vào máy bằng IAM, phiên được ghi log.

Từng bước

  1. Quản trị viên mở phiên từ console / CLI, quyền kiểm soát bằng IAM.
  2. 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.
  3. Nội dung phiên ghi vào CloudWatch Logs / S3.

So sánh nhanh

Mã hoá S3

CáchAi giữ khoáGhi chú
SSE-S3S3 quản lý hoàn toànMặc định cho đối tượng mới
SSE-KMSKhoá 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-KMSKMS, mã hoá hai lớpYêu cầu tuân thủ đòi hai lớp mã hoá
SSE-CBạn gửi khoá kèm mỗi requestAWS không lưu khoá; mất khoá là mất dữ liệu
Mã hoá phía clientBạnDữ liệu đã mã hoá trước khi tới S3

KMS và CloudHSM

KMSCloudHSM
Mô hìnhDịch vụ managed, nhiều kháchHSM riêng một khách trong VPC của bạn
Ai quản lý user / khoáIAM + key policyBạn tự quản lý user trên HSM
Tích hợp dịch vụ AWSGầ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 khiMặc địnhYê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 ManagerParameter Store
Tự xoay vòngCó (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 APIStandard: không thêm phí; Advanced: có phí
Kích thướcBí mật lớn hơn (JSON nhiều trường)Standard 4 KB, Advanced 8 KB
Dùng choMậ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 đề
GuardDutyPhá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
InspectorQuét lỗ hổng phần mềm, mạngCVE trên EC2, image ECR, Lambda
MacieTìm dữ liệu nhạy cảm trong S3PII, số thẻ trong bucket
Security HubGom finding, chấm theo chuẩnMột bảng điều khiển bảo mật nhiều tài khoản
DetectiveĐiều tra nguyên nhânTruy vết một finding của GuardDuty
ConfigLịch sử cấu hình, rule tuân thủTài nguyên nào lệch chuẩn, tự sửa
CloudTrailNhật ký gọi APIAi làm gì, lúc nào, từ đâu

Bảo vệ tầng mạng và web

LớpDịch vụChặn được
Tầng 3/4 (DDoS)Shield Standard / AdvancedSYN flood, UDP reflection
Tầng 7 (HTTP)WAFSQLi, XSS, bot, rate limit, theo IP / quốc gia
Quản lý tập trungFirewall ManagerÁp WAF / Shield / SG / Network Firewall cho cả tổ chức
Lọc gói trong VPCNetwork FirewallLọc stateful, theo tên miền, IDS / IPS
Instance / subnetSecurity Group / NACLIP, 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ầnDù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ảnSSE-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 / ALBACM (CloudFront: us-east-1) · xem sơ đồ
SQLi, XSS, bot, rate limitWAF · xem sơ đồ
DDoS lớn, cần đội ứng cứuShield 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ànOrganization trail → S3 tài khoản log · xem sơ đồ
Vào EC2 không mở cổng SSHSession 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

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 ↗
Luyện câu hỏi module này →