Uno de mis clientes de tránsito de BGP me ha pedido una solución para que le resulte más fácil bloquear el tráfico dentro de nuestra red cuando sufre ataques DDoS. Por lo general, el ennegrecimiento de BGP se realiza al ennegrecer el objetivo , sin embargo, mi cliente está buscando una solución para el agujero negro basado en la dirección de origen para que el objetivo del ataque no se desconecte.
Construir una solución de agujero negro basada en la dirección del objetivo no es tan difícil: solo haga que el cliente anuncie el objetivo como una ruta más específica a través de una sesión BGP separada o haga que lo etiquete con una comunidad específica, luego use una política de enrutamiento para establecer el siguiente salto a alguna interfaz de descarte.
La construcción de una solución de agujero negro donde las fuentes del ataque (que no están dentro del espacio IP del cliente) están bloqueadas parece ser un poco más difícil. Si usara la misma solución que para filtrar destinos, mi problema es que solo quiero descartar el tráfico de fuentes específicas hacia este cliente específico, por lo que insertar rutas de descarte en mi tabla de enrutamiento ya no es aceptable ya que afectaría a otros clientes como bien. Así que necesito alguna forma de crear un filtro que solo se aplique a este cliente específico.
La primera solución en la que estaba pensando era usar BGPFlowspec. Desafortunadamente, esto no funcionará para este cliente específico ya que su equipo no lo admite.
Entonces, lo que he estado buscando es una forma de crear un filtro de firewall dinámico basado en alguna propiedad de enrutamiento, muy probablemente una comunidad establecida por nuestro cliente o por nosotros cuando recibimos una ruta específica a través de una sesión de agujero negro BGP dedicada. Este filtro se puede aplicar en las interfaces del cliente para bloquear el tráfico no deseado. Desafortunadamente, no he encontrado una manera fácil de crear un filtro de firewall (o lista de prefijos) de esta manera.
Encontré http://thomas.mangin.com/posts/bgp-firewall.html , que 'usa mal' la SCU / DCU para lograr más o menos lo que estoy buscando, pero suena como un truco .
Una de las otras soluciones que puedo pensar es crear un filtro estático en nuestras rutas y crear una interfaz que permita a nuestro cliente modificar la lista de prefijos utilizada por este filtro. Sin embargo, empujar los cambios de configuración en mis enrutadores cada vez que el cliente desea agregar un agujero negro no es realmente lo que quiero. Se preferiría alguna solución con BGP.
Por nuestro lado, el enrutamiento se realiza en Juniper, para una solución, preferiría tener algo que se pueda usar en una variedad de plataformas, por lo que básicamente debería usar BGP a través de una sesión separada o etiquetar rutas a través de una comunidad específica. De esta manera, también puedo usarlo para otros clientes.
Estoy realmente interesado si alguien tiene una buena solución para esto (aparte de la SCU / DCU).