Tạo bộ lọc tường lửa JunOS dựa trên các thuộc tính định tuyến động


7

Một trong những khách hàng quá cảnh BGP của tôi đã yêu cầu tôi đưa ra giải pháp để giúp anh ta dễ dàng truy cập lưu lượng truy cập trong mạng của chúng tôi khi anh ta bị tấn công DDoS. Thông thường, việc bôi đen BGP được thực hiện bằng cách bôi đen mục tiêu , tuy nhiên, khách hàng của tôi đang tìm giải pháp cho lỗ đen dựa trên địa chỉ nguồn để mục tiêu của cuộc tấn công sẽ không được thực hiện ngoại tuyến.

Xây dựng giải pháp lỗ đen dựa trên địa chỉ đích không khó lắm: chỉ cần khách hàng thông báo mục tiêu là một tuyến cụ thể hơn thông qua phiên BGP riêng biệt hoặc yêu cầu anh ta gắn thẻ với cộng đồng cụ thể, sau đó sử dụng chính sách định tuyến để đặt next-hop để một số giao diện loại bỏ.

Xây dựng một giải pháp lỗ đen trong đó các nguồn của cuộc tấn công (không nằm trong không gian IP của khách hàng) được bôi đen dường như khó hơn một chút. Nếu tôi sử dụng cùng một giải pháp như để lọc các điểm đến thì vấn đề của tôi là tôi chỉ muốn loại bỏ lưu lượng truy cập từ các nguồn cụ thể đối với khách hàng cụ thể này, vì vậy việc chèn các tuyến đường vào bảng định tuyến của tôi không thể chấp nhận được nữa vì nó sẽ ảnh hưởng đến các khách hàng khác vì tốt. Vì vậy, tôi cần một số cách để tạo bộ lọc chỉ áp dụng cho khách hàng cụ thể này.

Giải pháp đầu tiên tôi nghĩ đến là sử dụng BGPFlowspec. Thật không may, điều này sẽ không làm việc cho khách hàng cụ thể này vì thiết bị của anh ta không hỗ trợ nó.

Vì vậy, những gì tôi đang tìm kiếm là một cách để tạo bộ lọc tường lửa động dựa trên một số thuộc tính định tuyến, rất có thể là một cộng đồng được đặt bởi khách hàng của chúng tôi hoặc bởi chúng tôi khi nhận được một tuyến đường cụ thể thông qua phiên lỗ đen BGP chuyên dụng. Bộ lọc này sau đó có thể được áp dụng trên các giao diện của khách hàng để chặn lưu lượng truy cập không mong muốn. Thật không may, tôi không tìm thấy một cách dễ dàng để tạo bộ lọc tường lửa (hoặc danh sách tiền tố) theo cách này.

Tôi đã tìm thấy http://thomas.mangin.com/posts/bgp-firewall.html , điều này 'lạm dụng' SCU / DCU để đạt được ít nhiều những gì tôi đang tìm kiếm, nhưng nghe có vẻ như một chút hack .

Một trong những giải pháp khác tôi có thể nghĩ đến là tạo một số bộ lọc tĩnh trên các tuyến đường của chúng tôi và xây dựng giao diện cho phép khách hàng của chúng tôi sửa đổi danh sách tiền tố được sử dụng bởi bộ lọc này. Tuy nhiên, việc thay đổi cấu hình trên các bộ định tuyến của tôi mỗi khi khách hàng muốn thêm một lỗ đen không thực sự là điều tôi muốn. Một số giải pháp sử dụng BGP sẽ được ưu tiên.

Về mặt định tuyến của chúng tôi được thực hiện trên Juniper, đối với một giải pháp tôi muốn có một cái gì đó có thể được sử dụng trên nhiều nền tảng khác nhau, vì vậy về cơ bản, chúng tôi chỉ nên sử dụng BGP thông qua một phiên hoặc gắn thẻ tuyến thông qua một cộng đồng cụ thể. Bằng cách này tôi cũng có thể sử dụng nó cho các khách hàng khác.

Tôi thực sự quan tâm nếu có ai có giải pháp tốt cho việc này (ngoài SCU / DCU).


Bạn đã bao giờ tìm ra điều này, tôi biết điều này là siêu cũ, hình dung nó có thể đáng để kiểm tra? Bạn đang sử dụng nền tảng nào?
Jordan Head

@JordanHead tiếc là không, tôi ít nhiều đã từ bỏ việc này. Chúng tôi chạy một nền tảng của các bộ định tuyến Juniper MX khác nhau (chủ yếu là 5/80/104).
Teun Vink

Có bao nhiêu địa chỉ nguồn đang tấn công?
Jordan Head

Điều đó sẽ tùy thuộc vào khách hàng và nên năng động, nhưng ít nhất hàng chục hoặc hàng trăm nên có thể. Tôi đang tìm kiếm thứ gì đó cho phép khách hàng của tôi chèn các nguồn mà lưu lượng truy cập không được gửi đến mạng của họ thông qua BGP. Có lẽ việc cung cấp quyền truy cập thông qua một cổng thông tin đến một hộp chuyên dụng chèn các lỗ đen (Flowpec) sẽ dễ dàng hơn.
Teun Vink

Nhìn vào ExaBGP, được viết bởi Thomas Mangin (tác giả hack SCU / DCU) - trình nền BGP được lập trình đầy đủ, hỗ trợ Flowspec. Đặt giao diện cổng thông tin này cho khách hàng của bạn sẽ là một giải pháp tốt
Benjamin Dale

Câu trả lời:


1

GRNET (mạng Nghiên cứu và Giáo dục Hy Lạp) đã phát triển một ứng dụng web cho khách hàng thực hiện điều này với Flowspec. Cổng thông tin web có phần phụ trợ BGP Flowspec sẽ truyền luồng vào mạng của bạn. Cấu hình cao và được sử dụng trên xương sống GEANT 500-1.000 Gbps: https://www.noc.grnet.gr/en/fod


1

Để (cuối cùng) trả lời câu hỏi của riêng tôi:

Đây không phải là cách tôi muốn thực hiện điều này với các phiên bản hiện đang được hỗ trợ của JunOS. Vâng, có nhiều cách khác để đạt được mục tiêu như đã được đề cập trong câu trả lời khác và trong các bình luận, nhưng câu hỏi cụ thể của tôi là có thể báo hiệu việc bôi đen bằng cách sử dụng phiên BGP.


1

Tạo quy tắc tường lửa động không chỉ để chuyển hướng lưu lượng truy cập cho một blachole mà còn cho phép trung tâm dữ liệu, lưu lượng truy cập nội bộ và mạng nội bộ được phân phối theo địa lý, để có các chính sách tường lửa được xác định bằng trừu tượng ip, sử dụng một số nhãn trên định tuyến động để cư trú đối tượng tường lửa và sau đó để cho phép kiểm soát lưu lượng. Tôi đã tìm kiếm một giải pháp như thế vài năm trước với Juniper nhưng tôi không có bất kỳ phản hồi nào. Có một số kịch bản trên Junos có thể giúp về chủ đề nhưng sau đó dân số đối tượng không hoàn toàn được thực hiện để đáp ứng với các sự kiện trao đổi định tuyến. Cũng không có khả năng gắn thẻ các tuyến trực tiếp để phân loại chúng theo nhu cầu:

  • Nếu có một mạng cho phụ trợ trên một trung tâm dữ liệu thì điều này có thể được gắn thẻ bằng cách sử dụng "thẻ phụ trợ" trực tiếp trên giao diện
  • Trên định tuyến động, "thẻ phụ trợ" này có thể được dịch thành một cộng đồng (ví dụ: BGP SoO) và được quảng cáo với điều đó
  • Trung tâm dữ liệu từ xa sẽ nhận được mạng được quảng cáo và điền vào một nhóm đối tượng địa chỉ có thể truy cập trực tiếp vào các phụ trợ khác.

FlowSpec có thể là một trợ giúp và một tường lửa có thể kết nối trực tiếp với lõi mpls vì PE cũng sẽ là một trợ giúp. Có ai biết về một giải pháp như vậy?

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.