Sử dụng BGP để bảo vệ chống lại cuộc tấn công DDoS có nguồn gốc từ AS từ xa


16

Tôi có một câu hỏi liên quan đến BGP và làm thế nào để đạt được cấu hình này.

Bộ định tuyến lõi doanh nghiệp của tôi được kết nối với một ISP (homed đơn). Bộ định tuyến này đã trao đổi các tiền tố ip công khai cụ thể với ISP trong các bản cập nhật BGP. Bây giờ hãy nói rằng có một số bước nhảy AS đang tràn ngập AS địa phương của tôi với một cuộc tấn công DDoS. Có nhiều mạng trong đó AS nhắm mục tiêu các máy chủ web trong AS địa phương của tôi.

Làm thế nào chúng ta có thể ngăn chặn lưu lượng này trên bộ định tuyến của mình bằng cách sử dụng BGP?

Đánh giá cao phản ứng của bạn !! :)


2
Làm thế nào bạn thiết lập nguồn lưu lượng này? Nếu bạn chỉ nhìn vào các địa chỉ IP nguồn, chúng có thể bị giả mạo. Một loạt các gói tất cả các địa chỉ nguồn giả mạo trong một AS là những gì bạn sẽ thấy, nếu một cuộc tấn công phản chiếu đang xảy ra.
kasperd

Có câu trả lời nào giúp bạn không? nếu vậy, bạn nên chấp nhận câu trả lời để câu hỏi không xuất hiện mãi mãi, tìm kiếm câu trả lời. Ngoài ra, bạn có thể cung cấp và chấp nhận câu trả lời của riêng bạn.
Ron Maupin

Câu trả lời:


14

Có hai điều bạn có thể làm với BGP:

RTBH - Hố đen kích hoạt từ xa

Tùy chọn đầu tiên là lựa chọn cơ bản: Hố đen (dừng lưu lượng) cho IP bị tấn công. Nhược điểm: IP đang được nhắm mục tiêu không còn có thể truy cập. Lợi ích: Phần còn lại của mạng của bạn ở lại. Packetlife có một lời giải thích hay về cách thức hoạt động và cách thực hiện. Tùy chọn thứ hai được xây dựng trên cái đầu tiên:

RTBH dựa trên nguồn

RTBH cũng có thể được sử dụng (trong một số cấu hình nhất định) để chặn lưu lượng truy cập đến từ các IP cụ thể (trong một DDoS thực sự sẽ không giúp được nhiều như lưu lượng truy cập đến từ hàng ngàn IP). Một lần nữa, Packetlife có một lời giải thích.

Trong trường hợp của bạn, bạn có thể nhận được tất cả các tiền tố cho AS từ Cơ sở dữ liệu định tuyến như RADB và chặn chúng bằng RTBH dựa trên nguồn. Lưu lượng truy cập vẫn sẽ tấn công mạng của bạn tại biên giới mặc dù.

Khi bạn sử dụng RTBH "đơn giản", lợi thế là bạn có thể gửi các tuyến RTBH này đến ISP thượng nguồn của mình (nếu họ hỗ trợ), người sau đó có thể chặn lưu lượng trong mạng của họ để bạn không phải xử lý.


Phương pháp được mô tả bởi Packetlife rất hữu ích, nhưng nó sẽ không được sử dụng trong trường hợp đường lên của bạn bị bão hòa bởi lưu lượng tấn công. Tôi đã viết một câu trả lời về việc sử dụng các cộng đồng hố đen thượng nguồn để giải quyết vấn đề này.
Elliot B.

2
Đó là câu cuối cùng của tôi: "Khi bạn sử dụng RTBH" đơn giản ", lợi thế là bạn có thể gửi các tuyến RTBH này đến ISP thượng nguồn của mình (nếu họ hỗ trợ), người sau đó có thể chặn lưu lượng truy cập trong mạng của họ để bạn không có để xử lý nó. "
Sebastian Wiesinger

Tôi đã thấy điều đó, nhưng tôi muốn nói chi tiết về phương pháp hố đen do khách hàng kích hoạt và chỉ ra rằng "[không có] để xử lý nó" có nghĩa là lỗ đen sẽ không hiệu quả nếu không. Không có ý định gõ vào câu trả lời của bạn, chỉ cung cấp thêm thông tin :)
Elliot B.

7

Phương pháp RTBH được mô tả bởi @Sebastian thông qua Packetlife là hữu ích, nhưng phương pháp đó sẽ chỉ hoạt động nếu đường lên của bạn không bị bão hòa bởi lưu lượng tấn công. Nếu đường lên của bạn đã bão hòa, thì lỗ đen phải được triển khai tại một điểm trước khi lưu lượng tấn công đến mạng của bạn.

Bạn có thể thực hiện điều này với các cộng đồng hố đen thượng nguồn.

Hurricane Electric cung cấp một lời giải thích / ví dụ đơn giản về việc bọc đen do khách hàng kích hoạt với cộng đồng BGP:

  1. Tấn công bắt đầu
  2. Khách hàng xác định phạm vi ip hoặc ip đang bị tấn công
  3. Khách hàng tĩnh định tuyến phạm vi ip hoặc ip đến Null0 và thêm thông báo về tiền tố tương ứng với sơ đồ tuyến có gắn thẻ với 6939: 666.

Ví dụ về cấu hình của Cisco (trong đó XXXX là ip bị tấn công):

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

Lưu ý rằng đó 6939:666là cộng đồng hố đen dành riêng cho Hurricane Electric. Bạn sẽ sửa đổi giá trị này để tương ứng với cộng đồng lỗ đen của nhà cung cấp ngược dòng của bạn.

Tất nhiên có nhiều cách để cấu hình này. Trên thiết bị thổ cẩm của tôi, tôi sử dụng cấu hình sau:

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

Trong trường hợp 55555:666là cộng đồng Blackhole của nhà cung cấp ở thượng nguồn của bạn. Một lỗ đen ngược dòng sau đó có thể được áp dụng với một lệnh đơn giản:

ip route 123.123.123.123 255.255.255.255 null0 tag 66

4

Từ góc độ BGP, bạn không thể làm được gì nhiều. Bạn có thể ngừng quảng cáo tiền tố của mình nhưng sau đó bạn chỉ hoàn thành cuộc tấn công DoS vì không ai có thể truy cập dịch vụ của bạn.

Nếu bạn có nhiều tiền tố, bạn có thể đánh số lại nhưng có khả năng cuộc tấn công cũng sẽ chuyển sang tiền tố mới.

Những gì bạn cần làm là làm việc với thượng nguồn của bạn. Họ có một dịch vụ chà? Nếu họ có một hệ thống như Arbor Peakflow, họ có thể xóa lưu lượng và làm sạch nó trước khi nó xâm nhập vào mạng của bạn. Những dịch vụ như vậy thường rất đắt tiền.

Ngoài ra còn có các tùy chọn khác như Cloudflare và các công ty tương tự nơi bạn thiết lập BGP thông qua đường hầm GRE cho công ty đó và lưu lượng truy cập của bạn được xử lý bởi "đám mây" có thể xử lý lưu lượng truy cập nhiều hơn các thiết bị cục bộ của bạn.


0

Tôi làm việc cho CloudFlare, tôi muốn chia sẻ một số kiến ​​thức tôi đã phát triển về việc giảm thiểu các cuộc tấn công DDOS trong vài tháng qua tôi đã ở đây.

Thứ nhất; rất nhiều người dùng đến các biện pháp cấp mạng để giảm thiểu các cuộc tấn công DDOS của lớp ứng dụng. Trước khi lặn đến BGP Blackholing, hãy xem xét liệu đó có phải là một điều gì đó giới hạn tỷ lệ hoặc bảo vệ lớp ứng dụng có thể giải quyết hay không. Mà nói; Bây giờ rất rẻ để khởi chạy các cuộc tấn công DDOS dung lượng rất lớn (cho biết có bao nhiêu Trình phục hồi DNS mở xung quanh và cách chúng có thể khuếch đại các cuộc tấn công).

Như Elliot đã mô tả trong câu trả lời của mình, sử dụng Cộng đồng BGP để lưu lượng truy cập lỗ đen có thể hoạt động tốt nếu mạng của bạn nhỏ; cơ chế này được ghi lại trong RFC 3882 . Tuy nhiên, giống như chúng tôi, nếu bạn muốn hấp thụ lưu lượng tấn công thay vì lỗ đen (tức là bạn muốn thu thập dữ liệu tấn công DDOS ), thì hãy cẩn thận với thiệt hại tài sản thế chấp, theo đó các nhà cung cấp mạng trung gian cuối cùng bị tắc nghẽn. Bạn có thể giảm thiểu thiệt hại tài sản thế chấp bằng cách trực tiếp nhìn vào các ISP của các mạng đang phát động các cuộc tấn công. Bằng cách làm như vậy, bạn có con đường ngắn nhất từ ​​kẻ tấn công đến đích. Ngoài ra, bạn có thể triển khai thiết kế mạng Anycast , điều này có nghĩa là một địa chỉ IP sẽ truy cập nhiều trung tâm dữ liệu (tùy thuộc vào địa điểm nào gần nhất).

Rõ ràng không phải mọi công ty đều có cơ sở hạ tầng để làm Anycast và tiên phong; đó là lý do tại sao các doanh nghiệp đang ngày càng chuyển sang các dịch vụ đám mây để loại bỏ lưu lượng xấu trước khi nó đến các trung tâm dữ liệu của họ. Đương nhiên CloudFlare là một trong những dịch vụ như vậy.


-1

Nếu tất cả các bằng chứng bạn đã thu thập được là một loạt các gói có địa chỉ IP nguồn từ một AS cụ thể, bạn có thể đã nhảy đến kết luận sai. Một lời giải thích có khả năng hơn là những IP nguồn đó bị giả mạo.

Một cuộc tấn công phản xạ / khuếch đại liên quan đến việc gửi rất nhiều gói giả mạo địa chỉ IP nguồn của nạn nhân. Nếu đây thực sự là những gì đang xảy ra và bạn có máy chủ trong mạng của mình, có thể khuếch đại một cuộc tấn công, thì mạng mà bạn cáo buộc về một cuộc tấn công thực sự là nạn nhân và bạn đang hỗ trợ kẻ tấn công.

Trong tình huống như vậy, giải pháp không phải là áp dụng bất kỳ loại kỹ thuật lưu lượng nào, mà là cấu hình các máy chủ của bạn sao cho chúng không thể được sử dụng trong một cuộc tấn công khuếch đại. Làm thế nào để làm điều này không thực sự là một câu hỏi kỹ thuật mạng.

Tất nhiên là có thể, tất cả các gói đều có nguồn gốc từ một AS. Với sự hợp tác từ AS vi phạm, bạn có thể nhận được xác nhận rằng các gói thực tế có nguồn gốc từ AS của chúng. Tuy nhiên với mức độ hợp tác đó, bạn cũng có thể khiến cuộc tấn công bị chặn tại nguồn.

Nếu chúng tôi giả sử bạn có thông qua một số phương pháp tôi chưa nghĩ đến việc xác nhận các gói thực sự có nguồn gốc từ AS bạn nghĩ và rằng bạn không thể chặn nó tại nguồn và thay vào đó muốn chặn nó thông qua phương tiện của BGP, thì tôi đã đọc về một phương pháp hơi mạo hiểm để đạt được điều này. Ý tưởng là bạn chuẩn bị một đường dẫn AS đến tuyến đường bạn đang thông báo. Trong đường dẫn AS được chuẩn bị trước này, bạn bao gồm số AS của nguồn của các gói đó.

Khi thông báo đến các bộ định tuyến BGP trong AS vi phạm, họ sẽ phát hiện một vòng lặp và thả thông báo. Trong khi đó, phần còn lại của thế giới sẽ không thấy một vòng lặp và chấp nhận thông báo.

Đó là lý thuyết. Liệu nó có thực sự hoạt động trong thực tế hay không phụ thuộc vào một vài yếu tố khác nhau. Ví dụ, nó phụ thuộc vào việc sử dụng số AS mà các gói tin có nguồn gốc từ đó, có thể khác với số AS thông báo các địa chỉ IP đó. (Sự khác biệt như vậy có thể là hợp pháp hoặc do giả mạo.)

Nó cũng phụ thuộc vào việc ngược dòng của bạn không lọc tuyến nếu họ thấy đường AS đáng ngờ. Hơn nữa, các mạng ở xa bạn cũng có thể bỏ tuyến của bạn chẳng hạn nếu họ cũng có trải nghiệm xấu với AS vi phạm và đã quyết định bỏ tất cả các tuyến từ đó.

Đó là cuộc gọi của bạn cho dù phương pháp này có đáng để mạo hiểm hay không.

(Tôi sẽ liên kết với nguồn cho phương pháp này, nếu tôi có thể tìm lại được.)


2
Đó là một điều rất nguy hiểm để làm. Bạn đang giả mạo một AS khác trong con đường của bạn mà bạn không sở hữu. Ngoài ra nếu những người khác bỏ tuyến từ AS đó, họ cũng sẽ bỏ tuyến của bạn.
Sebastian Wiesinger

1
@Sebastian Đúng, nguy cơ đó cũng tồn tại. Nhưng nếu giải pháp thay thế là một mạng không thể truy cập được do bị ngập trong lưu lượng truy cập, nó có thể có giá trị rủi ro.
kasperd

Điều này nghe có vẻ là một ý tưởng rất tồi tệ, tôi chưa bao giờ nghe về nó trước đây. Nó phá vỡ kết nối cho toàn bộ ASN khi có một nút botnet, đó không phải là điều bạn muốn, ví dụ như các nhà cung cấp đám mây lớn. Ngoài ra, nó có quy mô rất tệ với DDoS, nơi hàng ngàn nút botnet đang tấn công một cái gì đó trong mạng của bạn.
Teun Vink

1
@TeunVink Nó chắc chắn không thể áp dụng cho một cuộc tấn công DDoS thông thường. Nhưng OP không hỏi về một cuộc tấn công DDoS điển hình. Anh ta đang hỏi về một cuộc tấn công trong đó tất cả lưu lượng truy cập bắt nguồn từ một AS. Phá vỡ kết nối với một AS sẽ được chấp nhận, nếu phương án thay thế là một cuộc tấn công phá vỡ kết nối với toàn bộ internet.
kasperd

-2

Bạn có thể lỗ đen AS của họ từ mạng cục bộ của bạn, vì vậy bộ định tuyến BGP của bạn tạo các tuyến null cho bất kỳ tiền tố nào họ thông báo.

Chuyên nghiệp:

  • AS của bạn sẽ xuất hiện với họ, đó là mục tiêu của họ, trong khi bạn vẫn trao đổi dữ liệu với những người khác bình thường.
  • bộ lọc xâm nhập cục bộ của bạn sẽ tự động thả các gói đến từ AS đó

Contra:

  • họ có thể tạo các tuyến lỗ đen trên bộ định tuyến của bạn, vì vậy hãy đảm bảo có các quy tắc phù hợp để giữ nguyên các tuyến quan trọng nhất của bạn

1
Blackholing toàn bộ AS có nghĩa là bạn kết thúc việc tự mình sử dụng. Không ai khác trong AS đó có thể tiếp cận bạn. Khách hàng của bạn cũng có thể ở trong AS đó.
Ron Trunk

1
Tôi đang giả sử một AS thù địch ở đây, tức là lưu ý về giá trị sẽ bị mất nếu bạn chặn chúng hoàn toàn. Có một số dịch vụ "lưu trữ chống đạn" tôi sẽ gửi vào danh mục này.
Simon Richter

1
Hầu hết các ASN không hoàn toàn thù địch hoặc thân thiện, chỉ chứa một số máy chủ là một phần của mạng botnet. Ngoài ra, cách tiếp cận này không ngăn các liên kết ngược dòng của bạn bị ngập, do đó, nó sẽ không giúp bạn ngăn chặn các cuộc tấn công DDoS dựa trên khối lượng.
Teun Vink
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.