Proyecto de Servidor de Rutas Bogon
Languages: en | es
Introducción
Un prefijo Bogon es una ruta que actualmente no debe aparecer en la tabla de enrutamiento de Internet. Un paquete enrutado sobre la Internet pública (not incluídas las VPN u otros túneles) no debería tener una dirección origen perteneciente a ningún rango declarado como Bogon. Estas se encuentran frecuentemente como direcciones de origen de ataques de Denegación de Servicio Distribuídos (DDoS).
Existen una variedad de formas de determinar los bogons y las asignaciones del IANA. La meta del Proyecto de Servidor de Rutas es proveer estos datos y actualizarlos mediante una sesión eBGP multisalto. Mediante esto se puede lograr la automatización del filtrado de manera muy simple incluso en redes de gran envergadura.
Los Bogons ingresan ocasionalmente dentro de la tabla mundial de enrutamiento como un error de configuración de un router. El Bogon route-server puede ayudarlo a evitar la propagación de esos errores o el ingreso de esos prefijos.
Otros métodos de rastreo y filtrado de Bogons pueden ser encontrados en la Página de Referencia sobre Bogons.
ADVERTENCIAS
N.B.: Por favor recuerde que este es un servicio gratuíto. El mismo se brinda de una forma no garantizada y sin garantías. Usted es dueño de su propia red, y es responsable por el (mal) uso de estos datos. Nosotros deseamos que sean de utilidad para usted y para su red. APRENDA ACERCA DE SU RED.
Por favor note que si usted utiliza espacio de direccionamiento IP definido en RFC1918 de forma interna, usted puede necesitar el filtrado de esos anuncios desde los Servidores de Rutas Bogon. Esto puede lograrse de manera muy sencilla mediante la utilización de route-maps o prefix-lists. Por favor no dude en contactarnos si necesita asistencia con estos filtros.
Detalles Técnicos
El peering es creado sobre una sesión eBGP multihop. Los routers utilizados para este peering son una colección de Routers Cisco 4500M y 2600; los mismos se utilizan para el único propósito de anuncio de los prefijos bogon. Actualmente existen 10 bogon route-servers en línea; 5 en los Estados Unidos, 2 en Europa, 2 en Asia y 1 en Africa. Nosotros recomendamos encarecidamente que usted haga sesiones con al menos 2 route-servers separados geográficamente por cuestiones de redundancia.
Los prefijos Bogon son anunciados en forma desagregada; siendo el 29 de OCTUBRE de 2008 esta lista incluye 44 prefijos. El ASN para todos los Bogon route-servers es 65333. Un ASN privado se usa para asegurar que la filtración sea fácilmente detectada y prevenida. Cada prejo es etiquetad con una community, 65333:888, para poder filtrar con más facilidad. Las sesiones de peering permiten el uso de un password. Los bogon route-servers no aceptan prefijos desde sus vecinos.
Nota para aquellos que usen Zebra: Zebra todavía no soporta el uso de passwords RFC 2385 en las sesiones de peering. Nosotros vamos a hacer la excepción del requerimiento de passwords TCP MD5 con los usuarios de este software.
Los Bogon route-servers anuncian los prefijos bogon mediante una combinación de comandos BGP network y rutas estáticas. Cuando un prefijo es asignado por el IANA a alguno de los RIRs, la ruta estática es removida y el prefijo Bogon es rápidamente eliminado de los anuncios BGP. Es fácil, limpio y funciona perfecto.
Filtrando Bogons Automáticamente
Entonces cómo uso los prefijos con la community 65333:888 para generar un filtro de Bogon? Obviamente hay miles de métodos. Un posible método es usar un route-map y una ruta con un next-hop hacia la interfase null0 (Cisco). Nosotros hemos recolectado los ejemplos que figuran a continuación desde nuestra propia experiencia y desde muchos contribuyentes que nos ayudaron.
Ejemplo de Router Cisco
router bgp <su ASN> neighbor x.x.x.x remote-as 65333 neighbor x.x.x.x ebgp-multihop 255 neighbor x.x.x.x description <su Descripción> neighbor x.x.x.x prefix-list cymru-out out neighbor x.x.x.x route-map CYMRUBOGONS in neighbor x.x.x.x password <su password asignado por nosotros> neighbor x.x.x.x maximum-prefix 100 threshold 90 ! ! Recuerde configurar su Router Cisco para manejar el nuevo estilo ! de visualización de communities. ip bgp-community new-format ! ! Declare un Bogon next-hop en todos los Routers que reciben los Bogons. ip route 192.0.2.1 255.255.255.255 null0 ! ! Configure una community list para aceptar los prefijos Bogon dentro del ! route-map. ip community-list 10 permit 65333:888 ! ! Configure el route-map. Recuerde aplicarlo a las sesiones apropiadas ! de peering. route-map CYMRUBOGONS permit 10 description Filtrar Bogons aprendidos desde los Bogon Route-Servers de cymru.com match community 10 set ip next-hop 192.0.2.1 ! ip prefix-list cymru-out seq 5 deny 0.0.0.0/0 le 32
Ejemplo de Router Cisco con peer-groups
Con la llegada de múltiples Bogon route-servers, el uso de peer-groups de BGP en Cisco es muy conveniente. Gracias a John Brown por el ejemplo original.
router bgp <your asn> neighbor cymru-bogon peer-group neighbor cymru-bogon ebgp-multihop 255 neighbor cymru-bogon description <Descripción General> neighbor cymru-bogon prefix-list cymru-out out neighbor cymru-bogon route-map CYMRUBOGONS in neighbor cymru-bogon maximum-prefix 100 threshold 90 ! neighbor x.x.x.x remote-as 65333 neighbor x.x.x.x peer-group cymru-bogon neighbor x.x.x.x description <Descripción Específica> neighbor x.x.x.x password <su password asignado por el Team Cymru>
Ejemplo de Router Juniper
routing-options {
static {
route 192.0.2.1/32 {
discard;
no-readvertise;
retain;
}
}
/* Si usted ha declarado 192.0.2.0/24 como Bogon agregue esta linea. */
martians {
192.0.2.1/32 exact allow;
}
autonomous-system <su AS va aquí>;
}
protocols {
bgp {
group CYMRU {
type external;
description "peering para recibir los bogons desde CYMRU";
import CYMRU-bogons-in;
authentication-key "clave secreta"; # DATOS-SECRETOS
export deny-all;
peer-as 65333;
multihop 255;
neighbor <IP del bogon route-server>;
family inet {
unicast {
prefix-limit {
maximum 100;
teardown 100;
}
}
}
}
}
}
policy-options {
policy-statement CYMRU-bogons-in {
term 1 {
from {
protocol bgp;
as-path CYMRU-private-asn;
community CYMRU-bogon-community;
}
then {
/* backup en caso de que no-export es limpiado internamente */
community add dont-announce;
next-hop 192.0.2.1;
accept;
}
}
then reject; # acción por defecto
}
policy-statement deny-all {
then reject;
}
community dont-announce members <su AS va aquí>:<alguna community que suprima anuncios fuera de su AS>;
community CYMRU-bogon-community members [ no-export 65333:888 ];
as-path CYMRU-private-asn 65333;
}
Ejemplo de Force10 router
router bgp <su AS va aquí> neighbor IPV4_BOGONS peer-group neighbor IPV4_BOGONS route-map CYMRUBOGONS in neighbor IPV4_BOGONS distribute-list CYMRU-OUT out neighbor IPV4_BOGONS maximum-prefix 100 90 neighbor IPV4_BOGONS soft-reconfiguration inbound neighbor IPV4_BOGONS no shutdown neighbor x.x.x.x remote-as 65333 neighbor x.x.x.x peer-group IPV4_BOGONS neighbor x.x.x.x description <su descripción> neighbor x.x.x.x ebgp-multihop 255 neighbor x.x.x.x password <el password asignado por el Team Cymru> neighbor x.x.x.x no shutdown ! Hacer una ruta estática como esta en todos los routers que reciben la lista de Bogons. ip route 192.0.2.1 255.255.255.255 null0 ! ! Configurar una community list para aceptar los prefijos Bogon dentro del ! route-map. ip community-list CYMRU_COMMUNITY permit 65333:888 ! ! Configurar el route-map. Recuerde aplicarlo a todas las ! sesiones de peering. route-map CYMRU_BOGONS permit 10 description Filtrar bogons aprendidos desde los Bogon route-servers de cymru.com. match community CYMRU_COMMUNITY set next-hop 192.0.2.1 ! ip prefix-list CYMRU_OUT seq 5 deny any
Ejemplo de OpenBSD bgpd
El proyecto bgpd de OpenBSD puede ser usado para hacer peering con los Bogon route-servers. Nuestras gracias a Pete Vickers por este ejemplo.
# fragmento de configuración de /etc/bgpd.conf
#
# Basadi en la configuración de Pete Vickers del 05/2004.
#
# Modificado ligeramente para entremezclarse con pf, y
# además para aplicar políticas a las rutas originadas por Cymru
# que se reciben desde los peers IBGP.
#
# Configurar las sesiones con Cymru
#
group "peering bogon" {
remote-as 65333
local-address <MI-IP-DEL-ROUTER>
multihop 64
announce none
max-prefix 1000
tcp md5sig password <PASSWORD-ASIGNADO-POR-CYMRU>
neighbor <IP-DEL-BOGON-ROUTE-SERVER-1>
neighbor <IP-DEL-BOGON-ROUTE-SERVER-2>
# ... etc
}
#
#
# ¿Qué hacer con los updates? (puede ser usado con updates desde los
# peers del cymru, pero además desde peers IBGP si otros routers
# en este AS también obtienen los bogons). El "nexthop
# blackhole" es un poco extraño dada la config de pf,
# pero lo tenemos en cuenta en caso de que el filtrado de paquetes esté
# deshabilitado en cualquier lugar.
#
allow from any community 65333:888 set pftable "bogons"
allow from any community 65333:888 set nexthop blackhole
# Fragmento de código de /etc/pf.conf
#
table <bogons> persist
#
# No permito orígenes o destinos Bogon
block quick from <bogons> to any
block quick from any to <bogons>
Ejemplo de Mikrotik RouterOS
Este ejemplo de cómo configurar un equipo con Mikrotik RouterOS para usar el Bogon Route Server Project está disponible gracias a Ariel S. Weher.
# Config hecha por Ariel S. Weher, basada en el ejemplo de Cisco del Team Cymru's.
# Testeada con éxito en la versión 3.X de Mikrotik RouterOS.
/routing bgp instance
set default as=<SU_NUMERO_DE_AS> client-to-client-reflection=yes comment="" disabled=no \
ignore-as-path-len=no name=default out-filter="" redistribute-connected=\
no redistribute-ospf=no redistribute-other-bgp=no redistribute-rip=no \
redistribute-static=no router-id=<SU-DIRECCION-IP-DE-ROUTER_ID>
/ip firewall address-list
add address=<Dirección.IP.de.la.SESION#1.del.Team-Cymru> comment="TEAM-CYMRU BOGON Server #1" disabled=no list=BGP-NEIGHBORS
add address=<Dirección.IP.de.la.SESION#2.del.Team-Cymru> comment="TEAM-CYMRU BOGON Server #2" disabled=no list=BGP-NEIGHBORS
/ip firewall filter
add action=accept chain=input comment="BGP Neighbors" disabled=no dst-port=179 protocol=\
tcp src-address-list=BGP-NEIGHBORS
/ip route
add comment="Ruta para descartar paquetes Bogon" disabled=no distance=1 dst-address=192.0.2.1/32 type=blackhole
/routing bgp peer
add address-families=ip comment="TEAM-CYMRU BOGON Server #1" disabled=no hold-time=3m in-filter=BOGON-SERVER-IN \
instance=default max-prefix-limit=50 multihop=yes name=CYMRU-1 \
nexthop-choice=default out-filter=BGP-DROP remote-address=\
<Dirección.IP.de.la.SESION#1.del.Team-Cymru> remote-as=65333 route-reflect=no tcp-md5-key=Password_Recibido_Desde_El_Cymru ttl=255
add address-families=ip comment="TEAM-CYMRU BOGON Server #2" disabled=no hold-time=3m in-filter=BOGON-SERVER-IN \
instance=default max-prefix-limit=50 multihop=yes name=CYMRU-1 \
nexthop-choice=default out-filter=BGP-DROP remote-address=\
<Dirección.IP.de.la.SESION#2.del.Team-Cymru> remote-as=65333 route-reflect=no tcp-md5-key=Password_Recibido_Desde_El_Cymru ttl=255
/routing filter
add action=accept bgp-communities=65333:888 chain=BOGON-SERVER-IN comment="" \
disabled=no invert-match=no protocol=bgp set-out-nexthop=192.0.2.1
add action=discard chain=BOGON-SERVER-IN comment="" disabled=no invert-match=\
no protocol=bgp
add action=discard chain=BGP-DROP comment="" disabled=no invert-match=no \
protocol=bgp
Si ninguno de estos métodos funcionaron para usted, por favor contáctenos para que le demos asistencia. Nosotros estamos anciosos por escuchar sus sugerencias acerca de otras formas de filtrado
Cómo obtengo una Sesión de Peering?
Para conectarse con el Bogon Route Server, por favor contacte a team-cymru@cymru.com. Cuando solicite la sesión de peering, por favor incluya la siguiente información en su email:
- Su número de AS
- La(s) direccion(es) IP que usted quiera usar para conectarse
- Indique si su equipo soporta passwords MD5 en las sesiones de BGP
- Opcional: su clave pública GPG/PGP
Nosotros normalmente preveemos múltiples sesiones de peering (al menos 2) para lograr redundancia. Si usted desea más o menos sesiones que 2 por favor solicítelo en su pedido. Nosotros trataremos de responder la solicitud de peering dentro del período de un dí hábil.
Recuerde que usted debe ser capaz de recibir hasta 100 prefijos y ser capaz de hacer peering multihop contra un ASN privado. Si usted configura inadecuadamente su peering y enruta todos los paquetes destinados para las direcciones Bogon a los Bogon route-servers, su sesión de peering será eliminada.
Agradecimientos
- Gracias a John Brown por el ejemplo de configuración.
- Gracias a Roy Engehausen por encontrar algunos errores y sugerir algunas mejoras.
- Gracias a Pete Vickers por la versión original del ejemplo de la configuración de OpenBSD bgpd.
- Gracias a Joe Abley por mejorar el ejemplo de la configuración de OpenBSD bgpd.
- Gracias a Marko Veelma advertinos sobre algunos otros errores.
- Gracias a Taka Mizuguchi y Tak Morinobu por la traducción al Japonés de esta página.
Los filtros de Bogon gratuítos, el monitoreo, y el seguimiento son posibles gracias a las amables donaciones de peering, hosting, equipos y tiempo de muchos individuos and organizaciones. Si usted desea donar a la causa, ya sea con una sesión de peering, equipo viejo, o un buen café :), por favor contacte al Team Cymru.
Esperamos que estos links, referencias, y monitoreo sean de utilidad para usted. Por favor comparta sus sugerencias, comentarios, y referencias con nosotros! Dirija sus comentarios al team-cymru@cymru.com.


