การอ่านระเบียนเหตุการณ์ CloudTrail
ถอดความฟิลด์ JSON ที่อธิบายว่าใครเป็นผู้เรียกแต่ละครั้ง
การอ่านระเบียนเหตุการณ์ CloudTrail เป็นบทเรียน AWS Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AWS Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AWS Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
โครงสร้างของเหตุการณ์
เหตุการณ์ CloudTrail คือระเบียน JSONที่มีชุดฟิลด์สม่ำเสมอ การเรียนรู้วิธีอ่านระเบียนนี้ช่วยให้คุณสร้างลำดับเหตุการณ์ที่เกิดขึ้นระหว่างการสืบสวนได้อย่างแม่นยำ
ระเบียนแต่ละรายการอธิบายการเรียก API หนึ่งครั้ง ได้แก่ ใครเป็นผู้เรียก ดำเนินการอะไร เมื่อใด จากที่ใด และผลลัพธ์เป็นอย่างไร
ฟิลด์ userIdentity
ฟิลด์ที่สำคัญที่สุดด้านความปลอดภัยคือ userIdentity ฟิลด์นี้อธิบายผู้มีสิทธิ์ที่เรียกใช้งาน ได้แก่ ประเภท (IAMUser, AssumedRole, Root, AWSService) บัญชี และ ARN (ชื่อทรัพยากรของ Amazon)
ฟิลด์นี้ช่วยระบุได้อย่างมั่นใจว่าการดำเนินการเป็นของบุคคล บทบาท หรือบริการใดโดยเฉพาะ
"userIdentity": {
"type": "AssumedRole",
"arn": "arn:aws:sts::1111:assumed-role/Admin/alice"
}ชื่อเหตุการณ์และแหล่งที่มา
eventName คือการดำเนินการของ API ที่ถูกเรียก เช่น DeleteBucket หรือ RunInstances ส่วน eventSource คือบริการที่การดำเนินการนั้นสังกัดอยู่ เช่น s3.amazonaws.com
เมื่อนำสองฟิลด์นี้มาดูร่วมกัน จะบอกได้อย่างแม่นยำว่าการดำเนินการใดเกิดขึ้น ซึ่งเป็นหัวใจสำคัญของการทำความเข้าใจเหตุการณ์ทุกประเภท
เวลา ภูมิภาค และ IP
การประทับเวลา eventTime (ใน UTC), awsRegion และ sourceIPAddress ช่วยระบุว่าการเรียกเกิดขึ้นเมื่อใดและจากที่ใด
การเรียกจากภูมิภาคที่ไม่คาดคิดหรือ IP ที่ไม่คุ้นเคยเป็นสัญญาณเตือนสำคัญ ฟิลด์ตัวแทนผู้ใช้ยังบอกด้วยว่าการเรียกเกิดขึ้นผ่านช่องทางใด เช่น คอนโซล CLI หรือ SDK
คำขอและการตอบกลับ
requestParameters แสดงอินพุตของการเรียก เช่น บัคเก็ตใด อินสแตนซ์ใด หรือนโยบายใด ส่วน responseElements แสดงสิ่งที่ AWS ส่งกลับมา เช่น ID ของทรัพยากรที่เพิ่งสร้าง
ฟิลด์เหล่านี้ช่วยให้คุณเห็นอย่างชัดเจนว่าอะไรถูกเปลี่ยนแปลงและผลลัพธ์เป็นอย่างไร ไม่ใช่เพียงรู้ว่ามีบางสิ่งเกิดขึ้น
ข้อผิดพลาดบอกเล่าเรื่องราว
หากการเรียกถูกปฏิเสธ ระเบียนจะมี errorCode และ errorMessage เช่น AccessDenied
การเรียกที่ถูกปฏิเสธจำนวนมากจากผู้มีสิทธิ์รายเดียวมักหมายความว่าผู้โจมตีกำลังตรวจสอบว่าข้อมูลรับรองที่ขโมยมาสามารถทำอะไรได้บ้าง เหตุการณ์ที่ล้มเหลวมีคุณค่าต่อการสืบสวนไม่แพ้เหตุการณ์ที่สำเร็จ
ลำดับของบทบาท
เมื่อการเข้าถึงเกิดขึ้นผ่านบทบาทที่รับมา ให้ติดตามลำดับดังกล่าว ฟิลด์ userIdentity อาจแสดงเซสชันของบทบาทที่รับมา และ sessionContext จะแสดงผู้มีสิทธิ์ต้นทางที่รับบทบาทนั้นมา
การติดตามลำดับนี้ช่วยตอบได้ว่าใครเป็นผู้ดำเนินการในท้ายที่สุด แม้จะมีการเปลี่ยนผ่านหลายบทบาทก็ตาม
แฟล็กแบบอ่านอย่างเดียวและการจัดการ
ฟิลด์อย่าง readOnly และ managementEvent ช่วยบอกลักษณะของการเรียกใช้ได้ทันทีว่า การเรียกใช้นั้นเปลี่ยนแปลงอะไรหรือไม่ และเป็นการดำเนินการบนระนาบควบคุมหรือไม่
ฟิลด์เหล่านี้ช่วยให้คุณกรองหาเหตุการณ์ที่เปลี่ยนแปลงสภาพแวดล้อมได้อย่างรวดเร็ว เมื่อต้องตรวจสอบระเบียนจำนวนมาก
การสืบค้นระเบียนในระดับขนาดใหญ่
การอ่านระเบียนเดียวด้วยตนเองนั้นทำได้ แต่การคัดกรองระเบียนนับล้านรายการไม่ใช่เรื่องเหมาะสม ให้ส่งบันทึกไปยัง CloudWatch Logs หรือสืบค้นคลังข้อมูลใน S3 ด้วย Athena โดยใช้ SQL
คุณสามารถกรองด้วย userIdentity, eventName, sourceIPAddress หรือ errorCode เพื่อระบุการเรียกใช้ที่เกี่ยวข้องกับการสืบสวนได้อย่างแม่นยำ
ตรวจสอบตัวระบุผู้ใช้
ฟิลด์ userAgent แสดงให้เห็นว่าการเรียกใช้เกิดขึ้นผ่านช่องทางใด เช่น คอนโซล AWS, CLI รุ่นใดรุ่นหนึ่ง, SDK หรือเครื่องมืออัตโนมัติ
ตัวระบุผู้ใช้ที่ไม่คาดคิดอาจเป็นเบาะแสถึงเครื่องมือของผู้โจมตี การเรียกใช้ที่ปกติมาจากคอนโซล แต่จู่ ๆ กลับมาจาก SDK โดยตรงผ่าน IP แปลก ๆ เป็นความผิดปกติเล็กน้อยที่ควรตรวจสอบเพิ่มเติม
นำข้อมูลมาประกอบกัน
ในการสืบสวน ให้รวมฟิลด์ต่าง ๆ เข้าด้วยกันว่าใคร (userIdentity) ทำอะไร (eventName) กับทรัพยากรใด (requestParameters) เมื่อใด (eventTime) จากที่ใด (sourceIPAddress) และได้ผลลัพธ์อย่างไร (responseElements หรือ errorCode)
ภาพรวมทั้งหมดจากระเบียนเดียวนี้คือหัวใจของการพิสูจน์หลักฐานกิจกรรม API บน AWS
ตรวจสอบอย่างรวดเร็ว
ค้นหาฟิลด์ที่ใช้ระบุแหล่งที่มา
สรุปทบทวน
เหตุการณ์ CloudTrail คือระเบียน JSON ที่มีฟิลด์สำคัญสำหรับตอบคำถามในการสืบสวนได้ครบถ้วน ได้แก่ userIdentity (ใคร โดยมี ARN และลำดับบทบาทผ่าน sessionContext), eventName/eventSource (ทำอะไร), eventTime/awsRegion/sourceIPAddress (เมื่อใดและจากที่ใด) และ requestParameters/responseElements หรือ errorCode (การเปลี่ยนแปลงและผลลัพธ์) เหตุการณ์ AccessDenied ที่ล้มเหลวเป็นสัญญาณที่มีค่า และ Athena ช่วยให้คุณสืบค้นระเบียนในระดับขนาดใหญ่ได้
คำถามที่พบบ่อย
บทเรียน “การอ่านระเบียนเหตุการณ์ CloudTrail” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การอ่านระเบียนเหตุการณ์ CloudTrail” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส AWS Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส AWS Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การอ่านระเบียนเหตุการณ์ CloudTrail”
ถอดความฟิลด์ JSON ที่อธิบายว่าใครเป็นผู้เรียกแต่ละครั้ง คุณปฏิบัติ AWS Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน AWS Security Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน AWS Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การอ่านระเบียนเหตุการณ์ CloudTrail” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน AWS Security Academy นี้ได้ไหม
ได้ บทเรียน AWS Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- CloudTrail บันทึกอะไรบ้าง
- เหตุการณ์ด้านการจัดการ ข้อมูล และข้อมูลเชิงลึก
- แทรลในระดับองค์กรระหว่างบัญชี
- การอ่านระเบียนเหตุการณ์ CloudTrail