จะปิดการใช้งานข้อมูลเมตาของ AWS EC2 ได้อย่างไร

บทความนี้จะสอนคุณเกี่ยวกับข้อมูลเมตาของ EC2 และเหตุใดจึงสำคัญ คุณจะได้เรียนรู้วิธีปิดใช้งานข้อมูลเมตาเพื่อป้องกันตัวเองจากการโจมตีเช่น SSRF

Amazon Web Services (AWS) มีบริการ Amazon Elastic Compute Cloud (Amazon EC2) ซึ่งให้ความสามารถในการประมวลผลที่ปรับขนาดได้ ด้วยการใช้ Amazon EC2 คุณสามารถพัฒนาและปรับใช้แอปได้รวดเร็วยิ่งขึ้นโดยไม่ต้องลงทุนฮาร์ดแวร์ล่วงหน้า

เปิดใช้งานเซิร์ฟเวอร์เสมือนได้มากหรือน้อยขึ้นอยู่กับความต้องการของคุณ ตั้งค่าเครือข่ายและความปลอดภัย และควบคุมพื้นที่จัดเก็บโดยใช้ Amazon EC2

ข้อมูลเกี่ยวกับอินสแตนซ์ของคุณที่ปรับแต่งหรือจัดการในอินสแตนซ์ที่ทำงานอยู่นั้นเรียกว่าข้อมูลเมตาของอินสแตนซ์ หมวดหมู่ข้อมูลเมตาของอินสแตนซ์ประกอบด้วยชื่อโฮสต์ เหตุการณ์ และกลุ่มความปลอดภัย นอกจากนี้ คุณสามารถเข้าถึงข้อมูลผู้ใช้ที่คุณระบุเมื่อเปิดใช้งานอินสแตนซ์ของคุณโดยใช้ข้อมูลเมตาของอินสแตนซ์

คุณอาจใส่สคริปต์สั้นๆ หรือระบุพารามิเตอร์ขณะกำหนดค่าอินสแตนซ์ของคุณ เมื่อใช้ข้อมูลผู้ใช้ คุณสามารถสร้าง AMI ทั่วไปและแก้ไขไฟล์การกำหนดค่าเวลาเปิดใช้ได้

คุณสามารถตั้งค่าอินสแตนซ์ใหม่หรือที่มีอยู่เพื่อดำเนินงานต่อไปนี้โดยใช้ตัวเลือกข้อมูลเมตาของอินสแตนซ์:

  • กำหนดให้ส่งคำขอข้อมูลเมตาของอินสแตนซ์ผ่าน IMDSv2
  • ใส่ขีดจำกัดการกระโดดตอบสนอง PUT
  • การเข้าถึงข้อมูลเมตาของอินสแตนซ์ Lockdown

เป็นไปได้ที่จะเข้าถึงข้อมูลเมตาจากอินสแตนซ์ EC2 ที่ใช้งานอยู่โดยใช้เทคนิคอย่างใดอย่างหนึ่งต่อไปนี้: IMDSv1sIMDSv2

บริการข้อมูลเมตาของอินสแตนซ์เรียกว่า IMDS อย่างที่คุณคิดไว้ วิธีการต่างกันเล็กน้อย IMDSv1 ใช้วิธีการร้องขอ/ตอบกลับ ในขณะที่ IMDSv2 เป็นแบบเน้นเซสชัน

AWS ขอแนะนำให้คุณใช้ IMDSv2 ซึ่งเป็นวิธีที่ต้องการ ตามค่าเริ่มต้น AWS SDK จะใช้การเรียก IMDSv2 และคุณสามารถกำหนดให้ผู้ใช้กำหนดค่า EC2 ใหม่โดยเปิดใช้งาน IMDSv2 ได้โดยใช้คีย์เงื่อนไข IAM ในนโยบาย IAM

ใช้ URI ของ IPv4 หรือ IPv6 ต่อไปนี้เพื่อดูข้อมูลเมตาของอินสแตนซ์ทุกประเภทจากอินสแตนซ์ที่ทำงานอยู่

IPv4

ขด http://169.254.169.254/latest/meta-data/

IPv6

ขด http://[fd00:ec2::254]/ล่าสุด/ข้อมูลเมตา/

  ฉันจะค้นหาซอฟต์แวร์ที่หายไปบน Ubuntu ได้อย่างไร

ที่อยู่ IP เป็นที่อยู่ลิงก์ภายในและใช้ได้จากอินสแตนซ์เท่านั้น

ในการดูข้อมูลเมตาของอินสแตนซ์ คุณสามารถใช้ได้เฉพาะที่อยู่ link-local 169.254.169.254 คำขอข้อมูลเมตาผ่าน URI นั้นฟรี ดังนั้นจึงไม่มีค่าใช้จ่ายเพิ่มเติมจาก AWS

ความต้องการปิดการใช้งานข้อมูลเมตา

ในการตั้งค่า AWS การโจมตี SSRF เกิดขึ้นบ่อยครั้งและทุกคนรู้จักเป็นอย่างดี Mandiant (บริษัท รักษาความปลอดภัยทางไซเบอร์) พบผู้โจมตีที่ทำการสแกนช่องโหว่โดยอัตโนมัติและรวบรวมข้อมูลประจำตัว IAM จากแอปพลิเคชันออนไลน์ที่เข้าถึงได้แบบสาธารณะ

การใช้ IMDSv2 สำหรับอินสแตนซ์ EC2 ทั้งหมด ซึ่งมีข้อดีด้านความปลอดภัยเพิ่มเติม จะลดความเสี่ยงเหล่านี้สำหรับบริษัทของคุณ ความเป็นไปได้ที่ศัตรูจะขโมยข้อมูลประจำตัว IAM ผ่าน SSRF จะลดลงอย่างมากเมื่อใช้ IMDSv2

การใช้ Server Side Request Forgery (SSRF) เพื่อเข้าถึงบริการข้อมูลเมตา EC2 เป็นหนึ่งในเทคนิคสำหรับการใช้ประโยชน์จาก AWS ที่ได้รับการสอนบ่อยที่สุด

บริการข้อมูลเมตาสามารถเข้าถึงได้จากอินสแตนซ์ EC2 ส่วนใหญ่ที่ 169.254.169.254 ข้อมูลนี้มีข้อมูลที่เป็นประโยชน์เกี่ยวกับอินสแตนซ์ เช่น ที่อยู่ IP ชื่อกลุ่มความปลอดภัย ฯลฯ

หากมีการแนบบทบาท IAM กับอินสแตนซ์ EC2 บริการข้อมูลเมตาจะมีข้อมูลประจำตัว IAM เพื่อตรวจสอบสิทธิ์เป็นบทบาทนี้ เราสามารถขโมยข้อมูลประจำตัวเหล่านั้นได้ขึ้นอยู่กับเวอร์ชันของ IMDS ที่ใช้งานและความสามารถของ SSRF

นอกจากนี้ยังควรพิจารณาด้วยว่าฝ่ายตรงข้ามที่มีการเข้าถึงเชลล์ในอินสแตนซ์ EC2 สามารถรับข้อมูลประจำตัวเหล่านี้ได้

ในตัวอย่างนี้ เว็บเซิร์ฟเวอร์ทำงานบนพอร์ต 80 ของอินสแตนซ์ EC2 เว็บเซิร์ฟเวอร์นี้มีช่องโหว่ SSRF อย่างง่าย ซึ่งช่วยให้เราส่งคำขอ GET ไปยังที่อยู่ใดก็ได้ สามารถใช้เพื่อส่งคำขอไปที่ http://169.254.169.254

  วิธีผสานไฟล์ Excel

วิธีปิดการใช้งานข้อมูลเมตา

การบล็อกปลายทาง HTTP ของบริการข้อมูลเมตาของอินสแตนซ์ทำให้คุณสามารถป้องกันการเข้าถึงข้อมูลเมตาของอินสแตนซ์ได้ ไม่ว่าคุณจะใช้บริการข้อมูลเมตาของอินสแตนซ์เวอร์ชันใด

คุณสามารถย้อนกลับการเปลี่ยนแปลงนี้ได้ทุกเมื่อโดยเปิดใช้งานจุดปลาย HTTP ใช้คำสั่ง modified-instance-metadata-options CLI และตั้งค่าพารามิเตอร์ http-endpoint เพื่อปิดใช้งานเพื่อปิดใช้งานข้อมูลเมตาสำหรับอินสแตนซ์ของคุณ

หากต้องการปิดใช้งานข้อมูลเมตาให้รันคำสั่งนี้:

aws ec2 modified-instance-metadata-options –instance-id i-0558ea153450674 –http-endpoint ถูกปิดใช้งาน

ปิดการใช้งานข้อมูลเมตา

คุณจะเห็นได้ว่าหลังจากที่ฉันปิดใช้งานข้อมูลเมตาของฉันแล้ว หากฉันพยายามเข้าถึงข้อมูลนั้น ฉันจะได้รับข้อความต้องห้าม

หากคุณต้องการเปิดใช้งานข้อมูลเมตาของคุณอีกครั้ง ให้รันคำสั่งนี้:

aws ec2 modified-instance-metadata-options –instance-id i-0558ea153450674 –http-endpoint เปิดใช้งาน

เปิดใช้งานข้อมูลเมตาอีกครั้ง

บทสรุป

ข้อมูลเมตามีประโยชน์ในการดึงข้อมูลจากที่เก็บข้อมูลขนาดใหญ่ อย่างไรก็ตาม การรู้ตำแหน่งหรือตัวตนของบุคคลนั้นอาจถูกนำไปใช้ในทางที่ผิดโดยที่พวกเขาไม่รู้หรือยินยอม เนื่องจากจะบันทึกการเปลี่ยนแปลงทั้งหมดที่คุณทำ รวมถึงการลบและความคิดเห็น คุณจึงจำเป็นต้องตระหนักว่าอาจมีข้อมูลที่คุณไม่ต้องการให้ผู้อื่นเห็น ด้วยเหตุนี้ การลบข้อมูลเมตาจึงมีความสำคัญต่อการรักษาความเป็นส่วนตัวและการไม่เปิดเผยตัวตนทางออนไลน์ของคุณ

คุณยังสามารถสำรวจคำศัพท์สำคัญของ AWS ที่พัฒนา AWS Learning ของคุณได้

เรื่องล่าสุด

x