Seguridad Activa: Control de redes.
1. Espiar nuestra red.
Vamos a espiarnos nosotros mismos, garantizando la disponibilidad de la red y detectar ataques en curso. Veamos las dos tipos de técnicas:
- Monitorización: Trabaja a alto nivel, toma medidas agregadas, llamados controladores. Es habitual en las empresas por que:
- Es fácil de activar en la red debido a que los equipos facilitan esta información sobre sus interfaces.
- Genera poca información para transmitir y procesar.
- Es suficiente para conocer la disponibilidad de la red o el tiempo de tráfico que transita.
- Análisis: Trabaja a bajo nivel: Captura los paquetes que transitan por una interfaz (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). La captura es muy costosa de activar en toda la red. Por eso solo se dedica a la detección de ataques.
E ambos casos necesitaremos herramientas que nos ayuden a recoger, analizar, procesar y presentar toda las 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).
Un problema típico para aplicar estas técnicas son una tormenta de broadcast, que podemos detectar en una interfaz. Y tan complejos como un DoS.
Además de estas dos técnicas tenemos un tercer elemento, la sonda. Una sonda 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.
Es fácil activar la monitorización ya que los equipos nos facilitan la información. Para capturar 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 tcpdump y wireshark.
- Interceptar la conexión misma desde algún equipo de red por donde pasen los paquetes intercambiados.
- Conectar de manera temporal un hub en el puerto que queremos vigilar, pero supondrá el dezplazamiento de equipos. 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.
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 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.
1.2. WireShark.
Es una herramienta muy extendida (en Windows) para realizar capturas de tráfico y analizar el otros sniffer, como tcpdump. La interfaz de usuario es muy potente, así como el número de protocolos que es capaz de analizar.
1.3. Port mirroring.
Suelen incorporar esta funcionalidad los switch gestionables. 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.
Se puede elegir el tipo de tráfico:

- Entrante: Desde el equipo hasta el switch.
- Saliente: Desde el switch hasta el equipo.
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.
1.4. IDS/IPS. Snort.
Existen diversas complicaciones a la hora de instalar dichos programas. Se necesitan muchos conocimientos y una buena experiencia en protocolos de comunicaciones para sacar el máximo partido a dichas aplicaciones. Para solucionar este problema existen:
- IDS: Detectan ataques.
- IPS: Actúan contra ellos.
Tenemos dos tipos de IDS/IPS:
- NIDS/NIPS: 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: 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.
Estos sistemas procesan un fichero de captura de tráfico (o la realizan ellos mismos) y buscan patrones de comportamiento en los paquetes intercambiados entre los equipos. No se limitan a revisar las cabeceras del protocolo, sino que también miran en el contenido del paquete. Cuando detectan un posible ataque, si es un IDS solo avisa al usuario (como mínimo, fichero de log) y si es un IPS solo responde al ataque (también se puede hacer que los IPS avisen).
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.
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.
Veamos los problemas de los IDS:
- 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.
- 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.
2. Firewall.
2.1. ¿Qué hace?.
Firewall: Es un software 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 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.
Normalmente, en las máquinas servidor actúa como tráfico entrante. La inteligencia del firewall se expresa mediante reglas de configuración. El administrador de la máquina puede individualmente activarlas, desactivarlas, modificarlas o añadir nuevas.
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.
Si queremos aumentar la complejidad de las reglas o mirar el contenido de cada paquete, existe el 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.
2.2. ¿Dónde situarlo?.
Toda máquina de una empresa conectada a la red necesita tener activado el firewall. El software no deseado, es bloqueado por el firewal de la máquina (bloquea 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 en los puntos críticos de la red se suelen colocar máquinas independientes ejecutando tareas de firewall.
En empresas pequeñas este firewall de red seguramente ejecutará en una máquina que también hace las funciones de router; incluso puede que también aloje determinados servicios de la empresa en Internet. En las empresas grandes hay máquinas distintas para cada servicio, todas situadas en una subred especial llamada DMZ (Demilitarized Zone, zona desmilitarizada).
2.3. Firewall en Linux. Iptables.
Veamos las decisiones que puede tomar un firewall cuando llega un paquete a la red:
- 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í.
- Aceptarlo: Es para nosotros y hay un proceso que sabe qué hacer con ese paquete.
- Aceptarlo porque es para nosotros y somos un router: Vamos a enviarlo por otra interfaz. En algunos casos llegaremos a modificar las cabeceras del paquete.
- Aceptarlo aunque no es para nosotros y no somos un router: Estamos escuchando todos los paquetes porque somos un sniffer de red.
En el caso de Linux, la utilidad iptables permite introducir reglas para cada una de estas fases.
- 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.
Veamos algunas etapas más:
Las reglas de iptables tienen una lista de condiciones y una acción, de manera que, cuando un paquete cumple todas las condiciones de una regla, se ejecuta la acción. En las condiciones podemos utilizar la interfaz por la que entró, la interfaz por la que va a salir, la dirección IP o la subred del paquete, el tipo de protocolo, el puerto origen o destino, etc. Las acciones pueden ser simplemente aceptar o rechazar el paquete, o también modificarlo.
Las reglas son agrupadas en tres tablas:
- Filter: Tabla principal. Acepta o rechaza paquetes (es el firewall).
- Nat: Permiten cambiar la dirección de origen o destino de los paquetes.
- Mangle: Podemos alterar varios campos de cabecera IP.
2.4. 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.
3. Proxy.
Existe otra forma de enfrentarse al problema de controlar las comunicaciones de diversas máquinas. Podemos introducir un nuevo interlocutor en medio de la conversación. Ese nuevo intermediario es un proxy, y como tiene acceso a todos los paquetes intercambiados, puede aplicar medidas de seguridad.
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.
Veamos los motivos por lo que las empresas deben de tener instalado 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.
3.1. ¿Qué hace?.
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 (palabras dentro de la URL de una página web), incluso contenidos (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. Es el llamado proxy caché. De esta manera, si esa misma máquina o cualquier otra solicita al proxy la misma página.
3.2. Dónde situarlo.
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. Es el llamado proxy caché. De esta manera, si esa misma máquina o cualquier otra solicita al proxy la misma página.
3.2. 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).
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).
3.3. Tipos de proxy.
Veamos los dos tipos de proxy:
- Proxy explícito: Configuramos los navegadores de los usuarios para que se utilizen los proxy de la empresa.
- Proxy transparente: En algún punto de la red un router filtrará ese tipo de tráfico 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.
Una tercera opción de navegación proxy al alcance de los usuarios es utilizar un proxy web. Esto es, una página web donde entramos para introducir la URL de la página web que realmente queremos visitar. El servidor del proxy web conecta con esa página y nos muestra el resultado. Este mecanismo es el más utilizado para evitar la censura en algunos países. En una empresa no es aceptable porque el tráfico de nuestros empleados está pasando por la máquina de una empresa desconocida y no sabemos qué puede hacer con esos datos.
Podemos incluir el macanismo de autenticación, para 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.
3.4. Proxy Squid: configuración y monitorización.
El software de servidor proxy más extendido es Squid. Tiene versión para Windows, pero aquí veremos la versión Linux, que es la más utilizada.
4. Spam.

Spam: Son los mensajes y correos electrónicos no solicitados o de procedencia desconocida, son sumamente molestosos. Todos estos correos llevan publicidad, pero también incluyen virus y troyanos que pueden venir en un fichero comprimido que aprovechan una vulnerabilidad del correo electrónico.
4.1. ¿Qué hace?.
Para determinar si un mensaje entra en una categoría peligrosa, el antispam utiliza:
- 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.
- Contenido del mensaje: Buscando palabras poco relacionadas con la actividad de la empresa, mensajes cuya versión de texto plano es muy diferente de la versión HTML.
- Experiencia del programa: Según el tipo de mensajes que maneja el servidor de correo de nuestra empresa en concreto.
Cuando se detecta un correo spam, tenemos varias alternativas:
- Bloquearlo e impedir que llegue hasta el usuario, así ahorramos molestias y evitamos posibles infecciones.
- Dejarlo pasar, pero avisar al usuario que es un correo sospechoso.
- 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 no es un mensaje peligroso.
4.2. SpamAssasin: configuración y monitorización.
Tiene una amplia eficacia y variedad de filtros para determinar si un correo es spam. Los filtros son especificados mediante reglas. Si el mensaje cumple dicha regla se le asigna una puntuación determinada. Cuando un mensaje supera un determinado lumbral (por defecto 5), se considera spam.
Además utiliza técnicas de inteligencia artificial (redes neuronales) para reducir el número de falsos positivos (correo spam que no lo es) y falsos negativos (correo spam que a sido detectado malicioso).
Vídeo:








































