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).