Redes privadas y bogons (o martians)

Hoy redes privadas y bogons, también conocidos por los más viejos del lugar como martians.

Un bogon es un prefijo que no debe ser anunciado en Internet, ya sea porque está reservado o porque no ha sido asignado todavía.

Es importante filtrar los bogons porque históricamente esos direccionamientos se han utilizado como origen de ataques.

La lista de privadas y bogons en Julio de 2018 son las siguientes:

0.0.0.0/8 - Se pude usar como origen en redes privadas, por ejemplo DHCP
10.0.0.0/8 - RFC 1918
100.64.0.0/10 - Carrier grade nat RFC 5735: IANA-Reserved IPv4 Prefix for Shared Address Space
127.0.0.0/8 - RFC 1918
169.254.0.0/16 - RFC 3927 IPv4 Link Local, resumido en la RFC 3330, antes de explicar concretamente
172.16.0.0/12 - RFC 1918
192.0.0.0/24 - RFC 3330 Reservado 
192.0.2.0/24 - RFC 3330 Reservado para poder utilizarse en código de ejemplo TEST-NET (teléfono 555-)
192.168.0.0/16 - RFC 1918
198.18.0.0/15 - RFC 2544 - Benchmarking Methodology for Network Interconnect Devices - Tamaño de tramas, etc...
198.51.100.0/24 - RFC 5735 - Special Use IPv4 Addresses - Reservado para documentación y ejemplos TEST-NET-2
203.0.113.0/24 - RFC 5735 - Special Use IPv4 Addresses - Reservado para documentación y ejemplos TEST-NET-3
224.0.0.0/3 - Multicast, clase D
240.0.0.0/4 - Clase E

De todos estos bogons tenemos que acordarnos de lo que son direcciones privadas definidas en la RFC 1918 de Febrero de 1996:

10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

Como cosa curiosa comentar que el rango 169.254.0.0/16 no es un direccionamiento privado definido en ninguna RFC sino que es un rango que se comenta en una RFC de Septiembre de 2002.

RFC 3330 «Special-Use IPv4 Addresses» punto 2: 169.254.0.0/16 – This is the «link local» block. It is allocated for communication between hosts on a single link. Hosts obtain these addresses by auto-configuration, such as when a DHCP server may not be found.

———————————————————

Hasta aquí todo esto al menos nos debería de ser más o menos familiar, pero en IPv6 tenemos algo muy parecido también, hay bogons, martians, o como queráis llamarlo, incluso algo parecido a direccionamiento privado y que no puede ser encaminado, así que nadie se piense que IPv6 está libre de este tipo de cosas.

El único problema es que en IPv6 ahora mismo la lista de bogons es de 98648 (http://www.team-cymru.org/Services/Bogons/fullbogons-ipv6.txt), así que no vamos a comentarla entera, sería absurdo.

Lo primero es saber que sólo podemos anunicar 2000::/3 que es el rango de las Global Unicast Addresses, y en cuanto a direcciones privadas tenéis el fc00::/7 que corresponden con las Unique Local Address. Para todo esto os recomiendo que os escuchéis un par de capítulos sobre IPv6 que grabé en su momento y que siguen totalmente vigentes:

IPv6 (primera parte)

IPv6 (segunda parte)

De todos modos en IPv6 tenemos bogons y rangos de direccionamiento reservados muy chulos y muy interesantes que no tenemos en IPv4 y que tenéis definidos en la RFC 6890 «Special-Purpose Address Registries». Tenéis uno en concreto que es 100::/64 y que viene definido en la RFC 6666 «IPv6 Discard Prefix» y que nos sirve como blackhole. Bueno, son muchísimos y os recomiendo que os deis una vuelta por la RFC 6890, a partir de la página 14 (https://tools.ietf.org/html/rfc6890#page-14) y que naveguéis por ahí un poco.

Y todo esto ¿cómo lo gestionamos?, pues podemos hacerlo a mano, pero claro, en IPv6 la gestión de los bogons va a ser muy tediosa porque a medida que se vayan asigando rangos va a ir cambiando esa tabla y va a ser terrible, así que tenemos que automatizarlo.

La primera vez que vi la automatización de los Martians fue en Juniper, hace muchísimos años, y quedé fascinado, en aquella época los martians en IPv4 también cambiaban como los de IPv6 porque no estaba todo el espacio asigando, ahora que cambien los bogons en IPv4 sería bastante extraño y prácticamente podemos decir que es una lista estática.

Bueno, Cymru ofrece este servicio y os podéis ir descargando la lista de bogons periódicamente o si lo preferís establecer una sesión BGP con ellos y aplicar algún filtro para saber que son bogons y descartar ese tráfico.


Fotografía de la cabecera cedida por Raúl Bueno, muchísimas gracias, es fantástica