มุมมอง
Maximilian Wilhelm วิศวกรของ Cloudflare เล่าถึงอุบัติเหตุเมื่อวันที่ 1 กุมภาพันธ์ที่ผ่านมา ที่เขาเป็นคนคอนฟิกเราท์เตอร์ของ Cloudflare และปล่อย route ออกไปยังผู้ให้บริการ transit รายหนึ่งกว่า 2,000 รายการ ดึงทราฟิกของบริษัทอื่นๆ เข้ามายัง Cloudflare (รวมถึงบริษัท CDN อื่น เช่น Akamai) เป็นเวลารวม 39 วินาที
Wilhelm ระบุว่าอุบัติเหตุครั้งนี้เกิดระหว่างการเปิดใช้ลิงก์ใหม่กับผู้ให้บริการ transit รายหนึ่ง โดยหลังจากเชื่อมต่อลิงก์เรียบร้อยแล้วทาง Cloudflare ก็เปิด filter สำหรับ BGP เอาไว้ เพื่อยังไม่ให้ทราฟิกใดๆ วิ่งผ่านไฟเบอร์เส้นใหม่นี้ แต่ต้องตรวจสอบการทำงานให้เรียบร้อยเสียก่อน และหลังจากทดสอบแล้วก็เปิดให้ทราฟิก BGP วิ่งได้
แต่เมื่อเปิด BGP ใช้งานแล้วปรากฎว่าเราท์เตอร์ของผู้ให้บริการ transit ตัดการเชื่อมต่อทันที เพราะจำนวน prefix ที่ส่งออกไปเกินเพดาน ทาง Cloudflare เชื่อว่าผู้ให้บริการ transit นี้ตั้งค่าไว้ต่ำเกินไป จึงขอให้เพิ่มเพดานขึ้นแล้วเปิดลิงก์ใหม่อีกครั้ง ปรากฎว่าเราท์เตอร์ก็ตัดการเชื่อมต่ออีกครั้งเนื่องจาก prefix เกินอยู่ดี
ทาง Cloudflare เริ่มรู้ตัวว่าผิดปกติ จึงกลับมาตรวจสอบคอนฟิก และพบว่าไม่ได้ตั้งค่าให้ส่งเฉพาะ prefix ของ Cloudflare เอง แต่กลับส่งออกไปทุก prefix ในเราท์เตอร์ของ Cloudflare แม้ว่าแผนการย้ายลิงก์ครั้งนี้จะมีการตรวจสอบจากหลายคนแล้วก็ตาม
เหตุการณ์ route leak หรือเราท์เตอร์บางตัวประกาศเส้นทางทราฟิกสำหรับคนอื่นเกิดขึ้นเรื่อยๆ ทั่วโลก เหตุการณ์แต่ละครั้งสามารถดึงเอาผู้ให้บริการรายใหญ่ๆ เช่น Google หรือ AWS ล่มไปได้เป็นเวลานาน ในกรณีนี้เราท์เตอร์ของผู้ให้บริการมีกลไลป้องกันด้วยตั้งเพดานจำนวน prefix จึงเกิดปัญหาไม่นานนัก ทาง Cloudflare เล่าความผิดพลาดครั้งนี้ก็ถือโอกาสเรียกร้องให้ผู้ให้บริการอินเทอร์เน็ตทั่วโลกเปิดใช้ RPKI ที่ Cloudflare พยายามเรียกร้องมาตั้งแต่ปี 2020 พร้อมกับขอโทษไปยังลูกค้าและวิศวกรทุกคนที่ต้องมาดูการแจ้งเตือนจากความผิดพลาดครั้งนี้
ที่มา - Cloudflare