CloudTrail Insights และความสมบูรณ์ของไฟล์บันทึก
เปิดใช้ CloudTrail Insights เพื่อตรวจจับกิจกรรม API ที่ผิดปกติ และใช้ไฟล์ไดเจสต์เพื่อตรวจสอบความสมบูรณ์ของไฟล์บันทึกสำหรับงานนิติวิทยาศาสตร์
CloudTrail Insights และความสมบูรณ์ของไฟล์บันทึก เป็นบทเรียน AWS Solutions Architect ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AWS Solutions Architect และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AWS Solutions Architect มีบทเรียนทั้งหมด 4 บทเรียน
CloudTrail Insights คืออะไร
CloudTrail Insights เป็นฟีเจอร์เสริมที่ใช้การเรียนรู้ของเครื่องเพื่อตรวจจับ กิจกรรม API ที่ผิดปกติ ในบัญชี AWS ของคุณโดยอัตโนมัติ ฟีเจอร์นี้จะสร้างค่าพื้นฐานของอัตราการเรียก API และปริมาณเหตุการณ์การจัดการแบบเขียนตามปกติสำหรับ API แต่ละรายการ จากนั้นจะแจ้งเตือนเมื่อกิจกรรมเบี่ยงเบนจากค่าพื้นฐานนั้นอย่างมีนัยสำคัญ เหตุการณ์ Insights จะถูกส่งไปยังบัคเก็ต S3 เดียวกับบันทึกของ Trail และยังสามารถทริกเกอร์กฎ EventBridge เพื่อการตอบสนองแบบอัตโนมัติได้
การเปิดใช้ CloudTrail Insights
CloudTrail Insights จะเปิดใช้แยกตาม Trail คุณสามารถเลือกตรวจจับ ความผิดปกติของอัตราการเรียก API (จำนวนเหตุการณ์การจัดการแบบเขียนต่อวินาทีที่ผิดปกติ) หรือ ความผิดปกติของอัตราข้อผิดพลาดของ API (จำนวนข้อผิดพลาดจากการปฏิเสธการเข้าถึงหรือการจำกัดอัตราที่ผิดปกติ) Insights ต้องใช้ Trail ที่ทำงานอยู่และเปิดใช้เหตุการณ์การจัดการแล้ว AWS จะเรียกเก็บค่าบริการสำหรับเหตุการณ์ Insights เพิ่มเติมจากค่าบริการเหตุการณ์ของ Trail ตามปกติ Insights จะใช้เวลา 24–36 ชั่วโมงในการสร้างค่าพื้นฐานเริ่มต้น ก่อนที่จะเริ่มตรวจจับความผิดปกติได้
# Enable CloudTrail Insights for API call rate and error rate anomalies
aws cloudtrail put-insight-selectors \
--trail-name OrgAuditTrail \
--insight-selectors \
InsightType=ApiCallRateInsight \
InsightType=ApiErrorRateInsight
# Verify insights configuration
aws cloudtrail get-insight-selectors \
--trail-name OrgAuditTrailทำความเข้าใจเหตุการณ์ Insights
เหตุการณ์ Insights ประกอบด้วย เหตุการณ์เริ่มต้น และ เหตุการณ์สิ้นสุด เหตุการณ์เริ่มต้นจะทำงานเมื่อความผิดปกติเริ่มขึ้น — ตัวอย่างเช่น มีการเรียก TerminateInstances เพิ่มขึ้นอย่างผิดปกติ — ส่วนเหตุการณ์สิ้นสุดจะทำงานเมื่ออัตราการเรียก API กลับสู่ภาวะปกติ เหตุการณ์ Insights แต่ละรายการประกอบด้วย API ที่ได้รับผลกระทบ อัตราค่าพื้นฐานตามปกติ อัตราสูงสุดที่ตรวจพบ และระยะเวลา ข้อมูลนี้ช่วยให้คุณเข้าใจได้ว่าความผิดปกติเป็นการโจมตีต่อเนื่องหรือเป็นเพียงการเพิ่มขึ้นชั่วครู่
# Search for Insights events in the last 30 days
aws cloudtrail lookup-events \
--lookup-attributes AttributeKey=EventCategory,AttributeValue=insight \
--start-time $(date -u -d '30 days ago' +%Y-%m-%dT%H:%M:%SZ) \
--query 'Events[].{Time:EventTime,Name:EventName,Source:EventSource}' \
--output tableสิ่งที่ Insights ตรวจจับได้ในการใช้งานจริง
ตัวอย่างความผิดปกติทั่วไปที่ CloudTrail Insights แจ้งเตือน ได้แก่ การถูกขโมยข้อมูลรับรอง ซึ่งผู้โจมตีใช้คีย์ที่ขโมยมาเพื่อไล่ค้นหาบัคเก็ต S3 ทั้งหมดด้วยความเร็วสูง สคริปต์การนำไปใช้งานที่กำหนดค่าผิดพลาด ซึ่งวนซ้ำและเรียก API ของ EC2 หลายพันครั้ง ภัยคุกคามจากบุคคลภายใน ที่ลบทรัพยากรเร็วกว่าปกติ หรือ การโจมตีห่วงโซ่อุปทาน ซึ่งฟังก์ชัน Lambda เริ่มเรียก STS อย่างผิดปกติในทันที Insights ช่วยให้คุณมี ช่วงเวลาตรวจจับที่รวดเร็วยิ่งขึ้น เมื่อเทียบกับการตรวจสอบบันทึก CloudTrail ด้วยตนเอง
การผสานรวม EventBridge เพื่อการตอบสนองแบบอัตโนมัติ
เหตุการณ์ CloudTrail Insights จะถูกส่งไปยัง Amazon EventBridge โดยอัตโนมัติ ซึ่งทำให้สามารถตอบสนองแบบอัตโนมัติได้ คุณสามารถสร้างกฎ EventBridge ที่ทริกเกอร์ฟังก์ชัน Lambda เมื่อมีการตรวจพบเหตุการณ์ Insights ได้ ตัวอย่างเช่น ใช้ส่งข้อความ Slack สร้างทิกเก็ต Jira หรือแม้แต่เพิกถอนคีย์การเข้าถึงของผู้ใช้ IAM โดยอัตโนมัติ หากความผิดปกติตรงกับรูปแบบการโจมตีที่รู้จัก วิธีนี้จะสร้างกระบวนการทำงานอัตโนมัติด้านความปลอดภัยแบบเรียลไทม์สำหรับผลการค้นพบของ Insights
# EventBridge rule to trigger Lambda when a CloudTrail Insights event fires
aws events put-rule \
--name CloudTrailInsightsAlert \
--event-pattern '{
"source": ["aws.cloudtrail"],
"detail-type": ["AWS Insight via CloudTrail"]
}' \
--state ENABLED
# Add Lambda as the target
aws events put-targets \
--rule CloudTrailInsightsAlert \
--targets Id=LambdaTarget,Arn=arn:aws:lambda:us-east-1:111122223333:function:SecurityResponderการตรวจสอบความสมบูรณ์ของไฟล์บันทึก
การตรวจสอบความสมบูรณ์ของไฟล์บันทึกช่วยให้มั่นใจได้ว่าไฟล์บันทึก CloudTrail ไม่ได้ถูกแก้ไข ลบ หรือปลอมแปลงหลังจากส่งไปยัง S3 เมื่อเปิดใช้ (ผ่าน --enable-log-file-validation) CloudTrail จะสร้าง ไฟล์สรุปแฮชทุกชั่วโมง ซึ่งมีแฮช SHA-256 ของไฟล์บันทึกทั้งหมดที่ส่งภายในชั่วโมงนั้น รวมถึงแฮชของไฟล์สรุปก่อนหน้า ตัวไฟล์สรุปเองจะลงลายเซ็นด้วยคีย์ส่วนตัวของ CloudTrail คุณสามารถตรวจสอบบันทึกโดยใช้คำสั่ง validate-logs ของ AWS CLI ได้
# Enable log file validation when creating or updating a trail
aws cloudtrail update-trail \
--name OrgAuditTrail \
--enable-log-file-validation
# Validate log file integrity for a specific time range
aws cloudtrail validate-logs \
--trail-arn arn:aws:cloudtrail:us-east-1:111122223333:trail/OrgAuditTrail \
--start-time 2024-01-01T00:00:00Z \
--end-time 2024-01-02T00:00:00Z \
--verboseวิธีทำงานของไฟล์สรุปแฮช
ทุกชั่วโมง CloudTrail จะส่ง ไฟล์สรุปแฮชไปยัง S3 ในเส้นทางที่แยกจากไฟล์บันทึก (s3://bucket/CloudTrail-Digest/...) ไฟล์สรุปจะมีแฮช SHA-256 ของไฟล์บันทึกแต่ละไฟล์ที่ส่งในชั่วโมงที่ผ่านมา URI ของ S3 ของแต่ละไฟล์ และแฮชของไฟล์สรุปก่อนหน้า (ทำให้เกิดเป็น สายโซ่แฮช) หากผู้โจมตีแก้ไขไฟล์บันทึกหลังจากส่งแล้ว แฮชในไฟล์สรุปจะไม่ตรงกันอีกต่อไป การตรวจสอบจะล้มเหลวและรายงานว่าไฟล์ใดถูกแก้ไข
# View the structure of a CloudTrail digest file (JSON)
# {
# "digestStartTime": "2024-01-01T00:00:00Z",
# "digestEndTime": "2024-01-01T01:00:00Z",
# "logFiles": [
# {
# "s3Bucket": "my-cloudtrail-logs",
# "s3Object": "AWSLogs/.../CloudTrail/.../2024/01/01/file.json.gz",
# "hashValue": "sha256:abc123...",
# "hashAlgorithm": "SHA-256"
# }
# ],
# "previousDigestHashValue": "sha256:xyz789..."
# }การปกป้องบันทึกการตรวจสอบจากการแก้ไข
ความสมบูรณ์ของไฟล์บันทึกจะมีประโยชน์ก็ต่อเมื่อ ไฟล์สรุปแฮชและไฟล์บันทึกได้รับการปกป้อง แนวทางปฏิบัติที่ดีที่สุด ได้แก่ เปิดใช้ S3 MFA Delete บนบัคเก็ต CloudTrail เพื่อไม่ให้ลบไฟล์ได้หากไม่มี MFA ใช้ นโยบายบัคเก็ตปฏิเสธการลบ เพื่อป้องกันไม่ให้ Principal ใดลบออบเจ็กต์ได้ เปิดใช้ S3 Object Lock (โหมด Compliance) เพื่อเก็บรักษาบันทึกแบบแก้ไขไม่ได้ และใช้ Trail ขององค์กร เพื่อไม่ให้บัญชีสมาชิกปิดใช้งานการบันทึกได้ การควบคุมเหล่านี้ร่วมกันทำให้บุคคลภายในแทบไม่สามารถลบหลักฐานการตรวจสอบได้
# Deny-delete policy on the CloudTrail S3 bucket
# {
# "Sid": "DenyDeleteCloudTrailLogs",
# "Effect": "Deny",
# "Principal": {"AWS": "*"},
# "Action": [
# "s3:DeleteObject",
# "s3:DeleteObjectVersion"
# ],
# "Resource": "arn:aws:s3:::my-cloudtrail-logs-111122223333/*"
# }Insights เทียบกับ GuardDuty: บริการที่ทำงานเสริมกัน
CloudTrail Insights และ Amazon GuardDuty ทำงานเสริมกัน ไม่ใช่บริการที่ซ้ำซ้อนกัน Insights มุ่งเน้นที่ ความผิดปกติของปริมาณการเรียก API — การเพิ่มขึ้นอย่างฉับพลันของการเรียก API การจัดการบางรายการ GuardDuty วิเคราะห์แหล่งข้อมูลที่หลากหลายกว่า ซึ่งรวมถึงเหตุการณ์ CloudTrail, VPC Flow Logs และบันทึก DNS เพื่อตรวจจับ รูปแบบภัยคุกคาม เช่น ข้อมูลรับรองที่ถูกโจมตี การขุดเหรียญคริปโต การดึงข้อมูลออกไป และ IP ที่เป็นอันตรายซึ่งรู้จักกันดี เพื่อการป้องกันเชิงลึก ให้เปิดใช้ทั้งสองบริการ — ใช้ Insights สำหรับความผิดปกติตามปริมาณ และใช้ GuardDuty สำหรับการตรวจจับที่อาศัยข้อมูลข่าวกรองภัยคุกคาม
การดู Insights ในคอนโซล CloudTrail
ในคอนโซล CloudTrail แท็บ Insights จะแสดงรายการความผิดปกติที่ตรวจพบทั้งหมด พร้อมเวลาเริ่มต้นและสิ้นสุด ชื่อ API และกราฟเปรียบเทียบอัตราค่าพื้นฐานกับอัตราที่ตรวจพบระหว่างเกิดความผิดปกติ เมื่อคลิกเหตุการณ์ Insights ระบบจะเชื่อมโยงโดยตรงไปยังเหตุการณ์การจัดการที่เกี่ยวข้องในประวัติเหตุการณ์สำหรับช่วงเวลาเดียวกัน ช่วยให้คุณเชื่อมโยงได้ว่า “เกิดความผิดปกติขึ้น” กับ “นี่คือการเรียก API ที่ทำให้เกิดความผิดปกติ” ความสามารถในการเจาะลึกนี้ทำให้ Insights นำไปใช้จัดการได้จริง
กรณีการใช้งานด้านการปฏิบัติตามข้อกำหนด
การตรวจสอบความสมบูรณ์ของไฟล์บันทึกเป็นข้อกำหนดของกรอบการปฏิบัติตามข้อกำหนดหลายรายการ: PCI-DSS กำหนดให้ต้องมีหลักฐานว่าบันทึกการตรวจสอบไม่ได้ถูกแก้ไข HIPAA กำหนดให้มีการควบคุมการตรวจสอบที่ตรวจพบการแก้ไขข้อมูลสำหรับข้อมูลด้านสุขภาพ และ SOC 2 กำหนดให้มีการควบคุมความสมบูรณ์ของบันทึกด้านความปลอดภัย การใช้การตรวจสอบไฟล์บันทึกของ CloudTrail ร่วมกับ S3 Object Lock และ Trail ขององค์กร จะช่วยให้เป็นไปตามข้อกำหนดเหล่านี้ และมักมีการอ้างถึงในเอกสารด้านการปฏิบัติตามข้อกำหนดของ AWS หากข้อสอบกล่าวถึง “การพิสูจน์ว่าบันทึกไม่ได้ถูกแก้ไข” คำตอบคือการตรวจสอบความสมบูรณ์ของไฟล์บันทึก
ตรวจสอบความเข้าใจอย่างรวดเร็ว
ทดสอบความเข้าใจแนวคิด AWS Solutions Architect (SAA-C03) จากบทเรียนนี้
สรุปบทเรียน
ในบทเรียนนี้ คุณได้เรียนรู้ว่า CloudTrail Insights ใช้ ML เพื่อตรวจจับความผิดปกติของอัตราการเรียก API และอัตราข้อผิดพลาด พร้อมเหตุการณ์เริ่มต้นและสิ้นสุด การตรวจสอบความสมบูรณ์ของไฟล์บันทึก ใช้ไฟล์สรุปแฮช SHA-256 ในสายโซ่แฮชเพื่อตรวจจับการแก้ไขหรือลบไฟล์บันทึก และ S3 Object Lock ที่ใช้ร่วมกับนโยบายปฏิเสธการลบจะปกป้องความสมบูรณ์ของบันทึกการตรวจสอบ บทถัดไปเราจะศึกษา AWS Config Rules และการแก้ไขปัญหาแบบอัตโนมัติ
คำถามที่พบบ่อย
บทเรียน “CloudTrail Insights และความสมบูรณ์ของไฟล์บันทึก” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “CloudTrail Insights และความสมบูรณ์ของไฟล์บันทึก” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส AWS Solutions Architect ให้อัปเกรดเป็น CoddyKit PRO คอร์ส AWS Solutions Architect มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “CloudTrail Insights และความสมบูรณ์ของไฟล์บันทึก”
เปิดใช้ CloudTrail Insights เพื่อตรวจจับกิจกรรม API ที่ผิดปกติ และใช้ไฟล์ไดเจสต์เพื่อตรวจสอบความสมบูรณ์ของไฟล์บันทึกสำหรับงานนิติวิทยาศาสตร์ คุณปฏิบัติ AWS Solutions Architect ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน AWS Solutions Architect หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน AWS Solutions Architect บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “CloudTrail Insights และความสมบูรณ์ของไฟล์บันทึก” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน AWS Solutions Architect นี้ได้ไหม
ได้ บทเรียน AWS Solutions Architect ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- แทรล CloudTrail และประวัติเหตุการณ์
- CloudTrail Insights และความสมบูรณ์ของไฟล์บันทึก
- กฎ AWS Config และการแก้ไขอัตโนมัติ
- แพ็กความสอดคล้องและแทรลระดับองค์กร