/*codigo slider*\

miércoles, 26 de marzo de 2014

Algunos problemillas con IPv6

, 25 marzo 2014 | Imprime
(N.d.E. Hoy tenemos una entrada de Vicente Dominguez, un viejo amigo que hace algún tiempo que decidió comenzar un aventura por su cuenta, que esperamos que le vaya muy bien :)
Después de dar con la entrada de Nacho del mes pasado me fue inevitable eludir mi desviación profesional después de años y años trabajando en un centro de datos y recordé el sobre-esfuerzo que requiere la adaptación a la version 6 de IP para una mente humana que viene de la version 4.
Además de los magníficos problemas que en recursos requiere los 128 bits por cada dirección en su enrutado, las complicaciones para los IDS en recursos y firmas y el mal manejo de algunas utilidades de toda la vida, están los que yo sufrí: los de la mente humana. Éstos lo dejo para el final.

Si nos vamos a la seguridad, que es de lo que va el blog, se me ocurren algunos puntos a tener en cuenta sobre el “rocambolesco” mundo IPv6 con algunas utilidades. Sin pensar demasiado y como ejemplo:
  • Para empezar: las máscaras. Si metéis el típico /24 o /32 en IDS, firewalls o utilidades (por herencia pura) os vais a encontrar examinando 1000 millones o 4 mil millones de direcciones. Ojo con tener reglas que indican el guardado en BBDD de direcciones aplicando estas máscaras. Vais a necesitar mucho mucho espacio, amigos.
  • Más ejemplos: Nmap no permite rangos clásicos. Las formas 192.168.2.* y 192.168.2-30 no funcionan con IPv6. Ojo a esos scripts de autodiscovery de algunas redes.
  • Nping no funciona con rangos directamente en IPv6. Fyodor dice que: “CIDR and octet ranges aren’t supported for IPv6 because they are rarely useful” (Ref: http://nmap.org/book/nping-man-target-specification.html)
  • hping2 no tiene IPv6. O por lo menos no el que uso.
  • Lynx requiere de versión específica compilada.
  • Curl. Este es buenísimo. Las direcciones de IPv6 van entre comillas y entre corchetes aplicando el globoffporque si no, no “parsea” bien. ¡Oh! ¡Cuántos agentes de monitorización dirán adiós! (Ref:http://vicendominguez.blogspot.com/2014/03/curl-IPv6-common-errors-using-direct-ip.html)
  • Medusa en FreeBSD me da un segmentation fault. ¡Genial!
  • Necesitamos cambiar el bind de algunos servicios si están forzados a una interfaz concreta o no será posible alcanzarlos.
  • Iptables, ping y traceroute (entre otros…) usan nuevas utilidades específicas: ip6tables, ping6 y traceroute6.
  • El resto de utilidades requieren de parámetros específicos para invocar el uso de IPv6. ¿Alguna vez será este el uso por defecto de la tool? Quien sabe.
La consecuencia directa de todos estos cambios levanta un claro punto débil: la mente humana.
Es fácil pensar que si todo esto cambia es necesario volver a configurar todo lo ya configurado anteriormente, pero ahora, para este nuevo stack.
Como comentábamos. Las firmas de vuestros IPS, IDS, la cantidad de los datos a guardar y el rango de ips a monitorizar cambia en cualquier IDS que instaleis para este stack. Huelo a vectores de ofuscación fácil. Si no tengo firma o no escucho ahí, no lo veo. O caemos, o nos acordamos, o se nos escurren.
Scripts de monitorización basados en curl, ping, necat, socat etc etc… requieren o nuevas aplicaciones (ping6, traceroute6…) o nuevos parámetros (-6 esta intentando estandarizarse como parámetro de facto para la invocaciones para IPv6). Adaptarse o morir.
Las reglas de firewall tienen que aplicarse en ambos stacks: IPv4 y IPv6 compañeros. Y ambos deben de estar ON amigos. En el caso de linux iptables, pero ahora, ip6tables también.
Con todo esto llegamos de lleno a pruebas más reales. No espereis nada del otro mundo. O por lo menos no por aquí ;) (N.d.E. Voy a perdonarle a Vicente ese desliz…).
Es posible pedir a Hurricane Electric un tunnel IPv6 gratis. No cuesta nada pedirlo y es cero-cero configurarlo. En FreeBSD no me llevó ni dos minutos activarlo. No se como será el resto.
Hecho esto y habiendo leído parte del artículo, no tardamos en darnos cuenta de lo diferente que se comportan los sistemas.
Los IIS7 de las páginas del Ministerio de Industria actúan de forma diferente según stack. Cojo de ejemplobandaancha.es.
host www.bandaancha.es

www.bandaancha.es has address 193.146.1.84
www.bandaancha.es has IPv6 address 2001:720:438:400::84
Uso normal: Redirect!
curl -i -A Chrome http://www.bandaancha.es
HTTP/1.1 302 Redirect
Content-Type: text/html; charset=UTF-8
Location: http://www.minetur.gob.es/telecomunicaciones/banda-ancha/Paginas/Index.aspx
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Mon, 24 Mar 2014 07:39:25 GMT
Content-Length: 209
IPv4: Welcome
curl -i -A Chrome 193.146.1.84
HTTP/1.1 200 OK
Content-Type: text/html
Last-Modified: Tue, 26 Jul 2011 15:34:53 GMT
Accept-Ranges: bytes
ETag: "ad1be390a94bcc1:0"
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Mon, 24 Mar 2014 07:38:03 GMT
Content-Length: 689





IIS7

Related Posts Plugin for WordPress, Blogger...