SOFTWARE GLOBAL SMR2
jueves, 12 de marzo de 2015
39.Spam

Qué hace
El software antispam colabora con el servidor de correo para detectar mensajes indeseables. Para determinar si un mensaje entra en esa categoría, el antispam utiliza:- La cabecera del mensaje, buscando si el servidor de correo origen está en alguna lista negra de spammers reconocidos, si la fecha de envío utiliza un formato incorrecto (sugiere que el correo ha sido generado por un software de spam, no por un cliente de correo normal), etc.
- El contenido del mensaje, buscando palabras poco relacionadas con la actividad de la empresa (medicinas, etc.), mensajes cuya versión de texto plano es muy diferente de la versión HTML (sugiere de nuevo que ha sido generado con un programa de spam), etc.
- La propia experiencia del programa (auto aprendizaje), según el tipo de mensajes que maneja el servidor de correo de nuestra empresa en concreto.
- Bloquearlo aquí e impedir que llegue hasta el usuario; así le ahorramos molestias (leerlo, borrarlo) y evitamos potenciales infecciones. No se suele usar porque nunca tendremos la certeza de que no hemos eliminado algún correo importante.
- Dejarlo pasar, pero avisando al usuario de que es un correo sospechoso. Es la opción por defecto. El aviso al usuario consiste en añadir texto en el título del correo (por ejemplo, *** SPAM ***); esto le servirá al usuario para crear sus propios filtros en su programa de correo.
- Dejarlo pasar, pero convirtiendo el texto del correo en un fichero adjunto, para que sea más difícil engañar al usuario y solo lo abra si está seguro de que el correo le interesa.
38.Proxy
Hemos visto que los firewall normales permiten controlar las conexiones a nivel de red (filtrado de paquetes mirando direcciones y puertos). Si necesitamos algo más, hay que recurrir a un firewall de aplicación o directamente a un IPS.
Pero hay otra forma de enfrentarse al problema de controlar qué están hablando dos máquinas entre sí. Podemos introducir un nuevo interlocutor en medio de la conversación: donde antes A hablaba con B, ahora hay un C, de manera que A habla con C y C se lo cuenta a B, y viceversa. Ese nuevo intermediario es un proxy, y como tiene acceso a todos los paquetes intercambiados, puede aplicar medidas de seguridad.
Un proxy es un servicio de red que hace de intermediario en un determinado protocolo. El proxy más habitual es el proxy HTTP: un navegador en una máquina cliente que quiere descargarse una página web de un servidor no lo hace directamente, sino que le pide a un proxy que lo haga por él. El servidor no se ve afectado porque le da igual quién consulta sus páginas.
No hay que ver siempre la seguridad como algo negativo porque nos impide navegar por algunas webs; también puede impedir que entremos en determinados sitios peligrosos donde podemos recibir un ataque. Además, en las empresas hay otros motivos para instalar un proxy:
Los usuarios no aprecian la diferencia porque las páginas (en el caso de un servidor web) llegan a su navegador con normalidad; pero realmente el servidor sí puede saber que el origen de la petición no es un ordenador interesado en su servicio, sino un intermediario del ordenador original. Por ejemplo, numerosos servicios de Internet que permiten consultar la IP pública que utiliza nuestro router para conectar a Internet también nos informan de si nuestra conexión está pasando por un proxy.
El procesamiento del proxy puede llevar a decidir no generar ningún mensaje. Es decir, cortar la comunicación. Este comportamiento se decide mediante reglas. En estas reglas podemos filtrar determinadas direcciones de origen o destino, algunas directivas del protocolo (por ejemplo, palabras dentro de la URL de una página web), incluso contenidos (por ejemplo, imágenes). Como podemos suponer, cuanto más compleja sea la regla, más tardará el proxy en aplicarla a las peticiones que le llegan, lo que puede ralentizar en exceso la comunicación.
Además de controlar las conexiones web, el proxy mejora el rendimiento global de la navegación porque guarda en disco las páginas que envía a los clientes. En nuestro ejemplo sería la respuesta 4 de la Figura 7.68. Es el llamado proxy caché. De esta manera, si esa misma máquina o cualquier otra solicita al proxy la misma página (le envía la misma petición 1), no hace falta generar la petición 2 ni esperar la respuesta 3: directamente, el proxy le devuelve la respuesta 4. Hemos ahorrado los dos mensajesque van sobre la red más lenta.
Si el volumen es elevado o las reglas que hemos definido son complejas, no podemos permitirnos afectar a otros servicios: necesitaremos una máquina en exclusividad (incluso más de una, formando un clúster). Aunque habrá que dimensionar adecuadamente el ancho de banda en esas máquinas dedicadas, porque van a recibir mucho tráfico.
En cualquier caso, el servidor proxy debe tener la mejor conectividad posible con los servidores para los que hace de intermediario (generalmente, servidores web en Internet).
En el caso del proxy explícito podemos incluir un mecanismo de autenticación, de manera que solo algunos usuarios puedan acceder a Internet y solo a algunas web. En un proxy transparente no tiene sentido porque el usuario no tiene ninguna opción de introducir usuario y contraseña.
Pero hay otra forma de enfrentarse al problema de controlar qué están hablando dos máquinas entre sí. Podemos introducir un nuevo interlocutor en medio de la conversación: donde antes A hablaba con B, ahora hay un C, de manera que A habla con C y C se lo cuenta a B, y viceversa. Ese nuevo intermediario es un proxy, y como tiene acceso a todos los paquetes intercambiados, puede aplicar medidas de seguridad.
Un proxy es un servicio de red que hace de intermediario en un determinado protocolo. El proxy más habitual es el proxy HTTP: un navegador en una máquina cliente que quiere descargarse una página web de un servidor no lo hace directamente, sino que le pide a un proxy que lo haga por él. El servidor no se ve afectado porque le da igual quién consulta sus páginas.
No hay que ver siempre la seguridad como algo negativo porque nos impide navegar por algunas webs; también puede impedir que entremos en determinados sitios peligrosos donde podemos recibir un ataque. Además, en las empresas hay otros motivos para instalar un proxy:
- Seguridad para el software del cliente. Puede ocurrir que el software del ordenador cliente esté hecho para una versión antigua del protocolo o tenga vulnerabilidades.Pasando por un proxy actualizado evitamos estos problemas.
- Rendimiento. Si en una LAN varios equipos acceden a la misma página, haciendo que pasen por el proxy podemos conseguir que la conexión al servidor se haga solo la primera vez, y el resto recibe una copia de la página que ha sido almacenada por el proxy.
- Anonimato. En determinados países hay censura a las comunicaciones, por lo que utilizar un proxy del extranjero les permite navegar con libertad.
- Acceso restringido. Si en nuestra LAN no está activado el routing a Internet, sino que solo puede salir un equipo, podemos dar navegación al resto instalando un proxy en ese equipo.
Qué hace
El proxy recibe de una máquina origen A un mensaje formateado para el servidor B según un protocolo determinado (petición 1 de la Figura 7.68). Lo procesa y genera un nuevo mensaje para el mismo destino B, pero ahora el origen es P, la máquina del proxy (petición 2). Cuando el servidor B genera la respuesta, la envía a P (respuesta 3). La máquina P procesa ese mensaje y genera su propio mensaje de respuesta con destino A (respuesta 4).Los usuarios no aprecian la diferencia porque las páginas (en el caso de un servidor web) llegan a su navegador con normalidad; pero realmente el servidor sí puede saber que el origen de la petición no es un ordenador interesado en su servicio, sino un intermediario del ordenador original. Por ejemplo, numerosos servicios de Internet que permiten consultar la IP pública que utiliza nuestro router para conectar a Internet también nos informan de si nuestra conexión está pasando por un proxy.
El procesamiento del proxy puede llevar a decidir no generar ningún mensaje. Es decir, cortar la comunicación. Este comportamiento se decide mediante reglas. En estas reglas podemos filtrar determinadas direcciones de origen o destino, algunas directivas del protocolo (por ejemplo, palabras dentro de la URL de una página web), incluso contenidos (por ejemplo, imágenes). Como podemos suponer, cuanto más compleja sea la regla, más tardará el proxy en aplicarla a las peticiones que le llegan, lo que puede ralentizar en exceso la comunicación.
Además de controlar las conexiones web, el proxy mejora el rendimiento global de la navegación porque guarda en disco las páginas que envía a los clientes. En nuestro ejemplo sería la respuesta 4 de la Figura 7.68. Es el llamado proxy caché. De esta manera, si esa misma máquina o cualquier otra solicita al proxy la misma página (le envía la misma petición 1), no hace falta generar la petición 2 ni esperar la respuesta 3: directamente, el proxy le devuelve la respuesta 4. Hemos ahorrado los dos mensajesque van sobre la red más lenta.
Dónde situarlo
Si el volumen de tráfico que pasará por el proxy es reducido y las reglas definidas son sencillas, el servidor proxy necesitará pocos recursos (CPU, RAM, disco para la caché), por lo cual puede estar incluido en una máquina que ya ofrezca otros servicios (DHCP, DNS, disco en red, correo).Si el volumen es elevado o las reglas que hemos definido son complejas, no podemos permitirnos afectar a otros servicios: necesitaremos una máquina en exclusividad (incluso más de una, formando un clúster). Aunque habrá que dimensionar adecuadamente el ancho de banda en esas máquinas dedicadas, porque van a recibir mucho tráfico.
En cualquier caso, el servidor proxy debe tener la mejor conectividad posible con los servidores para los que hace de intermediario (generalmente, servidores web en Internet).
Tipos de proxy
Si instalamos un proxy para un determinado protocolo (por ejemplo, HTTP), el siguiente paso es conseguir que el tráfico de nuestros usuarios pase por ese proxy. Tenemos dos opciones:- Proxy explícito. Configuramos los navegadores de los usuarios para que utilicen el proxy de la empresa.
- Proxy transparente. En algún punto de la red un router filtrará ese tipo de tráfico (por ejemplo, comprobando que el destino es el puerto 80 de TCP) y lo enviará al proxy, sin que el usuario tenga que hacer nada. Si estamos utilizando un router Linux, la solución óptima es instalarlo ahí, porque ahorramos sacar el tráfico hasta otra máquina.
En el caso del proxy explícito podemos incluir un mecanismo de autenticación, de manera que solo algunos usuarios puedan acceder a Internet y solo a algunas web. En un proxy transparente no tiene sentido porque el usuario no tiene ninguna opción de introducir usuario y contraseña.
37.Firewall
Un cortafuegos (firewall) es una parte de un
sistema o una red que está diseñada para bloquear el acceso no
autorizado, permitiendo al mismo tiempo comunicaciones autorizadas.
Si efectivamente conocemos las características del ataque (puerto donde intenta conectar, tipo de dirección IP origen inválida, tamaño del paquete utilizado), otra forma de defensa es tomar medidas en las máquinas que tengamos bajo nuestro control para que reaccionen adecuadamente ante la presencia de estos paquetes sospechosos. Es decir, los paquetes que consigan entrar en nuestra red, engañar al NIPS (si lo tenemos) y llegar a nuestros equipos, o que intentan salir procedentes de una aplicación no autorizada (por ejemplo, un troyano nos
puede convertir en generadores de correo spam), todavía tienen que superar un control más en cada equipo: el firewall o cortafuegos.
Por ejemplo, si tenemos un servidor web en nuestra LAN y no queremos que sea atacado desde la wifi pública que ofrecemos a los clientes en la sala de espera, podemos configurar en el firewall de la máquina del servidor web que no acepte conexiones de las máquinas conectadas a esa wifi (generalmente, las identificaremos porque pertenecen una subred distinta).
Las reglas del firewall son mucho más sencillas que las reglas de un IPS y generalmente se aplican solo a las cabeceras TCP/IP de las capas 3 (red) y 4 (transporte): el firewall básicamente mira direcciones IP y puertos, aunque también puede reconocer conversaciones entre dos equipos y controlarlas.
No nos podemos permitir aumentar la complejidad de las reglas o mirar el contenido de cada paquete (DPI [Deep Packet Inspection]) porque los recursos de los equipos son limitados. Pero si nuestras necesidades de seguridad son superiores, existe un tipo de firewall más sofisticado, llamado firewall de nivel de aplicación, donde sí se entra a mirar en los datos de usuario que hay más allá de las cabeceras. Se utiliza sobre todo en protocolos web (HTTP). Por tanto, es más potente (y más lento) que el firewall normal, pero menos complejo (y más rápido) que todo un IPS.
Esta medida sería suficiente; pero, para evitar que se inunde la red con paquetes que no llegarán a su destino, o para ayudar a máquinas que no tienen firewall (por ejemplo, una impresora en red, como el elemento 9 de la Figura 7.36), en los puntos críticos de la red se suelen colocar máquinas independientes ejecutando tareas de firewall (firewall de red).
Por ejemplo, siempre suele estar en la conexión a Internet porque por ahí llegarán muchos ataques.
Los routers domésticos proporcionados por los ISP (Internet Service Provider) hacen funciones de firewall (elemento 1 de la Figura 7.36), porque por defecto se comportan como equipos de usuario y no permiten conexiones entrantes; pero una empresa suele necesitar más configuraciones, por lo que instalará su propio firewall de red.
En las empresas grandes hay máquinas distintas para cada servicio, todas situadas en una subred especial llamada DMZ (Demilitarized Zone, zona desmilitarizada). El firewall de esta zona (elemento 2 de la Figura 7.36) es menos exigente que el que protege nuestra LAN (elemento 3 de la Figura 7.36), porque tenemos que permitir conexiones a esos servicios; pero, como está expuesto a más ataques, se suele acompañar de un IDS/IPS.
Pero no todas las acciones están disponibles en todas las situaciones. Por esto las reglas se agrupan en tres tablas principales:
NAT (Network Address Translation). Mecanismo que aplican los routers para cambiar la dirección IP de los paquetes que transitan por ellos. El router pone su propia dirección, ocultando al destinatario que realmente el paquete no
es suyo, sino que está haciendo de intermediario. Gracias al NAT, el agotamiento de direcciones IPv4 no ha bloqueado Internet.
QoS (Quality of Service). Es un tratamiento diferenciado que los equipos de la red aplican a los paquetes de datos que procesan, buscando favorecer unos servicios concretos, aunque otros servicios se vean perjudicados. Por ejemplo, VoIP (Voz IP) frente a navegación web.
Las versiones posteriores (Vista, Windows 7) han mantenido la robustez, aunque han sacrificado la sencillez para elaborar reglas complejas que permitan cubrir todas las necesidades del usuario.
Comparado con iptables, el firewall de Windows 7 es más sencillo (no hay tantas tablas ni etapas) y más agradable de usar (interfaz de ventanas en lugar de comandos). A diferencia de Linux, la configuración por defecto para las conexiones entrantes esrechazarlas, no aceptarlas.
Si efectivamente conocemos las características del ataque (puerto donde intenta conectar, tipo de dirección IP origen inválida, tamaño del paquete utilizado), otra forma de defensa es tomar medidas en las máquinas que tengamos bajo nuestro control para que reaccionen adecuadamente ante la presencia de estos paquetes sospechosos. Es decir, los paquetes que consigan entrar en nuestra red, engañar al NIPS (si lo tenemos) y llegar a nuestros equipos, o que intentan salir procedentes de una aplicación no autorizada (por ejemplo, un troyano nos
puede convertir en generadores de correo spam), todavía tienen que superar un control más en cada equipo: el firewall o cortafuegos.
Por ejemplo, si tenemos un servidor web en nuestra LAN y no queremos que sea atacado desde la wifi pública que ofrecemos a los clientes en la sala de espera, podemos configurar en el firewall de la máquina del servidor web que no acepte conexiones de las máquinas conectadas a esa wifi (generalmente, las identificaremos porque pertenecen una subred distinta).
Qué hace
El firewall es un software especializado que se interpone entre las aplicaciones y el software de red para hacer un filtrado de paquetes:- En el tráfico entrante, la tarjeta de red recibe el paquete y lo identifica, pero antes de entregarlo a la aplicación correspondiente, pasa por el firewall para que decida si prospera o no. En el ejemplo del servidor web, la máquina recibe un paquete destinado al puerto 80, pero antes de entregarlo al proceso que tiene abierto ese puerto (un apache.exe), el firewall decide.
- En el tráfico saliente, las aplicaciones elaboran sus paquetes de datos, pero antes de entregarlo al software de red para que lo envíe, pasa por el firewall. Por ejemplo, si sospechamos que una máquina hace spam, podemos bloquear todas las conexiones salientes al puerto 25.
Las reglas del firewall son mucho más sencillas que las reglas de un IPS y generalmente se aplican solo a las cabeceras TCP/IP de las capas 3 (red) y 4 (transporte): el firewall básicamente mira direcciones IP y puertos, aunque también puede reconocer conversaciones entre dos equipos y controlarlas.
No nos podemos permitir aumentar la complejidad de las reglas o mirar el contenido de cada paquete (DPI [Deep Packet Inspection]) porque los recursos de los equipos son limitados. Pero si nuestras necesidades de seguridad son superiores, existe un tipo de firewall más sofisticado, llamado firewall de nivel de aplicación, donde sí se entra a mirar en los datos de usuario que hay más allá de las cabeceras. Se utiliza sobre todo en protocolos web (HTTP). Por tanto, es más potente (y más lento) que el firewall normal, pero menos complejo (y más rápido) que todo un IPS.
Dónde situarlo
Todas las máquinas de la empresa conectadas a la red necesitan activar un firewall (elementos 4, 5, 6, 7 y 8 de la Figura 7.36). Incluso aunque no ejecuten ningún servidor: puede que el software de red del sistema operativo tenga una vulnerabilidad. Igual que el malware hay que bloquearlo con el antivirus porque es software no solicitado, el firewall nos ayuda a bloquear paquetes de red no solicitados.Esta medida sería suficiente; pero, para evitar que se inunde la red con paquetes que no llegarán a su destino, o para ayudar a máquinas que no tienen firewall (por ejemplo, una impresora en red, como el elemento 9 de la Figura 7.36), en los puntos críticos de la red se suelen colocar máquinas independientes ejecutando tareas de firewall (firewall de red).
Por ejemplo, siempre suele estar en la conexión a Internet porque por ahí llegarán muchos ataques.
Los routers domésticos proporcionados por los ISP (Internet Service Provider) hacen funciones de firewall (elemento 1 de la Figura 7.36), porque por defecto se comportan como equipos de usuario y no permiten conexiones entrantes; pero una empresa suele necesitar más configuraciones, por lo que instalará su propio firewall de red.
En las empresas grandes hay máquinas distintas para cada servicio, todas situadas en una subred especial llamada DMZ (Demilitarized Zone, zona desmilitarizada). El firewall de esta zona (elemento 2 de la Figura 7.36) es menos exigente que el que protege nuestra LAN (elemento 3 de la Figura 7.36), porque tenemos que permitir conexiones a esos servicios; pero, como está expuesto a más ataques, se suele acompañar de un IDS/IPS.
Firewall en Linux. Iptables
Cuando llega un paquete a la tarjeta de red, el sistema operativo (más concretamente, el software de red) decide qué hacer con él. El resultado de esa decisión puede ser:- Descartarlo. Si el destinatario del paquete no es nuestra máquina o, aunque lo sea, ningún proceso actual lo espera, el paquete termina aquí. Por ejemplo, llega una petición http a una máquina que no tiene un servidor web arrancado: la máquina lo ignora.
- Aceptarlo, porque es para nosotros y hay un proceso que sabe qué hacer con ese paquete. Sería el ejemplo anterior, pero ahora sí tenemos un servidor web funcionando.
- Aceptarlo, aunque no sea para nosotros, porque somos un router y vamos a enviarlo por otra interfaz. En algunos casos llegaremos a modificar las cabeceras del paquete, como veremos más adelante.
- Aceptarlo, aunque no es para nosotros y tampoco somos un router: pero estamos escuchando todos los paquetes porque somos un sniffer de red.
- Cuando llega el paquete para un proceso nuestro pero todavía no se lo hemos entregado, en iptables hablamos de input.
- Cuando somos un router y estamos a punto de traspasar el paquete de una interfaz a otra, en iptables hablamos de forward.
- Cuando un paquete está listo para salir por una interfaz, en iptables hablamos de output.
- Prerouting. Se ejecuta antes de input. Sirve para obviar el enrutamiento porque sabemos exactamente qué tratamiento dar a esos paquetes. Veremos un ejemplo en el caso práctico de proxy de esta misma unidad.
- Postrouting (después de output y después de forward). Se utiliza para aplicar alguna modificación a los paquetes que están a punto de abandonar la máquina. Veremos un ejemplo, el NAT, en el mismo caso práctico de proxy.
Pero no todas las acciones están disponibles en todas las situaciones. Por esto las reglas se agrupan en tres tablas principales:
- filter. Es la tabla principal. Su misión es aceptar o rechazar paquetes. Es el firewall propiamente dicho.
- nat. Las reglas de esta tabla permiten cambiar la dirección de origen o destino de los paquetes.
- mangle. En esta tabla podemos alterar varios campos de la cabecera IP, como el ToS (Type of Service). Se suele usar para aplicar QoS (Quality of Service), marcando los paquetes de determinados servicios para luego priorizarlos.
NAT (Network Address Translation). Mecanismo que aplican los routers para cambiar la dirección IP de los paquetes que transitan por ellos. El router pone su propia dirección, ocultando al destinatario que realmente el paquete no
es suyo, sino que está haciendo de intermediario. Gracias al NAT, el agotamiento de direcciones IPv4 no ha bloqueado Internet.
QoS (Quality of Service). Es un tratamiento diferenciado que los equipos de la red aplican a los paquetes de datos que procesan, buscando favorecer unos servicios concretos, aunque otros servicios se vean perjudicados. Por ejemplo, VoIP (Voz IP) frente a navegación web.
Firewall en Windows 7
Los sistemas operativos Windows siempre han tenido mala fama en cuanto a seguridad ante malware; sin embargo, la versión XP introdujo un firewall muy robusto y sencillo.Las versiones posteriores (Vista, Windows 7) han mantenido la robustez, aunque han sacrificado la sencillez para elaborar reglas complejas que permitan cubrir todas las necesidades del usuario.
Comparado con iptables, el firewall de Windows 7 es más sencillo (no hay tantas tablas ni etapas) y más agradable de usar (interfaz de ventanas en lugar de comandos). A diferencia de Linux, la configuración por defecto para las conexiones entrantes esrechazarlas, no aceptarlas.
36.Espiar nuestra red
Vamos a procesar el tráfico de nuestra red mediante dos tipos de técnicas:
y presentar toda la información disponible.
Con estas herramientas hay que tener cuidado para conseguir un equilibrio entre los objetivos de seguridad y la carga extra que supone tratar esta información (CPU de los equipos de red, tráfico que ocupa en la red enviar los contadores o capturas hasta la herramienta, CPU del servidor de la herramienta, coste del software especializado, dedicación de personal de soporte a consultar los informes y tomar decisiones, etc.).
Los problemas típicos que nos harán aplicar estas técnicas pueden ser tan sencillos como una tormenta de broadcast (demasiados paquetes de tipo broadcast), que podemos detectar en las estadísticas de una interfaz. Y tan complejos como un DoS (Denial of Service, denegación de servicio).
Además de la monitorización del tráfico y el análisis del mismo, hay un tercer elemento para el control de la red: la sonda. Una sonda (en inglés probe) es un equipo de la red que está programado para comportarse como un cliente normal de alguno de los servicios que tenemos desplegados. La sonda ejecuta sus operaciones periódicamente, de manera que, si alguna falla, podemos suponer que también le fallará al usuario y debemos corregir el problema.
Como hemos señalado con anterioridad, la monitorización del tráfico es relativamente fácil de activar en una red, porque los equipos suelen estar preparados para facilitarnos la información sobre sus contadores y basta con preguntarles periódicamente. En cambio, la captura de conversaciones es más compleja de activar. Las opciones son:
La captura con tcpdump se puede hacer en uno de los extremos si la conversación que estamos estudiando ocurre entre una máquina Unix y otra máquina Unix/Windows/etc.
(hay versiones de tcpdump para Windows, pero aquí es mejor WireShark). Aunque también lo utilizaremos muchas veces para capturar las conversaciones que atraviesan un router Linux. En la distribución representada en la Figura 7.15 podremos capturar las comunicaciones entre los ordenadores de las dos VLAN y todas las conexiones a Internet, aunque no podremos conocer qué hablan entre sí los ordenadores de una misma VLAN.
Generalmente se puede elegir el tipo de tráfico: entrante (desde el equipo hasta el switch), saliente (desde el switch hasta el equipo) o ambos. En algunos modelos podemos hacer que varios puertos vuelquen su tráfico a un mismo puerto, aunque habrá que vigilar las prestaciones del conjunto porque pueden desbordar el ancho de banda de la interfaz o la capacidad de captura del sniffer, lo que ocasionaría la pérdida de paquetes, invalidando el análisis posterior.
toda sospecha. Los expertos hay que reservarlos para los casos difíciles.
Para solucionar ambos problemas existen los sistemas IDS/IPS (Intrusion Detection System / Intrusion Prevention System). Los IDS detectan los ataques y los IPS actúan contra ellos. Tenemos dos tipos de IDS/IPS:
La respuesta de un IPS puede ser impedir que ese paquete y los siguientes de esa conexión lleguen a su destino. En los más avanzados se puede configurar que permitan que el paquete llegue, pero adecuadamente modificado para que no prospere el ataque.
La inteligencia de estas herramientas suele residir en un conjunto de reglas que se cargan en el programa desde un fichero de configuración. Las reglas son elaboradas por expertos en seguridad que, cuando han identificado un nuevo tipo de ataque, escriben la regla que permitirá al IDS detectarlo.
Los problemas de los IDS son dos:
- La monitorización del tráfico. Trabaja a alto nivel: se limita a tomar medidas agregadas, los llamados contadores. Por ejemplo, total de bytes enviados o recibidos en un interfaz, agrupados por puerto de origen o destino. La monitorización es habitual en las empresas porque:
- Resulta fácil de activar en toda la red dado que son los propios equipos los que facilitan esta información sobre sus interfaces.
- Genera relativamente poca información para transmitir y procesar.
- Es suficiente para conocer la disponibilidad de la red o el tipo de tráfico que transita. Por ejemplo, conocer el porcentaje de tráfico HTTP de nuestra red nos puede llevar a instalar un proxy .
- El análisis del tráfico. Trabaja a bajo nivel: captura todos los paquetes que transitan por una interfaz (los conocidos sniffer de red). Los paquetes solo son leídos, no interceptados: el paquete continúa su camino. El procesamiento de estos paquetes leídos permite generar medidas agregadas, pero sobre todo interesa analizar las conversaciones entre los equipos, comprobando que se ajustan al comportamiento esperado en el protocolo estándar (analizador de protocolos). Aunque esta información es mucho más rica que los simples contadores, la captura es muy costosa de activar en toda la red, porque se dispara la cantidad de información que hay que transmitir y procesar (la mayoría de los puertos ya tienen velocidad gigabit); por este motivo, solo se utiliza en situaciones concretas que no se pueden abordar con el estudio de contadores, como es la detección de ataques.
y presentar toda la información disponible.
Con estas herramientas hay que tener cuidado para conseguir un equilibrio entre los objetivos de seguridad y la carga extra que supone tratar esta información (CPU de los equipos de red, tráfico que ocupa en la red enviar los contadores o capturas hasta la herramienta, CPU del servidor de la herramienta, coste del software especializado, dedicación de personal de soporte a consultar los informes y tomar decisiones, etc.).
Los problemas típicos que nos harán aplicar estas técnicas pueden ser tan sencillos como una tormenta de broadcast (demasiados paquetes de tipo broadcast), que podemos detectar en las estadísticas de una interfaz. Y tan complejos como un DoS (Denial of Service, denegación de servicio).
Además de la monitorización del tráfico y el análisis del mismo, hay un tercer elemento para el control de la red: la sonda. Una sonda (en inglés probe) es un equipo de la red que está programado para comportarse como un cliente normal de alguno de los servicios que tenemos desplegados. La sonda ejecuta sus operaciones periódicamente, de manera que, si alguna falla, podemos suponer que también le fallará al usuario y debemos corregir el problema.
Como hemos señalado con anterioridad, la monitorización del tráfico es relativamente fácil de activar en una red, porque los equipos suelen estar preparados para facilitarnos la información sobre sus contadores y basta con preguntarles periódicamente. En cambio, la captura de conversaciones es más compleja de activar. Las opciones son:
- Conseguir el control sobre alguno de los extremos de la conexión para poder utilizar alguna de las herramientas que veremos a continuación (tcpdump, wireshark).
- Interceptar la conexión misma desde algún equipo de red por donde pasen los paquetes intercambiados. Si este equipo tiene cierta inteligencia, seguramente incorporará funcionalidades avanzadas, como el port mirroring; incluso puede ser un router Linux, con lo que tendremos a nuestro alcance todas las herramientas que veremos para los extremos.
- Como último recurso podríamos conectar de manera temporal un hub en el puerto que queremos vigilar (Fig. 7.14), pero esto supone desplazamientos de personal y equipos que no siempre están disponibles (por ejemplo, el switch de LAN está en Barcelona, pero el departamento de soporte está en Madrid). Utilizamos un hub y no un switch porque el hub repite el tráfico de cada puerto a todos los demás, justo lo que necesitamos.
tcpdump
tcpdump es una herramienta sencilla disponible en Linux que permite hacer un volcado de todo el tráfico que llega a una tarjeta de red. Captura todo el tráfico, no solo el tráfico TCP, como aparece en su nombre. Los paquetes leídos se muestran en pantalla o se pueden almacenar en un fichero del disco para ser tratados posteriormente por esta misma herramienta u otra más avanzada. Se necesitan privilegios para ejecutarla, porque necesitamos poner la tarjeta en modo promiscuo para que acepte todos los paquetes, no solo los destinados a suMAC.La captura con tcpdump se puede hacer en uno de los extremos si la conversación que estamos estudiando ocurre entre una máquina Unix y otra máquina Unix/Windows/etc.
(hay versiones de tcpdump para Windows, pero aquí es mejor WireShark). Aunque también lo utilizaremos muchas veces para capturar las conversaciones que atraviesan un router Linux. En la distribución representada en la Figura 7.15 podremos capturar las comunicaciones entre los ordenadores de las dos VLAN y todas las conexiones a Internet, aunque no podremos conocer qué hablan entre sí los ordenadores de una misma VLAN.
WireShark
WireShark es la herramienta más extendida en Windows para realizar capturas de tráfico y analizar los resultados. Es una evolución de una herramienta anterior llamada Ethereal. Para la captura de paquetes utiliza la librería pcap, que también aparece en otros sniffer, como tcpdump. La interfaz de usuario es muy potente, así como el número de protocolos que es capaz de analizar.Port mirroring
Los switch gestionables suelen incorporar esta funcionalidad. Consiste en modificar la configuración del switch para que replique todo el tráfico de un puerto a otro. En el segundo puerto conectaremos el sniffer. El equipo o equipos conectados en el primer puerto funcionan con normalidad, no saben que están siendo espiados.Generalmente se puede elegir el tipo de tráfico: entrante (desde el equipo hasta el switch), saliente (desde el switch hasta el equipo) o ambos. En algunos modelos podemos hacer que varios puertos vuelquen su tráfico a un mismo puerto, aunque habrá que vigilar las prestaciones del conjunto porque pueden desbordar el ancho de banda de la interfaz o la capacidad de captura del sniffer, lo que ocasionaría la pérdida de paquetes, invalidando el análisis posterior.
IDS/IPS. Snort
Aunque dispongamos de personal tan cualificado, no es humanamente posible revisar una a una todas las conversaciones que ocurren a diario en una red normal. Sobre todo porque la mayoría son interacciones normales, libres detoda sospecha. Los expertos hay que reservarlos para los casos difíciles.
Para solucionar ambos problemas existen los sistemas IDS/IPS (Intrusion Detection System / Intrusion Prevention System). Los IDS detectan los ataques y los IPS actúan contra ellos. Tenemos dos tipos de IDS/IPS:
- NIDS/NIPS (Network Intrusion y Network Prevention). Buscan ataques sobre servicios de comunicaciones. Se basan en el análisis de los paquetes que forman parte de la comunicación entre dos máquinas, comprobando que se ajustan al protocolo estándar.
- HIDS/HIPS (Host Intrusion y Host Prevention). Buscan ataques sobre las aplicaciones y el sistema operativo de la máquina. Se basan en el análisis de los procesos actuales (ocupación de CPU y memoria, puertos abiertos) y la configuración y el log de cada uno de los servicios.
La respuesta de un IPS puede ser impedir que ese paquete y los siguientes de esa conexión lleguen a su destino. En los más avanzados se puede configurar que permitan que el paquete llegue, pero adecuadamente modificado para que no prospere el ataque.
La inteligencia de estas herramientas suele residir en un conjunto de reglas que se cargan en el programa desde un fichero de configuración. Las reglas son elaboradas por expertos en seguridad que, cuando han identificado un nuevo tipo de ataque, escriben la regla que permitirá al IDS detectarlo.
Los problemas de los IDS son dos:
- Rendimiento. El número de reglas es creciente (hay nuevos ataques y no podemos descartar los antiguos) y el volumen de tráfico también, por lo que necesitamos un hardware muy potente para tener funcionando un IDS sobre capturas de tráfico en tiempo real. En determinados momentos, la cola de paquetes pendientes de examinar será tan larga que la interfaz estará a punto de empezar a descartarlos; para evitarlo, el IDS los dejará pasar, a sabiendas de que puede ser un ataque (si no los deja pasar, nosotros mismos estaremos ejecutando un ataque). Pero si nos limitamos a procesar ficheros de captura antiguos, puede que encontremos ataques que ya han ocurrido y sea tarde para reaccionar.
- Falsos positivos. Las reglas no son perfectas y puede que estemos alertando sobre comunicaciones que son perfectamente legales. Conviene probar muy bien una regla antes de meterla en un IPS.
Etiquetas:
análisis del tráfico,
detección de ataques,
Espiar nuestra red,
modo promiscuo,
Network Intrusion,
replique todo el tráfico,
switch gestionables,
tcpdump,
tormenta de broadcast
35.Servicios de red. Nmap y netstat
La herramienta Nmap, disponible para sistemas Linux y Windows, se ha convertido en la navaja suiza de los hackers de red. Además del escaneo de puertos para determinar los servicios disponibles en una máquina, podemos pedir a la herramienta que intente la conexión a cada uno de ellos. Después analiza los mensajes que generan estos servidores para identificar la versión concreta del sistema operativo y la versión concreta del software de servidor (server fingerprint) que está escuchando en cada puerto. Es decir, aunque intentemos despistar arrancando servicios en puertos que no son los
esperados (80 para HTTP y otros), la herramienta reconoce el puerto como abierto y consigue identificar el servicio.
La información de versión es muy útil para un atacante porque puede consultar en su base de datos las vulnerabilidades de cada versión de un servicio y así elegir mejor el tipo de ataque que puede lanzar contra la máquina.
Para cada puerto, la herramienta ofrece cuatro posibles estados:
esperados (80 para HTTP y otros), la herramienta reconoce el puerto como abierto y consigue identificar el servicio.
La información de versión es muy útil para un atacante porque puede consultar en su base de datos las vulnerabilidades de cada versión de un servicio y así elegir mejor el tipo de ataque que puede lanzar contra la máquina.
Para cada puerto, la herramienta ofrece cuatro posibles estados:
- open (abierto): la máquina acepta paquetes dirigidos a ese puerto, donde algún servidor está escuchando y los procesará adecuadamente.
- closed (cerrado): no hay ningún servidor escuchando.
- filtered: Nmap no puede decir si ese puerto está abierto o cerrado porque alguien está bloqueando el intento de conexión (router, firewall).
- unfiltered: el puerto no está bloqueado, pero no se puede concluir si está abierto o cerrado.
33.Redes inalámbricas
Los miedos a que las comunicaciones sean escuchadas por terceros no autorizados han desaparecido en las redes cableadas, pero están plenamente justifi cados en redes inalámbricas o WLAN (Wireless LAN), porque de nuevo el medio de transmisión (el aire) es compartido por todos los equipos y cualquier tarjeta en modo promiscuo puede perfectamente escuchar lo que no debe.
Como ocurría con el switch en las redes cableadas, hemos de:
Durante la asociación el usuario elige la SSID a la que se quiere conectar y entonces su tarjeta inalámbrica contacta con el AP que ofrece esa SSID. Negocian varias características de la comunicación (protocolo b/g/n, velocidad, etc.), pero sobre todo el AP puede solicitar algún tipo de autenticación para decidir si debe dejarle asociarse o no.
Generalmente es una clave alfanumérica que se registra en la configuración del AP y que el usuario debe introducir para poder trabajar con él.
Las AP admiten varios tipos de autenticación:
Por tanto, el AP admite varias combinaciones:
El esquema de funcionamiento de WPA empresarial es el siguiente:
La rotación de claves que introdujo WPA fue un paso importante para disuadir a los hackers de intentar obtener la clave mediante el análisis de la captura de tramas de tráfico de equipos ya conectados al AP.
Entonces los hackers concentraron su trabajo en la clave PSK de la fase de asociación.
Utilizaron la fuerza bruta de dos formas:
Como ocurría con el switch en las redes cableadas, hemos de:
- Proteger el access point físicamente. La protección física es más complicada que enel caso del switch, porque el AP tiene que estar cerca de los usuarios para que puean captar la señal inalámbrica, mientras que para conectar la toma de red de la mesa con el switch podemos utilizar cable de varias decenas de metros.
- Proteger el access point lógicamente (usuario/contraseña).
- Controlar qué clientes pueden conectarse a él (autenticación).
- Podemos separar dos grupos de usuarios, haciendo que el mismo AP emita varias SSID distintas, con autenticaciones distintas. Estas distintas SSID suelen tener asociada una VLAN etiquetada.
- Sobre todo, hay que encriptar la transmisión entre el ordenador y el AP. Así, aunque alguien capture nuestras comunicaciones, no podrá sacar nada en claro.
Asociación y transmisión
Para que un ordenador pueda trabajar en una red cableada normal (sin autenticación en el puerto), basta con enchufar un cable Ethernet entre la tarjeta de red del equipo y la toma de red en la pared, por ejemplo. En wifi se establecen dos fases: asociación y transmisión.Durante la asociación el usuario elige la SSID a la que se quiere conectar y entonces su tarjeta inalámbrica contacta con el AP que ofrece esa SSID. Negocian varias características de la comunicación (protocolo b/g/n, velocidad, etc.), pero sobre todo el AP puede solicitar algún tipo de autenticación para decidir si debe dejarle asociarse o no.
Generalmente es una clave alfanumérica que se registra en la configuración del AP y que el usuario debe introducir para poder trabajar con él.
Las AP admiten varios tipos de autenticación:
- Abierta: no hay autenticación, cualquier equipo puede asociarse con el AP.
- Compartida: la misma clave que utilizamos para cifrar la usamos para autenticar.
- Acceso seguro: usamos distintas claves para autenticar y cifrar. El usuario solo necesita saber una, la clave de autenticación: la clave de cifrado se genera automáticamente durante la asociación.
- Autenticación por MAC: el AP mantiene una lista de MAC autorizadas y solo ellas pueden asociarse.
Por tanto, el AP admite varias combinaciones:
- Autenticación abierta y sin cifrado: se utiliza en lugares públicos (bibliotecas, cafeterías, etc.). La intención es no molestar al usuario introduciendo claves; además, si las ponemos, habría que dar a conocer la clave mediante un cartel en el interior del establecimiento, por lo que la tendrían todos, usuarios y atacantes. En estos casos,el sistema operativo nos avisa de que vamos a conectarnos a una red sin seguridad.
- Autenticación abierta y transmisión cifrada: es el esquema habitual de las primeras redes wifi.
- Autenticación compartida y transmisión cifrada: es una mala combinación (en Windows 7 ni siquiera se contempla), porque la autenticación es muy vulnerable y, conocida esa clave, tendrán acceso a descifrar las comunicaciones de cualquier ordenador conectado a ese AP.
- Autenticación segura y transmisión cifrada: es la mejor solución porque utiliza una clave distinta para cada cosa. La más conocida es WPA, como veremos en el siguiente apartado de esta unidad.
Cifrado: WEP, WPA, WPA2
La necesidad de encriptar las comunicaciones inalámbricas apareció desde el primer momento. Había que dar a los usuarios la confi anza de que su información viajaba segura. El primer estándar se llamó WEP (Wireline Equivalent Privacy, privacidad equivalente al cable), intentando compensar las dos realidades:- En redes cableadas es difícil el acceso al cable, pero si alguien lo consigue, puede capturar cualquier comunicación que pase por ahí.
- En redes inalámbricas cualquiera puede capturar las comunicaciones, pero, como van cifradas, no le servirá de nada.
- Nuevos algoritmos más seguros (TKIP, AES), tanto por el algoritmo en sí como por el aumento de longitud de las claves, lo que dificulta los ataques.
- Rotación automática de claves. Cada cierto tiempo (varios minutos) el AP y el cliente negocian una nueva clave. Por tanto, si algún atacante lograra acertar con la clave de una comunicación, solo le serviría para descifrar la información intercambiada durante ese intervalo de tiempo, pero no la anterior ni la siguiente.
- Por primera vez se distingue entre los ámbitos personal y empresarial. En el ámbito personal es suficiente con el esquema habitual de una única clave que conocen todos (WPA le llama PSK [Pre-Shared Key]); en el ámbito empresarial no tiene sentido, por que si una persona abandona la empresa, habría que cambiar la clave y comunicarlo de nuevo a todos los empleados. Para resolverlo, WPA empresarial introduce un servidor RADIUS donde poder almacenar un usuario y una clave para cada empleado.
WPA empresarial: RADIUS
Como acabamos de destacar, para las necesidades de seguridad de una empresa no es suficiente con la solución de clave única compartida por todos. Además de la salida de empleados, ya sabemos que es una buena práctica cambiar las claves regularmente (no sabemos cuánto tiempo llevan intentando conocerla), se puede extraviar el portátil o el móvil de un empleado y quien lo encuentre puede sacar las claves almacenadas en el dispositivo, etc.El esquema de funcionamiento de WPA empresarial es el siguiente:
- Dentro de la LAN de la empresa hay un ordenador que ejecuta un software servidor RADIUS. En este servidor hay una base de datos de usuarios y contraseñas, y el servidor admite preguntas sobre ellos.
- Los AP de la empresa tienen conexión con ese ordenador.
- Los AP ejecutan un software cliente RADIUS. Este software es capaz de formular las preguntas y analizar las respuestas.
- El servidor RADIUS tiene la lista de las direcciones IP de los AP que le pueden preguntar. Además de estar en la lista, el AP necesita que le configuremos una contraseña definida en el servidor (una dirección IP es fácilmente falsificable).
- Cuando un cliente quiere asociarse a un AP, le solicita usuario y contraseña. Pero no las comprueba él mismo, sino que formula la pregunta al servidor RADIUS utilizando la contraseña configurada para ese servidor. Dependiendo de la respuesta, el AP acepta la asociación o no.
La rotación de claves que introdujo WPA fue un paso importante para disuadir a los hackers de intentar obtener la clave mediante el análisis de la captura de tramas de tráfico de equipos ya conectados al AP.
Entonces los hackers concentraron su trabajo en la clave PSK de la fase de asociación.
Utilizaron la fuerza bruta de dos formas:
- Probando contraseñas una tras otra. Las contraseñas serían todas las combinaciones posibles de letras y números, o una selección mediante un diccionario. Por desgracia, los AP no suelen tener un control del número de intentos fallidos, como sí ocurre en otros sistemas de autenticación que hemos visto en este libro (login de Windows, tarjetas SIM).
- Si consiguieran capturar las tramas de inicio de conexión de un cliente, podrían aplicar un ataque de diccionario sobre la información de esas tramas. Si no queremos esperar a que aparezca un cliente nuevo, podemos forzar la desconexión de alguno.
Suscribirse a:
Entradas (Atom)