Espiar nuestra red
Vamos a ver que está pasando en nuestra red para ver que están haciendo los usuarios autorizados, buscando garantizar la disponibilidad de la red y detectar ataques en curso.
Procesaremos el tráfico de la red mediante:
- La monitorización del tráfico. Trabaja a alto nivel: Se limita a tomar medidas agregadas llamadas contadores. Por ejemplo, total de bytes enviados o recibidos en un interfaz, agrupados por puerto de origen o destino.
La monitorización resulta fácil activar en toda la red. Genera poca información para transmitir y procesar. Es suficiente para conocer la disponibilidad de la red o el tráfico que transita por ella.
- El análisis del tráfico. Trabaja a bajo nivel: Captura todos los paquetes que transitar por una interfaz. Estos solo son leídos, no interceptados y continúa por si camino. El procesamiento de los paquetes permite generar medidas agregadas y analizar conversaciones entre los equipos, para comprobar que se ajustan al comportamiento esperado en el protocolo estándar. La captura de esta información es muy costosa de activar en toda la red.
Ya que en las redes de las empresas tenemos muchos equipos utilizando distintos protocolos, necesitaremos herramientas que nos ayuden a recoger, procesar, analizar y presentar toda la información disponible.
TCPDUMP
El tcpdump es una herramienta sencilla de 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 TCP. Los paquetes leídos se muestran en pantalla o se pueden almacenar en un fichero del disco para tratarlos más tarde. Se necesitan privilegios para usarla porque tenemos que poner la tarjeta en modo promiscuo, para que acepte todos los paquetes.
La captura con tcpdump se puede hacer en uno de los extremos, aunque también la utilizaremos para capturar conversaciones que atraviesan un router Linux.

WireShark
Es la herramienta de Windows para realizar captura de tráfico y analizar los resultados. Para la captura de paquetes utiliza la librería pcap, que también aparece en otros sniffers como tcpdump. La interfaz de un usuario es muy potente, como el número de protocolos que es capaz de analizar.

Port mirroring
Los switch gestionables suelen incorporar esta funcionalidad. Esta modifica la configuración del switch para que replique todo el tráfico de un puerto a otro. En el 2º puerto conectamos el sniffer y el equipo/s al 1º, estos no saben que están siendo espiados ya que todo funciona con normalidad.
Se puede elegir el tipo de tráfico: entrante (desde el equipo hasta el switch), saliente (desde switch hasta el equipo) o ambos.

IDS/IPS. Snort
Para interpretar los resultados de las herramientas de análisis de tráfico se necesitan muchos conocimientos de base y experiencia en protocolos de comunicaciones.
También tenemos que tener en cuenta que es humanamente imposible revisar todas las conversaciones que ocurren a diario en una red normal.
Para solucionar esto existen los sistemas IDS/IPS. Los IDS detectan los ataques y los IPS actúan contra ellos. Hay dos tipos de IDS/IPS:
- NIDS/NIPS: Buscan ataque sobre servicios de comunicaciones. Se basan en en 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 ataque sobre las aplicaciones y el sistema operativo de la máquina. Se basan en el análisis de los procesos actuales y la configuración y el log de cada uno de los servicios.
Los problemas de la IDS son:
- Rendimiento: Necesitamos hardware muy potente para tener funcionando un IDS sobre capturas de tráfico en tiempo real. A veces puede que la cola de paquetes pendientes de examinar sea tan larga que la interfaz puede empezar a descartarlos, para evitarlo el IDS los deja pasar sabiendo que pueden ser un ataque.
- 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.

Firewall
Es un control para que nuestra maquina reaccione ante la presencia de paquetes sospechosos que puedan engañar al NIPS y llegar al equipo.
Qué hace
El firewall es un software especializado que se interpone entre las aplicaciones y el software de red para hacer un filtro 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.
En las máquinas servidor, el firewall actúa sobre tráfico entrante.
En las máquinas clientes todas las conexiones entrantes están prohibidas y todas las salientes permitidas, aún asi pueden entrar paquetes pero la conversación la tiene que empezar el cliente.
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.

Dónde situarlo
Todas las máquinas de la empresa conectadas a la red necesitan activar un firewall. Incluso aunque no ejecuten ningún servidor, puede que el software de red del S.O tenga una vulnerabilidad. El firewall nos ayuda a bloquear paquetes de red no solicitados.
Los routers domésticos proporcionados por los ISP hacen funciones de firewall, porque por defecto se comportan como equipos de usuario y no permiten conexiones entrantes.
Firewall en Linux. Iptables
Cuando llega un paquete a la tarjeta de red, el S.O decide que hacer con él:
- Descartarlo: Si el destinatario del paquete no es nuestra máquina o aunque si lo sea, ningún proceso actual lo espera, el paquete termina.
- Aceptarlo, cuando es para nosotros y hay un proceso que sabe qué hacer con ese paquete.
- Aceptarlo, aunque no sea para nosotros, porque el router tiene que enviarlo a otra interfaz.
- Aceptarlo, aunque no sea para nosotros y tampoco para el router, ya que el sniffer de red los escucha.
En Linux la utilidad iptables permite introducir reglas en cada una de estas frases:
- Hablamos de input cuando llega el paquete para un proceso nuestro pero todavía no se lo hemos entregado.
- Hablamos de forward cuando somos el router y estamos a punto de traspasar el paquete de una interfaz a otra.
- Hablamos de output cuando un paquete está listo para salir por una interfaz.
Hay varias etapas más:
- Prerouting: Se ejecuta antes de input. Sirve para obviar el enrutamiento.
- Postrouting: Se ejecuta 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.
Las reglas de iptables tienen una lista de condiciones y una acción. Cuando un paquete cumple todas las condiciones de una regla, se ejecuta la acción.
Pero no todas las acciones están disponibles en todas las situaciones.
Se dividen en tres tablas principales:
- filter: Tabla principal, acepta o rechaza paquetes.
- nat: Cambia la dirección de origen o destino de los paquetes
- mangle: Alterar campos de la cabecera IP.
Firewall en Windows 7
Windows XP introdujo un firewall muy robusto y sencillo. Windows 7 ha mantenido la robustez, aunque han sacrificado la sencillez para elaborar reglas complejas que permitan cubrir todas las necesidades del usuario.
Proxy
Para enfrentarse al problema de controlar que están hablando dos máquinas entre sí, podemos introducir un nuevo interlocutor en medio de la conversación. Ese nuevo intermediario es un proxy, que tiene acceso a todos los paquetes intercambiados y puede aplicar medidas de seguridad.
Un proxy es un servicio de red que hace de intermediario en un determinado procolo.
En las empresas se hay más motivos para instalar un proxy:
- Seguridad para el software del cliente.
- Rendimiento.
- Anonimato.
- Acceso restringido.
Qué hace
El proxy recibe de una máquina origen A un mensaje formateado para el servidor B según un protocolo determinado. 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).
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 (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 mensajes que van sobre la red más lenta.

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 (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 mensajes que 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 y puede estar incluido en una máquina que ya ofrezca otros servicios.
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.
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
Tipos de proxy
- 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 y lo enviará al proxy, sin que el usuario tenga que hacer nada.
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.
Spam
En las empresas, el correo electrónico es tan importante o más que el teléfono. Los empleados necesitan estar en contacto con otros empleados de la misma empresa, con los proveedores y con los clientes. Como responsables de la infraestructura informática, debemos garantizar que los mensajes se envían y reciben con normalidad, pero también que no hacemos perder el tiempo a nuestros usuarios entregando correos no deseados (spam). Estos correos, como mínimo, llevan publicidad, pero también son una fuente de infección de virus y troyanos que pueden venir en un fichero adjunto o que aprovechan una vulnerabilidad del programa de correo.
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 (autoaprendizaje), 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 opciones:
- 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.

SpamAssasin: Configuración Y Monitorización.
El software SpamAssasin es uno de los más extendidos por su eficacia y la amplia variedad de filtros que puede llegar a aplicar para determinar si un correo es spam. Los filtros se especifican mediante reglas. Si un mensaje cumple una regla, se le asigna una puntuación. Cuando un mensaje supera un determinado umbral (por defecto, 5, aunque lo podemos cambiar), se considera que es spam.
SpamAssasin, 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 no ha sido detectado como tal).
Bibliografía
- Apuntes del tema.
- Información de Internet.
- Youtube.