miércoles, 19 de mayo de 2010

Evitar servidores DHCP no controlados

Existe un tipo de ataques que consiste en hacerse pasar por servidor DHCP en la red. Así el equipo puede forzar que el tráfico generado desde equipos con IP dinámica pase por su tarjeta de red (y así capturar la información deseada). Es un ataque típico de Man-in-the-Middle.

Si en una red no se va a usar direccionamiento dinámico se puede bloquear el tráfico del protodolo DHCP, pero si se necesita debemos permitir este protocolo. Los switches actuales nos permiten restringir este tráfico para que sólo los servidores autorizados (los que la gente de Sistemas gestiona) envíen este tipo de información evitando así que haya intrusos haciéndose pasar por servidores DHCP.

En general la aplicación de esta política de seguridad es tan fácil como:
  1. Activar la protección DHCP
  2. Identificar la IP de los servidores autorizados a entregar este protocolo
  3. Identificar desde qué puerto se recibirá este tráfico
El punto 3 suele ser el más complicado, pero en general para los switches de acceso el protocolo DHCP solo debería llegarle por los uplink. Este punto cambiará según la red que tengamos montada: hay que tener en cuenta los bucles existentes (el spanning-tree puede hacernos una jugada en este punto), etc. Aconsejo tener un mapa de red muy claro indicando dónde está el servidor y cuales son los caminos que pueden seguir el tráfico hasta llegar al cliente final.

Veamos un ejemplo en un switch de acceso de marca HP. En otras marcas será similar cambiando los comandos.

1. Activamos la protección de DHCP:
ACC-SW01 (config)#dhcp-snooping
2. Indicamos que servidores son los oficiales:
ACC-SW01 (config)#dhcp-snooping authorized-server 10.10.10.10
ACC-SW01 (config)#dhcp-snooping authorized-server 10.10.10.15
3. Indicamos desde qué puertos aceptaremos este tráfico (cuál es el camino para llegar desde nuestro switch a los servidores autorizados). Desde un equipo ed acceso lo más probable es que sea el uplink:
ACC-SW01 (config)#dhcp-snooping trust trk1 (suponemos que el uplink es un trunk y se llama trk1)
Esta es la idea básica... obviamente se puede complicar mucho :)

jueves, 13 de mayo de 2010

debug remotos

Sacar información de debug desde conexión remota

Los comandos de debug de los routers/switches tienen configurado por defecto mandar toda la información a la consola física del equipo. El problema viene cuando necesitas sacar esa información de debug de un equipo remoto al que te conectas por telnet/ssh. ¿Cómo hacer que esta información salga en tu pantalla y no en el conector serial del equipo?
  1. Parar todos los debugs que tengas.
  2. Desviar la información a tu sesión
  3. Activar el debug que necesites

CISCO:

cisco# undebug all
cisco# terminal monitor
cisco# debug dhcp
HP:
switch# no debug all
switch# debug destination session
switch# debug dhcp-snooping