ID ภายนอกและปัญหาตัวแทนสับสน
ป้องกันไม่ให้บุคคลภายนอกถูกหลอกให้ใช้การเข้าถึงในทางที่ผิด
ID ภายนอกและปัญหาตัวแทนสับสน เป็นบทเรียน AWS Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AWS Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AWS Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
ปัญหาความน่าเชื่อถือที่ละเอียดอ่อน
เมื่อคุณอนุญาตให้ บุคคลภายนอกรับบทบาทในบัญชีของคุณ อาจเกิดความเสี่ยงด้านความปลอดภัยที่เรียกว่า ปัญหาตัวแทนสับสนได้ รหัสภายนอก ID คือมาตรการควบคุมที่เรียบง่ายแต่สำคัญในการป้องกันปัญหานี้ รูปแบบนี้มักปรากฏในข้อสอบเมื่อผู้ให้บริการ SaaS ต้องการเข้าถึงบัญชี AWS ของคุณ
ตัวแทนสับสนคืออะไร
ตัวแทนสับสนคือหน่วยงานที่ได้รับความไว้วางใจ (ตัวแทน) แต่ถูกหลอกให้ใช้อำนาจของตนแทนผู้โจมตี ใน AWS บริการของบุคคลภายนอกอาจได้รับสิทธิ์ให้รับบทบาทในบัญชีของลูกค้าหลายราย ผู้โจมตีอาจหลอกให้บริการดังกล่าวรับ บทบาทของคุณได้ หากไม่มีสิ่งใดเชื่อมโยงคำขอเข้ากับความสัมพันธ์กับลูกค้าที่ถูกต้อง
สถานการณ์ของผู้ให้บริการ
ลองนึกภาพบริการ SaaS สำหรับตรวจสอบระบบที่รับบทบาทในบัญชีของลูกค้าแต่ละราย SaaS นี้ใช้ข้อมูลประจำตัว AWS เดียวกันสำหรับทุกคน หากผู้โจมตีซึ่งเป็นลูกค้ารายหนึ่งด้วยเดา ARN ของบทบาทของคุณได้ ผู้โจมตีอาจโน้มน้าวให้ SaaS รับ บทบาทของคุณ เนื่องจาก SaaS เป็นผู้มีสิทธิ์ที่ได้รับความไว้วางใจ การใช้ ID บัญชีเพียงอย่างเดียวไม่เพียงพอที่จะหยุดการโจมตีนี้
เพิ่มรหัสภายนอก ID
รหัสภายนอก IDคือค่าลับที่ไม่ซ้ำกันซึ่งผู้ให้บริการกำหนดให้กับความสัมพันธ์กับคุณ คุณใส่ค่านี้ไว้ในนโยบายความน่าเชื่อถือของบทบาทเป็นเงื่อนไข และผู้ให้บริการต้องส่งค่าที่เหมือนกันทุกประการเมื่อเรียกใช้ AssumeRole เนื่องจากผู้โจมตีไม่ทราบรหัสภายนอก ID ของคุณ จึงไม่สามารถหลอกให้ผู้ให้บริการรับบทบาทของคุณได้
นโยบายความน่าเชื่อถือที่มีรหัสภายนอก ID
นโยบายความน่าเชื่อถือนี้กำหนดให้ต้องมีรหัสภายนอก ID ที่ตรงกัน AssumeRole จะทำงานสำเร็จเฉพาะเมื่อผู้ให้บริการส่งค่าที่เหมือนกันทุกประการ ซึ่งช่วยป้องกันการโจมตีแบบตัวแทนสับสน
"Condition": {
"StringEquals": {
"sts:ExternalId": "unique-customer-12345"
}
}ใครเป็นผู้กำหนดรหัสภายนอก ID
สิ่งสำคัญคือ ผู้ให้บริการเป็นผู้สร้างและควบคุมรหัสภายนอก ID ไม่ใช่ลูกค้า วิธีนี้ป้องกันไม่ให้ลูกค้าร่วมมือกันนำค่าเดียวกันกลับมาใช้ซ้ำ แนวทางของ AWS ระบุไว้อย่างชัดเจนว่า ในฐานะบุคคลภายนอก คุณต้องกำหนดรหัสภายนอก ID ที่ไม่ซ้ำกันให้ลูกค้าแต่ละราย และกำหนดให้ต้องใช้รหัสดังกล่าวทุกครั้งที่รับบทบาท
ไม่ใช่รหัสผ่านลับ
รหัสภายนอก ID ไม่ได้มีจุดประสงค์ให้เป็นความลับเหมือนรหัสผ่าน แต่สามารถปรากฏในคำแนะนำการตั้งค่าได้ คุณค่าด้านความปลอดภัยมาจากการที่รหัสดังกล่าว ไม่ซ้ำกันสำหรับลูกค้าแต่ละราย และ ควบคุมโดยผู้ให้บริการ ทำให้ผู้โจมตีไม่สามารถบังคับให้ตัวแทนใช้ค่าของลูกค้ารายอื่นได้ ให้ถือว่านี่เป็นโทเค็นป้องกันการปลอมแปลงตัวตน ไม่ใช่ข้อมูลประจำตัว
ใช้คู่กับสิทธิ์น้อยที่สุด
รหัสภายนอก ID ควบคุมว่า ใครสามารถรับบทบาทได้ แต่คุณยังต้องกำหนดว่า บทบาทสามารถทำอะไรได้บ้างด้วยนโยบายสิทธิ์ที่รัดกุม แม้ผู้ให้บริการจะได้รับอนุญาตอย่างถูกต้อง ก็ควรได้รับเพียงสิทธิ์ขั้นต่ำที่จำเป็น ผสานรหัสภายนอก ID ผู้มีสิทธิ์เฉพาะราย และสิทธิ์น้อยที่สุด เพื่อให้การเข้าถึงของบุคคลภายนอกปลอดภัย
นอกเหนือจากผู้ให้บริการ
รูปแบบตัวแทนสับสนยังใช้กับบริการ AWS ที่ดำเนินการแทนคุณได้ด้วย ความน่าเชื่อถือระหว่างบริการมักใช้คีย์เงื่อนไข เช่น aws:SourceArn และ aws:SourceAccount ในนโยบายทรัพยากร เพื่อให้แน่ใจว่าบริการที่เรียกกำลังดำเนินการให้กับทรัพยากรของ คุณ ซึ่งเป็นแนวคิดการป้องกันแบบเดียวกันในรูปแบบอื่น
สังเกตสัญญาณในข้อสอบ
เมื่อใดก็ตามที่คำถามกล่าวถึง บุคคลภายนอกหรือ SaaS ที่รับบทบาทข้ามบัญชี คำตอบที่ปลอดภัยมักเกี่ยวข้องกับ รหัสภายนอก ID ในโยบายความน่าเชื่อถือ หากสถานการณ์เป็นการสื่อสารระหว่างบริการ ให้มองหาเงื่อนไข aws:SourceArn/aws:SourceAccount แทน การสังเกตสัญญาณนี้จะช่วยชี้ไปยังมาตรการควบคุมที่ถูกต้องโดยตรง
นำทุกอย่างมาประกอบกัน
ปัญหาตัวแทนสับสนเปิดโอกาสให้ผู้โจมตีหลอกบุคคลภายนอกที่ได้รับความไว้วางใจให้ใช้สิทธิ์ของตนในทางที่ผิด รหัสภายนอก IDซึ่งไม่ซ้ำกันสำหรับลูกค้าแต่ละรายและควบคุมโดยผู้ให้บริการ จะป้องกันปัญหานี้ด้วยการกำหนดให้ต้องส่งค่าที่ตรงกันเมื่อเรียกใช้ AssumeRole สำหรับบริการ AWS ให้ใช้ aws:SourceArn และ aws:SourceAccount ควรใช้สิ่งเหล่านี้ควบคู่กับสิทธิ์น้อยที่สุดเสมอ
ตรวจสอบอย่างรวดเร็ว
ทดสอบแนวคิดเรื่องตัวแทนสับสน
ทบทวน
ปัญหาตัวแทนสับสนเกิดขึ้นเมื่อบุคคลภายนอกที่ได้รับความไว้วางใจถูกหลอกให้ใช้สิทธิ์ข้ามบัญชีของตนในทางที่ผิด รหัสภายนอก ID ซึ่งไม่ซ้ำกันสำหรับลูกค้าแต่ละรายและควบคุมโดย ผู้ให้บริการ จะป้องกันปัญหานี้ผ่านเงื่อนไขในนโยบายความน่าเชื่อถือที่ใช้ sts:ExternalId สำหรับความน่าเชื่อถือระหว่างบริการ AWS ให้ใช้ aws:SourceArn และ aws:SourceAccount โดยใช้สิทธิ์น้อยที่สุดเสมอ
คำถามที่พบบ่อย
บทเรียน “ID ภายนอกและปัญหาตัวแทนสับสน” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ID ภายนอกและปัญหาตัวแทนสับสน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส AWS Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส AWS Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ID ภายนอกและปัญหาตัวแทนสับสน”
ป้องกันไม่ให้บุคคลภายนอกถูกหลอกให้ใช้การเข้าถึงในทางที่ผิด คุณปฏิบัติ AWS Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน AWS Security Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน AWS Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “ID ภายนอกและปัญหาตัวแทนสับสน” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน AWS Security Academy นี้ได้ไหม
ได้ บทเรียน AWS Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- STS ออกข้อมูลรับรองชั่วคราวอย่างไร
- AssumeRole และอายุเซสชัน
- ID ภายนอกและปัญหาตัวแทนสับสน
- นโยบายเซสชันและการกำหนดขอบเขตตามแท็ก