viernes, 3 de marzo de 2017

Seguridad Activa: Control de redes

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.
1.1. 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 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.

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.


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. Tendían que superar un control más: firewall o cortafuegos.




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:
  • Prerouting: Se ejecuta antes de input. Sirve para obviar el enrutamiento porque sabemos exactamente qué tratamiento dar a esos paquetes.
  • Postrouting:  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, 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.


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 es rechazarlas, no aceptarlas.

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.

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).


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:

sábado, 11 de febrero de 2017

Seguridad Activa: Acceso a Redes

Seguridad Activa: Acceso a Redes.

1. Redes cableadas.

Normalmente las máquinas están conectadas a una red de área local, para utilizar recursos de otras máquinas y para que otras máquinas se aprovechen de los suyos. Al igual que debemos de vigilar y mantener las máquinas, hay que mantener cuando los datos salen y entran por alguna de sus interfaces de red.

Obviamente también hay que protegerse de los ataques que provengan de la red. Las máquinas que ofrecen servicios TCP/IP debe abrir ciertos puertos. Estos puertos solicitan conexión de máquinas fiables siguiendo el protocolo estándar o máquinas maliciosas siguiendo una variación del protocolo que produce un fallo en nuestro servidor (en algunos casos se toma el control de la máquina, por eso se ejecutan con el mínimo de privilegios).

Las redes conmutadas tiene sus propias vulnerabilidades:

  • Hay que proteger el switch físicamente: Encerrarlo en un armario con llave dentro de una sala de control, así no evitaríamos solo el robo, si no también que alguien acceda al botón de reset y lo configure de otra forma.
  • Hay que proteger el switch lógicamente: Usuario y contraseña para acceder a su configuración.
  • Hay que hacer grupos de puertos: En switch suelen estar conectadas algunas máquinas que nunca se comunican entre sí. Debemos de aislarlas y evitaremos problemas de rendimiento y seguridad.
  • Controlar los equipos que se conectan y a qué puertos: En una empresa de procesadores solo pueden entrar máquinas de procesadores.
1.1. VLAN.

Los grupos de máquinas conectados a un switch constituyen una VLAN (LAN virtual). Lo llamamos virtual porque parece estar en una LAN propia, que la red montada para ellos solos. Utilizar VLAN mejora su rendimiento y seguridad, ya que únicamente las máquinas hablan entre ellas. Si ocurre un problema en una VLAN (ataques informáticos), las demás VLAN no se verán afectadas. Un ecxceso en el tráfico de red si afectaría a todos, debido que comparten switch.


Es raro que las VLAN estén completamente aisladas de el mundo, ya que necesitan acceso a Internet, así como conectarse con otros servidores internos de la empresa (discos, correo..). Para interconectar VLAN (capa 2), utilizaremos un router (capa 3).
  • Capa 2: Tiene una visión local de la red. Sabe como intercambiar los paquetes de datos con los equipos de su misma red. La comunicación es directa "origen-destino".
  • Capa 3: Tiene una visión global de la red. Sabe como llegar paquetes de datos hasta los equipos que no están en la misma red. La comunicación necesita pasar por el router.
El router necesitará conectarse con cada una de las VLAN, reservándose un puerto en cada uno, pero nos llevaría instalar muchas tarjetas en el router. La solución es utilizar un segundo tipo de VLAN (VLAN etiquetada).

1.2. Autenticación en el puerto . MAC y 802.1X.

Para evitar posibles desastres, los switch permiten establecer autenticación en el puerto. Solo podrá conectar aquel cuya MAC este dentro de lista realizada en el propio swictch, o, dado que las MAC se pueden falsificar, autentificarnos mediante RADIUS en el estándar 802.1X.


2. Redes inalámbricas.

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.


Lo más habitual son las redes de infraestructura, un equipo hace de switch, mientras los demás ordenadores se conectan a él, le envían sus paquetes y él decide como enviarlos (aire o cable). Por el cable es la configuración más habitual en empresas, donde WLAN es una extensión de la red cableada.

Al igual que ocurría con el switch, en la redes cableadas debemos de:

  • Proteger el access point físicamente: La protección es más complicada en cuanto al switch, porque el AP tiene que estar cerca de los usuarios para que puedan captar la señal, mientras que para conectar la toma de red de la mesa solo utilizamos un cable.
  • Proteger el access point lógicamente: Usuario y contraseña.
  • Controlar que clientes pueden conectarse: Autenticación.
  • Separar dos grupos de usuarios: El mismo AP emite varias SSID distintas, con autenticaciones distintas. Suelen tener asociadas una VLAN etiquetada.
  • Encriptar la transmisión: Entre el ordenador y el AP, para no sacar nada claro.
2.1. Asociación y transmisión.

En wifi se establecen dos fases:
  • Asociación.
  • 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 confi guración del AP y que el usuario debe introducir para poder trabajar con él.


Los AP admiten varios tipos de autenticación:
  • Abierta: No hay autenticación, cualquiera puede asociarse con el AP
  • Compartida: La misma clave que usamos para cifrar la usamos para autenticar.
  • Acceso seguro: Usamos distintas claves para autenticar y cifrar. El usuario nsolo necesita saber la clave de autenticación: la clave de cifrado se genera automáticamente.
  • Autenticación por la MAC: El AP tiene una lista de MAC autorizadas y solo ellas pueden autorizarse.
Una vez asociados al AP, podemos empezar la fase de transmisión, durante la cual estableceremos conversaciones con el AP. Si queremos evitar que un tercero capture los paquetes intercambiados e intente conocer lo que transmitimos, el cliente y el AP deberán activar el cifrado de cada paquete. El tipo de cifrado (algoritmo, longitud de la clave, etc.) se negocia durante la asociación

El AP admite varias combinaciones: 
  • Autenticación abierta y sin cifrado: Utilizado en lugares públicos, la intención es no molestar al usuario tener que poner una clave.
  • Autenticación abierta y transmisión de cifrado: Esquema de las primeras redes wifi.
  • Autenticación compartida y transmisión de cifrado: Es una mala combinación, porque la autenticación es muy vulnerable y conocida esa clave tendrán acceso a descuifrar las comunicaciones de cualquier ordenador a ese AP.
  • Autenticación segura y transmisión de cifrado: Utiliza una clave distinta para cada cosa. La más conocida es WPA.
2.2. Cifrado: WEP, WPA, WPA2.

Se crean una serie de estándares, el primero se llamo WEP, intentando compensar las dos realidades:
  • En redes cableadas es difícil al acceso de cable, si alguien lo consigue puede capturas cualquier comunicación.
  • En redes inalámbricas cualquiera puede capturar comunicaciones, pero van cifradas.
Al poco tiempo se encontraron debilidades al algoritmo de cifrado WEP. Se creó un nuevo estándar llamado WPA. Dispone de las siguientes características:
  • Algoritmos más seguros: Aumento de la longitud de la clave, dificulta ataques.
  • Rotación automática de claves: Cada cierto tiempo el AP y el usuario negocian nuevas claves. 
  • Diferenciación entre ámbito personal y empresarial: En el ámbito personal es suficiente con una única clave. En el ámbito empresarial, WPA empresarial introduce un servidor RADIUS donde se puede almacenar un usuario y la clave correspondiente.
2.3. WPA empresarial: RADIUS.

Veamos el funcionamiento de el esquema empresarial:
  • Dentro de la LAN se ejecuta un software servidor RADIUS. En el servidor hay una base de datos de usuarios y contraseñas.
  • Los AP de la empresa tienen conexión con ese ordenador.
  • Los AP ejecutan un software cliente RADIUS (formula preguntas y analiza las respuestas).
  • El servidor RADIUS tiene una lista de direcciones IP de los AP que le pueden preguntar. El AP necesita que le configuremos una contraseña definida en el servidor.
  • Cuando un cliente intenta asociarse a un AP, le solicita usuario y contrasña. Pero no lo comprueba el mismo sino el servidor RADIUS.

Además de mejorar la seguridad, porque cada usuario tiene su contraseña (con su caducidad) y en cualquier momento podemos añadir o eliminar un usuario, con WPA empresarial podemos llevar un registro de quién entra a la red en cada momento.

3. VPN.

Podemos montar una VPN. El objetivo principal es que el empleado no note si está en la empresa o fuera de ella. En ambos casos recibe un configuración IP privada. El responsable de esto es el software de la VPN. En el ordenador del empleado hay que instalar un software cliente VPN. Este software instala un driver de red, de manera que para el sistema operativo es una tarjeta más. Ese driver se encarga de contactar con una máquina de la empresa, donde ejecuta un software servidor VPN que gestiona la conexión, para introducir los paquetes en la LAN. Consiste en:

  • Autentificar al cliente VPN: Se utiliza usuario y contraseña, tarjetas inteligentes, etc.
  • Establecer un túnel: El driver de la VPN en el cliente le ofrece una dirección privada de la LAN de la empresa pero cualquier paquete que intente salir por esa tarjeta es encapsulado dentro de otro paquete. Este segundo paquete viaja por Internet desde la IP pública del empleado hasta la IP pública del servidor VPN en la empresa. Una vez allí, se extrae el paquete y se inyecta en la LAN. Para que alguien de la LAN envíe un paquete a la IP el proceso es similar.
  • Proteger el túnel: Los paquetes encapsulados estarán encriptados.
  • Liberar el túnel: El cliente y el servidor pueden interrumpir la conexión cuando lo consideren necesario.

El software VPN en el cliente suele llevar una opción para que las conexiones a Internet se hagan directamente en la conexión del usuario, sin tener que pasar por el túnel y salir por la conexión a Internet de la empresa. Es decir, el túnel se usa solo para comunicaciones internas.

4. Servicios en red. Nmap y netstat.

La herramienta Nmap (para Windows y Linux), 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.


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: La máquina acepta paquetes dirigidos a ese puerto, donde algún servidor está escuchando y los procesará adecuadamente.
  • Closed: 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.
  • Unfiltered: El puerto no está bloqueado, pero no se puede saber si está abierto o cerrado.

Vídeo:

:

jueves, 26 de enero de 2017

Seguridad Activa: Sistema Operativo y Aplicaciones.

Seguridad Activa: Sistema Operativo y Aplicaciones.

1. Carrera de obstáculos.

Intentemos poner difícil a un hacker su trabajo, mediante las siguientes medidas de seguridad.

1.1. La caja del ordenador.

Lo principal es evitar que se lleve algunos de nuestros discos duros ya sean de portátiles o ordenadores.  La mayoría de las cajas de los ordenadores de sobremesa llevan un par de anclajes para colocar un candado normal. Tenemos también la opción de cambiar un tornillo normal por uno de llave.
Para los portátiles tenemos el mecanismo llamado Kensington: Tiene una cabeza que se introduce por una ranura especial de la caja del portátil. La cabeza continúa en un cable de acero para que lo enrollemos en alguna parte fija (la mesa o algún anclaje especial). La cabeza puede utilizar una llave o una combinación de números.

Estos candados son pocos efectivos, pero tiene algo de eficacia con respecto al ladrón, ya que tendría que perder tiempo. Incluso abriendo el disco duro tiene un detector que indica fecha y hora de la apertura en la BIOS.


1.2. La BIOS del ordenador.

Para evitar que un hacker haga una copia del disco duro mediante la técnica de arranque Live CD, entraremos en la BIOS y modificaremos el orden del arranque. Será configurado de tal manera que el disco duro sea el primero en arrancar en vez de el CD/DVD.

No debemos de olvidar cambiar las contraseñas del administrador, así el hacker no podrá modifica el arranque de la BIOS. En algunas empresas para arrancar la BIOS nos piden contraseña.

Si hemos olvidado la contraseña de la BIOS, la solución típica es retirar la pila que mantiene esos valores en memoria. En las placas base modernas directamente hay un jumper que, si está cerrado cuando el ordenador arranca, borra esos valores. Por ambos motivos (pila o jumper) hay que seguir evitando el acceso al interior de la caja del ordenador.


1.3. El boot manager.

Hemos conseguido que el hacker no arranque desde nuestra BIOS y solo acceda a nuestro disco duro local. En ese disco podemos tener varios sistemas operativos instalados mediante el programa boot manager. Ahora hay que establecer quién accede a cada opción.

1.4. Cifrado de particiones.

Después de todas las medidas realizadas, el hacker no se puede llevar nada y solo puede acceder al disco duro eligiendo unos de los sistemas operativos. Vamos a cifrar el contenido, de manera ilegible.




2. Autenticación en el sistema operativo.

Los sistemas operativos permiten incluir mucho más software de autenticación y más complejo. Veremos múltiples mecanismos para asegurarnos de que nuestro sistema solo lo usa quien está autorizado para ello.


2.1. Usuario/password.

Es el mecanismo más común. Aplicamos la estrategia "algo que sabes" (usuario y contraseña). Si la contraseña o usuario es erróneo, nos impide la entrada y nos deja intentarlo otra vez. En algunos sistemas nos ofrece una pista sobre la contraseña (si la pusimos la última vez que cambiamos la contraseña), y la mayoría tiene un límite de intentos. Alcanzado ese límite, el sistema se puede bloquear durante un tiempo o definitivamente (por ejemplo, los móviles tienen un límite de tres intentos para introducir el PIN). Con este límite evitamos ataques de fuerza bruta que prueben una a una todas las combinaciones de letras, números y caracteres especiales.

Otra medida de alta seguridad es cambiar el nombre por defecto de los usuarios con más privilegios en el sistema. De esta manera, tendrán que aplicar fuerza bruta para usuario y contraseña.

Aun así, siempre conviene utilizar contraseñas no triviales: palabras que no aparezcan en el diccionario de ninguna lengua, combinar letras mayúsculas con minúsculas, números, signos de puntuación, etc. Y cambiar la contraseña regularmente, porque no sabemos cuánto tiempo llevan intentando atacarla. Los sistemas operativos permiten obligar al usuario a cumplir todas estas norma.

2.2. Tarjetas.

En algunas ocasiones, el mecanismo de usuario y contraseña no es suficiente: es inseguro (alguien puede espiar qué teclas pulsamos) o simplemente molesto (por ejemplo, en los tornos de acceso a la entrada de la empresa no podemos perder el tiempo tecleando). Para estos casos aplicaremos la estrategia «algo que tienes» y repartiremos tarjetas entre los usuarios. Por ejemplo, los cajeros automáticos de los bancos aplican una seguridad doble: la tarjeta más un número PIN. Las tarjetas son de dos tipos: Sencillas o complejas, las magnéticas van desapareciendo.

Las tarjetas con chip son más seguras pero más caras, ya que son utilizadas en ocasiones especiales. Hay dos tipos:
  • Dispositivos de almacenamiento: Contienen nuestras claves para que las lea el dispositivo donde introducimos la tarjeta.
  • Dispositivos de procesamiento:  Contienen nuestras claves, pero nunca salen de la tarjeta. El chip se limita a cifrar con ellas algún desafío que lanza el dispositivo por donde introducimos la tarjeta.
2.3. Biometría.

Consiste en identificar alguna característica física del sujeto (huella dactilar, ojo, voz..). La persona o personas autorizadas deben grabar primero su característica física. Por ejemplo, en la huella se graban dedos de las dos manos, por si se sufre un accidente en una de ellas. Después, cada vez que quieran utilizar el ordenador, deberán situar el dedo encima del sensor.

Como hemos dicho antes, el control biométrico no es sustitutivo del usuario/contraseña, sino complementario: conviene tener los dos para aumentar la seguridad (estrategia «algo que sabes, algo que eres»). Aunque en algunas ocasiones sí se utiliza individualmente para ahorrar la molestia de estar pulsando teclas: por ejemplo, para acceder a alguna zona vip de la empresa.

2.4. Elevación de privilegios.

Ya estamos autentificados en el sistema operativo y podemos trabajar con el, pero limitaremos los privilegios a los distintos usuarios asociados con ele sistema. En las empresas la mayoría de las empresas utilizan usuarios que no tiene permisos para realizar tareas de administrador. 

Pero hay determinadas situaciones (instalación de nuevos programas, modificación de parámetros del sistema) para las que sí necesitamos ser administradores. Una solución es salir del usuario actual y entrar como administrador, pero es más sencillo solicitar, de manera puntual, una elevación de privilegios. Consiste en pedirle al sistema ejecutar un determinado programa con permisos de administrador. Se aplica solo a ese programa y solo a esa ejecución: no afecta a las aplicaciones abiertas antes o después, ni siquiera cuando abramos ese mismo programa más adelante.

En cuanto al usuario, dependiendo de la configuración del sistema, nos aparecerá una ventana de confirmación o una autentificación.

3. Cuotas.

Vamos a protegernos de las personas que "sí" están autorizadas debido a que nuestros usuarios ya sea intencionado o no pueden dañar el sistema. Para evitar esto, los sistemas se configuran para aplicar cuotas. Para el disco, se establece que cada usuario puede ocupar un número determinado de bytes (megabytes, gigabytes). Cuando excede ese límite, podemos configurar de modo que el sistema no le
permita extenderse más. Veamos como asignar las cuotas:

  • Si son muy bajas: Tendremos a los usuarios quejándose todos los días porque no les dejamos trabajar. Hay que tener especial cuidado con los usuarios que se crean porque son necesarios para arrancar una aplicación.
  • Si son muy altas: No tendrán el efecto disuasorio que se espera de ellas y, al final, terminaremos comprando más disco.

4. Actualizaciones y parches.


El CD/DVD utilizado para instalar Windows contiene una versión concreta liberada en una fecha concreta. Desde entonces, los programadores de Microsoft han seguido trabajando. El resultado son las actualizaciones, paquetes de software donde se introducen mejoras y corrigen defectos. Como administradores del sistema debemos de instalar esas actualizaciones (se descarga automáticamente de Internet).

Podemos elegir entre:
  • No buscar actualizaciones ni instalarlas (no recomendado).
  • Comprobar si hay actualizaciones, pero no descargarlas ni instalarlas.
  • Descargar actualizaciones, pero no instalarlas.
  • Descargar e instalar siempre (lo más habitual).
Los parches son parecidos a las actualizaciones, pero se utilizan solo para corregir defectos y suelen necesitar que el usuario lo descargue y lo instale. Cuando alguien detecta un problema en una aplicación, el fabricante avisa a todos los clientes afectados, les describe un workaround (si lo hay) y, cuando tiene el parche que lo arregla, les avisa para que lo descarguen de su web. Por esto es necesario tener copias originales de las aplicaciones.

5. Antivirus.

Aunque tengamos el sistema actualizado, hay muchos hacker que quiere perjudicarnos. Son los llamados virus informáticos. Estamos hablando de malware y tenemos que evitarlo. Los virus pueden instalarse en nuestra máquina sin que lo sepamos, aprovechando algún defecto del sistema operativo o las aplicaciones instaladas. Hay veces que les "abrimos la puerta" debido a que estamos haciendo una instalación de algún sitio no oficial.


El antivirus es un programa que está vigilando continuamente lo que ocurre en nuestra máquina. Concretamente, cualquier software que se intenta ejecutar (.exe, .dll) primero pasa por el antivirus. Él lo compara con su base de datos de virus y, si lo encuentra, impide que se ejecute y avisa al usuario. Aunque el antivirus siempre va por detrás del virus, es importante tenerlo actualizado. La actualización afecta tanto a la base de datos de virus conocidos como al software del propio antivirus.

6. Monitorización. 


Después de todas las medidas de seguridad, aún no estamos seguros. Debemos de vigilar que todo esté normal. Esto consiste en: 
  • Revisar los log del sistema y las aplicaciones.
  • Activar la copia sincronizada del log en otra máquina.
  • Revisar la ocupación del sistema (disco duro, CPU).
  • Suscribirse a las newsletters de los fabricantes de nuestro software y hardware para tener a mano las últimas actualizaciones, parches..
  • Participar en foros de usuarios de las mismas aplicaciones que nosotros.

La monitorización de los log consiste primero en diferenciar qué es un problema y qué no lo es. El texto de log ayuda porque suele tener un indicador de gravedad (crítica, alto, medio, bajo o simple aviso), aunque es la clasificación del fabricante. Para conocer la ocupación de recursos de una máquina podemos entrar en ella y lanzar herramientas locales.

Conviene instalar una herramienta de inventario y monitorización. El inventario es la lista de equipos y conexiones y la configuración de ambos. La monitorización es la supervisión en todo momento del estado de los elementos del inventario. En cuanto al sistema se comportan de la siguiente forma:
  • Rastrean la red buscando altas y bajas de equipos en el inventario.
  • Identificar los distintos equipos (ordenadores o red). Para ello es necesario que los equipos ofrezcan interfaces estándares.
  • Registran una base de datos para generar informes mediante la configuración de el sistema.
  • Incorporan alertas sobre la ocupación de discos, interfaz..
  • Podemos monitorizar en directo la actividad de las interfaces de red, CPU..


El punto de inflexión suele ser un límite en la proporción entre el número de equipos y el número de integrantes del departamento de soporte informático. Cuando el personal ya está desbordado de trabajo, introducen estas herramientas permite automatizar las tareas rutinarias y así dejar tiempo libre a  personas que atienden los problemas.



7. Aplicaciones web.

Veamos las distintas evoluciones de la informática:
  • En los años 60/70 eran monolíticas: La interfaz de usuario como la lógica de proceso, estaba en la misma máquina. La protección de una aplicación monolítica se centraba en proteger la máquina donde ejecutaban todos los programas.
  • En los años 80/90: Aparecen los ordenadores personales y las redes de comunicaciones dentro de las empresas. Se implementan las aplicaciones con arquitectura cliente-servidor, la interfaz de usuario y parte de la lógica de proceso están en el ordenador del usuario, y el resto de la lógica de proceso está en un ordenador central, al que conectan los ordenadores de usuario mediante la red local. La protección se complica: ahora hay que proteger a cada cliente, el servidor y la red local de la empresa.
  • A partir de los años 90: Internet permite extender las aplicaciones web. Las diferencias son que el cliente suele ser siempre el mismo (el navegador) y la comunicación utiliza redes públicas, sobre las que la empresa tiene nulo control. La protección es más difícil que nunca.

Las ventajas de implementar una aplicación mediante tecnologías web son:
  • No necesitamos instalar nada en el cliente: solo se necesita el navegador. Con esto evitamos instalar un cliente nuevo que pueda entrar en conflicto con otras aplicaciones de la máquina, el usuario no necesita privilegios especiales para instalar programas.
  • Cualquier actualización generada por nuestros programadores está inmediatamente disponible para los usuarios porque siempre descargan la página actualizada de la última versión. No hay que esperar a que todos los usuarios sean avisados de la actualización, la descarguen, instalen..

Pero debemos de tener cuidado con:
  • La máquina que aloja el servidor web y sus aplicaciones accesorias. Si un hacker toma esta máquina, tiene acceso a toda la información y todas las conexiones de los usuarios. Hay que aplicar las medidas de protección que hemos estudiado en este tema.
  • Si la máquina del servidor web no es nuestra, sino alquilada no tenemos control sobre las medidas de protección. Debemos confiar en la profesionalidad del proveedor.
  • La transmisión entre el cliente web (navegador) y el servidor web. Muchas aplicaciones todavía utilizan el protocolo HTTP, donde todo viaja en texto en claro. En algún tramo de red puede estar escuchando un hacker y conocer qué hacemos, incluso modificarlo. Optaremos por HTTPS.
  • La máquina de un usuario conectado puede haber sido hackeada y su navegador también. Es importante instalare un antivirus.

8. Cloud computing.


"Computación en la nube". Debemos de saber diferenciar entre computación en la nube y almacenamiento en la nube. El almacenamiento en la nube aporta flexibilidad (GB), pero se limita a guardar archivos y carpetas. La computación en la nube es más amplia, ejecuta programas que trabajan con archivos (base de datos, servidores..). Sin embargo la computación en la nube puede trabajar con archivos de almacenamiento en la nube.

A las empresas ya no les interesa conectar a Internet un servidor web de su CPD porque necesitan dedicar recursos (buena conectividad, servidores potentes..). Además, abrir al exterior las conexiones del CPD es una fuente de problemas por la cantidad de ataques que nos pueden llegar.

No convence alquilar espacio en un hosting porque, si es un servidor web compartido, el rendimiento es bajo; si es un hosting dedicado, suelen ser máquinas individuales de media potencia.

8.1. LaaS: Infrastructure as a Service.


La empresa quiere una máquina entera (Linux, Windows..) en un proveedor, pero con una diferencia al hosting dedicado: esa máquina ejecutará en un entorno virtual, de manera que podemos regular la potencia. Si la aplicación está en exceso de carga, contratamos más CPU y más RAM (más costes). Cuando ya no lo esté, volveremos a la configuración básica. Incluso se puede solicitar que arranquen más máquinas (instancias). El proceso es el mismo que las instalaciones de máquinas virtuales. Aun así, seguiremos necesitando personal autorizado para administrar las distintas máquinas.

8.2. SaaS: Software as a Service.

Las empresas que no tienen suficientes recursos para contratar LaaS, eligen SaaS, aplicaciones completas donde el mismo proveedor se encarga del desarrollo de la aplicación, su mantenimiento y también pone las máquinas y la conectividad.

En cuanto a la protección de las aplicaciones, en ambos casos (laaS, SaaS), como ya ocurría con el hosting, perdemos el control sobre la seguridad de la máquina y el software que ejecuta en ella. Confiamos en la profesionalidad del proveedor y redactar los SLA del contrato del servicio.




Vídeo: