ใช้ BGP เพื่อป้องกันการโจมตี DDoS ที่มีต้นกำเนิดจาก remote AS


16

ฉันมีคำถามเกี่ยวกับ BGP และวิธีการตั้งค่านี้ให้สำเร็จ

เราเตอร์แกนองค์กรของฉันเชื่อมต่อกับ ISP (homed single) เราเตอร์นี้ได้แลกเปลี่ยนคำนำหน้า IP สาธารณะเฉพาะกับ ISP ในการอัปเดต BGP แล้ว ตอนนี้ให้บอกว่ามีการกระโดดหลายครั้งซึ่งกำลังทำให้ AS ในพื้นที่ของฉันท่วมด้วยการโจมตี DDoS มีหลายเครือข่ายที่ AS กำหนดเป้าหมายไปที่เว็บเซิร์ฟเวอร์ใน AS ท้องถิ่นของฉัน

เราจะหยุดการรับส่งข้อมูลนี้บนเราเตอร์ของเราโดยใช้ BGP ได้อย่างไร

ขอบคุณคำตอบของคุณ !! :)


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

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

คำตอบ:


14

มีสองสิ่งที่คุณสามารถทำได้กับ BGP:

RTBH - หลุมดำที่ถูกเรียกจากระยะไกล

ตัวเลือกแรกคือตัวเลือกที่รุนแรง: Blackhole (หยุดการรับส่งข้อมูล) สำหรับ IP ที่ถูกโจมตี ข้อเสีย: IP ที่ถูกกำหนดเป้าหมายไม่สามารถเข้าถึงได้อีกต่อไป ประโยชน์ที่ได้รับ: ส่วนที่เหลือของเครือข่ายของคุณยังคงอยู่ Packetlife มีคำอธิบายที่ดีเกี่ยวกับวิธีการทำงานและวิธีการใช้งาน ตัวเลือกที่สองสร้างจากตัวเลือกแรก:

RTBH ตามแหล่งที่มา

RTBH ยังสามารถใช้ (ในการกำหนดค่าบางอย่าง) เพื่อบล็อกทราฟฟิกที่มาจาก IP เฉพาะ (ใน DDoS จริงที่ไม่ได้ช่วยอะไรมากเท่ากับทราฟฟิกที่มาจาก IP หลายพัน) อีกครั้ง Packetlife มีคำอธิบาย

ในกรณีของคุณคุณสามารถรับส่วนนำหน้าทั้งหมดสำหรับ AS จากฐานข้อมูลการกำหนดเส้นทางเช่นRADBและบล็อกสิ่งเหล่านี้ด้วย RTBH ตามแหล่งที่มา การรับส่งข้อมูลจะยังคงโจมตีเครือข่ายของคุณที่ชายแดน

เมื่อคุณใช้ RTBH "แบบง่าย" ข้อดีคือคุณสามารถส่งเส้นทาง RTBH เหล่านี้ไปยัง ISP ของคุณ Upstream (หากพวกเขาสนับสนุน) ผู้ที่สามารถบล็อกทราฟฟิกในเครือข่ายของพวกเขาได้ดังนั้นคุณจึงไม่ต้องจัดการมัน


วิธีที่อธิบายโดย Packetlife มีประโยชน์ แต่จะไม่มีประโยชน์ใด ๆ ในสถานการณ์ที่อัปลิงค์ของคุณเต็มไปด้วยปริมาณการโจมตี ฉันเขียนคำตอบเกี่ยวกับการใช้ชุมชน Blackhole ต้นน้ำเพื่อแก้ไขปัญหานี้
Elliot B.

2
มันอยู่ในประโยคสุดท้ายของฉัน: "เมื่อคุณใช้" ง่าย ๆ "RTBH ข้อดีคือคุณสามารถส่งเส้นทาง RTBH เหล่านี้ไปยัง ISP ของคุณที่ Upstream (ถ้าพวกเขาสนับสนุน) ที่จะบล็อกการรับส่งข้อมูลในเครือข่ายของพวกเขาแล้วคุณจึงไม่มี จัดการกับมัน "
Sebastian Wiesinger

ฉันเห็นสิ่งนั้น แต่ฉันต้องการรายละเอียดเกี่ยวกับวิธีทำ blackhole ที่ลูกค้าเรียกใช้และชี้ให้เห็นว่า "[ไม่มี] เพื่อจัดการกับมัน" หมายความว่า blackhole นั้นจะไม่มีประสิทธิภาพอย่างอื่น ไม่ได้มีเจตนาที่จะเป็นเคาะคำตอบของคุณเพียงแค่ให้ข้อมูลเพิ่มเติม :)
เอลเลียตบี

7

วิธี RTBH ที่อธิบายโดย @Sebastian ผ่านPacketlifeมีประโยชน์ แต่วิธีนั้นจะใช้ได้เฉพาะเมื่ออัปลิงค์ของคุณไม่อิ่มตัวด้วยปริมาณการโจมตี หากอัปลิงค์ของคุณมีความอิ่มตัวแล้ว Blackhole ต้องถูกนำไปใช้ในจุดหนึ่งก่อนที่ปริมาณการโจมตีจะมาถึงเครือข่ายของคุณ

คุณสามารถทำสิ่งนี้กับชุมชน Blackhole ต้นน้ำ

เฮอร์ริเคนอิเล็กทริกเสนอคำอธิบาย / ตัวอย่างง่ายๆเกี่ยวกับการดึงแบล็กฮอล์จากลูกค้าด้วยชุมชน BGP

  1. การโจมตีเริ่มขึ้น
  2. ลูกค้าระบุช่วง ip หรือ ip ที่ถูกโจมตี
  3. สแตติกของลูกค้ากำหนดเส้นทางของช่วง ip หรือ ip ไปที่ Null0 และเพิ่มการประกาศคำนำหน้าที่สอดคล้องกันด้วยแผนที่เส้นทางที่ติดแท็กด้วย 6939: 666

ตัวอย่างการกำหนดค่าของ Cisco (โดยที่ XXXX คือ IP ที่ถูกโจมตี):

conf t
ip route X.X.X.X 255.255.255.255 Null0
router bgp YourAS
network X.X.X.X mask 255.255.255.255 route-map blackhole
route-map blackhole permit 10
set community 6939:666
end

โปรดทราบว่า6939:666เป็นชุมชน Blackhole เฉพาะของ Hurricane Electric คุณจะแก้ไขค่านี้เพื่อให้สอดคล้องกับชุมชน blackhole ของผู้ให้บริการต้นน้ำของคุณ

แน่นอนว่ามีหลายวิธีในการกำหนดค่านี้ สำหรับอุปกรณ์ Brocade ของฉันฉันใช้การกำหนดค่าต่อไปนี้:

router bgp
!
redistribute static route-map blackhole
!
!
route-map blackhole permit  5
 match tag  66
 set community  55555:666

ที่ไหน55555:666เป็นชุมชนที่บัญชีต้องห้ามของผู้ให้ต้นน้ำของคุณ Blackhole อัพสตรีมสามารถใช้กับคำสั่งง่ายๆ:

ip route 123.123.123.123 255.255.255.255 null0 tag 66

4

จากมุมมองของ BGP มีอะไรที่คุณทำได้ไม่มาก คุณสามารถหยุดโฆษณาคำนำหน้าของคุณได้ แต่จากนั้นคุณเพิ่งจะทำการโจมตี DoS เพราะไม่มีใครสามารถเข้าถึงบริการของคุณได้

หากคุณมีหลายคำนำหน้าคุณสามารถกำหนดหมายเลขใหม่ แต่การโจมตีจะย้ายไปที่คำนำหน้าใหม่เช่นกัน

สิ่งที่คุณต้องทำคือการทำงานกับต้นน้ำของคุณ พวกเขามีบริการขัดไหม? หากพวกเขามีระบบเช่น Arbor Peakflow พวกเขาสามารถขัดการจราจรและทำความสะอาดก่อนที่มันจะเข้าสู่เครือข่ายของคุณ บริการดังกล่าวมักจะมีราคาแพงมาก

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


0

ฉันทำงานกับ CloudFlare ฉันต้องการแบ่งปันความรู้บางส่วนที่ฉันได้พัฒนาเกี่ยวกับการลดการโจมตี DDOS ในช่วงไม่กี่เดือนที่ผ่านมาที่ฉันอยู่ที่นี่

ประการแรก; ผู้คนจำนวนมากหันมาใช้มาตรการระดับเครือข่ายเพื่อลดการโจมตี DDOS ของชั้นแอปพลิเคชัน ก่อนดำน้ำกับ BGP Blackholing ให้พิจารณาว่าเป็นอัตรา จำกัด หรือการป้องกันชั้นแอปพลิเคชันสามารถจัดการได้หรือไม่ ที่กล่าวว่า; ก็ตอนนี้ราคาถูกมากเพื่อเปิด DDOS จุที่มากขึ้นการโจมตี (รับหลายวิธีเปิด DNS Recursorsอยู่รอบ ๆ และวิธีที่พวกเขาสามารถขยายการโจมตีได้)

ตามที่ Elliot อธิบายไว้ในคำตอบของเขาการใช้ BGP Communities กับ blackhole traffic สามารถทำงานได้ดีหากเครือข่ายของคุณมีขนาดเล็ก กลไกนี้จะบันทึกไว้ในRFC 3882 อย่างไรก็ตามเช่นเดียวกับเราหากคุณต้องการดูดซับปริมาณการโจมตีแทนที่จะเป็น Blackhole (เช่นคุณต้องการรวบรวมข้อมูลการโจมตี DDOS ) จากนั้นระวังความเสียหายของหลักประกันที่ผู้ให้บริการเครือข่ายตัวกลางจะถูกอัดแน่น คุณสามารถลดความเสียหายของหลักประกันได้โดยดูจาก ISP โดยตรงของเครือข่ายที่เริ่มการโจมตี คุณจะมีเส้นทางที่สั้นที่สุดจากผู้โจมตีไปยังปลายทาง นอกจากนี้คุณสามารถใช้เครือข่าย Anycastออกแบบซึ่งจะหมายถึงหนึ่งที่อยู่ IP ที่เข้าชมหลายศูนย์ข้อมูลอย่างมีประสิทธิภาพ (ขึ้นอยู่กับสิ่งที่ใกล้เคียงที่สุด)

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


-1

หากหลักฐานทั้งหมดที่คุณเก็บรวบรวมเป็นแพ็กเก็ตที่เต็มไปด้วยที่อยู่ IP ต้นทางจาก AS ที่ระบุคุณอาจข้ามไปยังข้อสรุปที่ผิด คำอธิบายที่เป็นไปได้มากกว่าคือ IP ต้นทางเหล่านั้นถูกหลอก

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

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

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

หากเราคิดว่าคุณมีวิธีการบางอย่างที่ฉันไม่ได้คิดเกี่ยวกับการยืนยันที่ได้รับแพ็คเก็ตนั้นมีต้นกำเนิดมาจาก AS ที่คุณคิดว่าและคุณไม่สามารถบล็อกมันได้ที่แหล่งที่มาและต้องการบล็อกผ่าน BGP แทน ได้อ่านเกี่ยวกับวิธีที่ค่อนข้างเสี่ยงเพื่อให้บรรลุเป้าหมายนี้ แนวคิดคือคุณเพิ่มเส้นทาง AS ไปยังเส้นทางที่คุณกำลังประกาศ ในพา ธ AS prepended นี้คุณรวมหมายเลข AS ของแหล่งที่มาของแพ็กเก็ตเหล่านั้น

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

นั่นคือทฤษฎี การทำงานจริง ๆ จะขึ้นอยู่กับปัจจัยต่าง ๆ หรือไม่ ตัวอย่างเช่นมันขึ้นอยู่กับการใช้หมายเลข AS ที่แพ็กเก็ตมาจากซึ่งอาจแตกต่างจากหมายเลข AS ที่ประกาศที่อยู่ IP เหล่านั้น (ความแตกต่างดังกล่าวอาจถูกต้องตามกฎหมายหรือเนื่องจากการปลอมแปลง)

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

เป็นการโทรของคุณไม่ว่าวิธีการนี้มีความเสี่ยงหรือไม่

(ฉันจะเชื่อมโยงกับแหล่งที่มาสำหรับวิธีการนี้หากฉันสามารถหามันได้อีกครั้ง)


2
นั่นเป็นสิ่งที่อันตรายมากที่ต้องทำ คุณกำลังหลอกคนอื่นตามที่คุณไม่ได้เป็นเจ้าของ นอกจากนี้ถ้าคนอื่น ๆ ทิ้งเส้นทางจากนั้นพวกเขาก็จะทิ้งเส้นทางของคุณเช่นกัน
Sebastian Wiesinger

1
@Sebastian True ความเสี่ยงนั้นก็มีอยู่เช่นกัน แต่หากทางเลือกอื่นเป็นเครือข่ายที่ไม่สามารถเข้าถึงได้เนื่องจากถูกน้ำท่วมด้วยการจราจรอาจเป็นความเสี่ยงที่คุ้มค่า
kasperd

ฟังดูเหมือนความคิดที่แย่มากฉันไม่เคยได้ยินมาก่อน มันหยุดการเชื่อมต่อสำหรับ ASN ทั้งหมดเมื่อมีหนึ่งโหนด botnet ซึ่งไม่ใช่สิ่งที่คุณต้องการเช่น cloudproviders ขนาดใหญ่ นอกจากนี้ยังปรับขนาดได้ไม่ดีกับ DDoS'es ซึ่งมีหลายพันโหนด botnet ที่โจมตีบางอย่างในเครือข่ายของคุณ
Teun Vink

1
@TeunVink มันใช้ไม่ได้กับการโจมตี DDoS ทั่วไป แต่ OP ไม่ได้ถามเกี่ยวกับการโจมตี DDoS ทั่วไป เขาถามเกี่ยวกับการโจมตีที่การรับส่งข้อมูลทั้งหมดเริ่มต้นจาก AS ทำลายการเชื่อมต่อกับหนึ่ง AS จะยอมรับได้หากเป็นอีกทางเลือกหนึ่งคือการทำลายการเชื่อมต่อกับอินเทอร์เน็ตทั้งหมด
kasperd

-2

คุณสามารถปิดบัง AS ของพวกเขาจากเครือข่ายท้องถิ่นของคุณดังนั้นเราเตอร์ BGP ของคุณจะสร้างเส้นทางว่างสำหรับคำนำหน้าใด ๆ ที่พวกเขาประกาศ

มือโปร:

  • AS ของคุณจะปรากฏแก่พวกเขาซึ่งเป็นเป้าหมายของพวกเขาในขณะที่คุณยังคงแลกเปลี่ยนข้อมูลกับคนอื่นตามปกติ
  • การกรองทางเข้าท้องถิ่นของคุณจะลดลงแพ็คเก็ตที่เข้ามาจาก AS โดยอัตโนมัติ

Contra:

  • พวกเขาสามารถสร้างเส้นทาง blackhole บนเราเตอร์ของคุณดังนั้นตรวจสอบให้แน่ใจว่ามีกฎที่เหมาะสมเพื่อให้เส้นทางที่สำคัญที่สุดของคุณยังคงอยู่

1
Blackholing AS ทั้งหมดหมายความว่าคุณจะต้องจบการดอสด้วยตัวเอง ไม่มีใครใน AS ที่สามารถติดต่อคุณได้ ลูกค้าของคุณอาจอยู่ในนั้น
Ron Trunk

1
ฉันสมมติว่าเป็นศัตรูกันที่นี่นั่นคือการสังเกตเห็นคุณค่าจะหายไปถ้าคุณบล็อกพวกเขาทั้งหมด มีบริการ "bulletproof hosting" สองสามอย่างที่ฉันต้องการจัดเก็บในหมวดหมู่นี้
Simon Richter

1
ASN ส่วนใหญ่ไม่ได้เป็นมิตรหรือเป็นมิตรเพียงแค่มีโฮสต์บางตัวซึ่งเป็นส่วนหนึ่งของบ็อตเน็ต นอกจากนี้วิธีการนี้ไม่ได้ป้องกันลิงก์อัปสตรีมของคุณจากการถูกน้ำท่วมดังนั้นจึงไม่ช่วยให้คุณหยุดการโจมตี DDoS ตามปริมาณ
Teun Vink
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.