Tengo un enrutador quagga con dos vecinos de tránsito y anunciando mi propio espacio IP. Recientemente me uní a un intercambio público entre pares (IXP) y, por lo tanto, soy parte de su red local (/ 24), junto con todos los demás participantes. Hasta ahora todo funciona bien.
Ahora, por seguridad, me pregunto si otros participantes no podrían simplemente enrutar todo su tráfico saliente a través de mí. Por ejemplo, qué sucede si cualquier otro participante apunte una ruta predeterminada a mi ip IXP. Si entiendo correctamente, todo el tráfico saliente de ese participante iría a mi enrutador que lo enrutaría a Internet utilizando mi enlace ascendente de tránsito, ¿verdad?
Así que me pregunto si tengo que tomar alguna medida en contra. Mis ideas son:
Configurar reglas de firewall (iptables) para que solo el tráfico con un destino de mi propio espacio IP sea aceptado por otro participante IXP. Elimine cualquier otro tráfico de los participantes de IXP.
De alguna manera, haga que quagga use una tabla de enrutamiento de kernel diferente para cada vecino (o grupo de pares). La tabla de enrutamiento para los vecinos IXP no contendría ninguna entrada, excepto mi propio espacio IP y, por lo tanto, no ocurriría ningún enrutamiento utilizando mis enlaces ascendentes de tránsito ip. Mirando la salida de
ip rule show
shows quagga no está haciendo esto automáticamente?
¿Estoy en el camino correcto? ¿Por qué 2. no se implementa en Quagga directamente? ¿Cómo lidian los enrutadores de hardware (cisco, juniper, ...) con este problema?
Respuestas:
Tienes razón, si no tomas ninguna medida, esto podría suceder. Es una violación de la política de uso aceptable de la mayoría de los IXP que conozco, pero aún así desea evitar que suceda.
Su primera solución es buena y resolverá su problema. Solo asegúrese de no realizar un seguimiento del estado de la sesión en iptables, eso probablemente matará el rendimiento o incluso su enrutador.
También puede considerar el filtrado de salida de una manera similar: no permita que los paquetes salgan de su red desde fuentes desconocidas. Esto evitará que los hosts de su red envíen paquetes IP falsificados, que se usan comúnmente en ataques DDoS.
No implementaría la segunda solución. Es complicado y no se escala bien si tiene múltiples enrutadores que manejan sus tránsitos y pares o si tiene una gran cantidad de sesiones de emparejamiento (un par de hunderds en un IXP no es tan raro).
Sé que este problema se resuelve en la configuración configurando RPF en la interfaz de salida y / o escribiendo filtros en todas las plataformas de enrutador de hardware.
fuente
Si está ejecutando Quagga en una caja de Linux, puede habilitar RPF configurando el parámetro del kernel
net.ipv4.conf.default.rp_filter
en 1 o 2.Consulte esta página para obtener más detalles: http://www.slashroot.in/linux-kernel-rpfilter-settings-reverse-path-filtering
fuente
Según tengo entendido, tiene 2 conexiones con proveedores de tránsito y 1 conexión con un punto de interconexión, en esta situación supongo que está utilizando BGP para conectarse con sus proveedores de tránsito y con un enrutador IXP.
La forma en que BGP funciona es que otros solo pueden llegar a los destinos que les anuncia. Entonces, por ejemplo, tiene un / 24 y lo anunciará a sus proveedores de tránsito para que los anfitriones en Internet puedan comunicarse con usted a través de sus pares de tránsito y también anuncie su / 24 en el punto de enlace para que los hosts conectados al punto de enlace puedan contactarlo directamente sin tener que pasar por Internet (ya que este sería el mejor camino).
Para las sesiones de BGP, normalmente filtraría lo que anuncia a sus pares y lo que le anuncian a usted (si tiene pares posteriores) con una lista de prefijos, por ejemplo. En general, no filtrará entrantes desde el intercambio de pares, ya que el intercambio solo le enviará rutas de personas conectadas en el intercambio. Esto es similar a sus proveedores de tránsito, excepto que generalmente le enviarán la tabla de enrutamiento global completa (todos los destinos en Internet).
En esta situación, agregaría una lista de prefijos que coincida con una ACL en la dirección de salida en la sesión BGP conectada al punto de enlace para anunciar solo su prefijo / 24, esto permitirá que los hosts en el intercambio de enlace lleguen solo a IP en su / 24 a través de su enrutador (que es lo que quieres).
Si alguien le anuncia una ruta predeterminada y usted la acepta, no tomará su tráfico y lo enviará a Internet. En esta situación, vería una ruta a Internet a través de ellos porque su enrutador verá una ruta a 0.0.0.0/0 (Internet) a través de ellos porque se lo anunciaron.
El único momento en que los hosts conectados al intercambio de pares verán Internet a través de usted es si anuncia una ruta predeterminada en el intercambio usted mismo. La única otra vez que puede ser utilizado como “AS de tránsito” es si tiene clientes que son pares intermedios con usted y le solicitan que anuncie su espacio IP al IXP para que puedan comunicarse con usted a través del intercambio.
fuente