miércoles, 22 de febrero de 2017

Seguridad activa: control de redes

1.Espiar nuestra red 

En esta unidad vamos a aprender a conocer qué está pasando en nuestra red, qué están haciendo esos usuarios autorizados. Para este fin necesitaremos espiarnos a nosotros mismos, buscando garantizar la disponibilidad de la red (localizaremos enlaces saturados) y detectar ataques en curso.

Vamos a procesar el tráfico de nuestra red mediante dos técnicas:

  • La monitorización del tráfico.Trabaja a alto nivel:se limita a tomar medidas agregadas, los llamados contadores.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
  • Es suficiente para conocer la disponibilidad de la red o el tipo de tráfico que transita
El análisis del tráfico.Trabaja  a bajo nivel:captura todos los paquetes que transitan por una interfaz (los conocidos sniffer de red).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. 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.


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)



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











1.2. WireShark

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 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 espiadosotros 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
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.
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
tem
/ 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.

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 sobrecomunicaciones que son perfectamente legales. Conviene probar muy bien una reglantes de meterla en un IPS.


2. Firewall
Pero 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.
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).

2.1. Qué hace

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. En las máquinas servidor, generalmente el firewall actúa sobre tráfico entrante: los servicios
que ejecutan en esa máquina abren determinados puertos y queremos controlar quién se conecta a ellos. En las máquinas cliente es más sencillo: por defecto, todas las conexiones entrantes están prohibidas y todas las salientes permitidas. Esto no quiere decir que no puedan entrar paquetes, porque no habría conversaciones; pero la conversación la tiene que iniciar el equipo cliente.
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.
 Este proceso puede ser automático: algunos programas que instalan un servidor en la máquina son capaces de configurar algunos programas de firewall, sin necesitar la intervención del administrador.
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.
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.

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

2.3. Firewall en Linux. Iptables
  •  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.
En el caso de Linux, la utilidad iptables permite introducir reglas en 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.`
  •  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
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.

Para cada etapa (también llamada chain, porque encadena
una regla con otra) hay una lista de reglas que se recorre secuencialmente hasta
que el paquete cumple una regla.Si el paquete no cumple ninguna regla de esa etapa, se aplica a acción por defecto de la etapa

















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



  •  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

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

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


3.3. Tipos de proxy
  •  Proxy explícito. Configuramos los navegadores de los usuarios para que utilicen el roxy 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.
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.
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. Vamos a aprender cómo se
instala, cómo se configura y cómo se comprueba que está procesando tráfico.

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

4.1. 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 ti
según el tipo de mensajes qumaneja 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 ás difícil engañar al usuario y solo lo abra si está
4.2. 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.

domingo, 12 de febrero de 2017

seguridad activa:acceso a redes


1.REDES CABLEADAS
En las dos unidades anteriores hemos estudiado a fondo cómo proteger nuestra máquina
junto con los datos y el software que ejecuta en ella. Pero en una empresa es raro
encontrar una máquina aislada.
También hay que protegerse de los ataques que vengan por la red. Una máquina que

ofrece servicios TCP/IP debe abrir ciertos puertos.Las consecuencias
de este fallo serán, como mínimo, que el servicio queda interrumpido; pero en
algunos casos el atacante puede tomar el control de la máquina.
Actualmente, este miedo prácticamente ha desaparecido, porque utilizamos la arquitectura
en estrella: cada equipo tiene un cable directo a un puerto de un conmutador de
red (switch) y por ahí envían sus paquetes; el switch los recibe y decide por qué puerto
va a enviarlos para que lleguen al destino.

Sin embargo, las redes conmutadas tienen sus propias vulnerabilidades:

  • Hay que proteger el switch físicamente: encerrarlo en un armario/rack con llave dentro de una sala con control de acceso. Así evitamos no solo el robo, sino que alguien acceda al botón de reset y lo configure a su modo.
  •  Hay que proteger el switch lógicamente: poner usuario/contraseña para acceder a su configuración.
  •  Hay que hacer grupos de puertos, porque en un switch suelen estar conectados grupos de máquinas que nunca necesitan comunicarse entre sí (por ejemplo, el departamento de marketing con el departamento de soporte).
  • Hay que controlar qué equipos se pueden conectar y a qué puertos. Por el motivo anterior, al grupo de marketing solo deberían entrar máquinas de marketing

1.1. VLAN
Los grupos de puertos que hacemos en un switch gestionable para aislar un conjunto
de máquinas constituyen una VLAN (LAN virtual). Se le llama virtual porque parece que
están en una LAN propia, que la red está montada para ellos solos. Como hemos dicho
antes, utilizar VLAN mejora el rendimiento y la seguridad, porque esas máquinas solo
hablan entre ellas y nadie extraño las escucha

1.2. Autenticación en el puerto. MAC y 802.1X
Hemos protegido el acceso al switch y repartido las máquinas de la empresa en varias
VLAN, interconectadas por routers. Pero cualquiera puede meterse en un despacho,
desconectar el cable RJ45 del ordenador del empleado, conectarlo a su portátil y ya
estaría en esa VLAN. Como sigue siendo un switch, no podrá escuchar el tráfi co normal

de los demás ordenadores de la VLAN, pero sí lanzar ataques contra ellos.

puerto que nos conecta a Internet, en nuestro caso el 5, porque ahí hay muchas máquinas y ya está ocupado) y añadimos dos direcciones a la lista: la dirección de uno de los equipos cliente en el puerto 9 y la dirección de nuestra consola en puerto 13 (así podemos seguir aplicando cambios). En la Figura 6.26 tenemos la nueva configuración.


2. 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 justificados 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.
Aunque se pueden hacer redes inalámbricas entre equipos (redes ad hoc), lo más habitual
son las redes de tipo infraestructura: un equipo llamado access point (AP, punto
de acceso) hace de switch, de manera que los demás ordenadores se conectan a él, le
envían sus paquetes y él decide cómo hacerlos llegar al destino, que puede ser enviarlo
de nuevo al aire o sacarlo por el cable que le lleva al resto de la red (Fig. 6.37). Salir por
el cable es la confi guración más habitual en las empresas, donde la WLAN se considera
una extensión de la red cableada.
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 en el caso del switch, porque el AP tiene que estar cerca de los usuarios para que puedan 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 variasSSID 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.

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

La autenticación es más habitual en redes inalámbricas que en redes cableadas porque,
para poder llegar a conectar un cable, primero tenemos que entrar en la empresa, y se
supone que no dejan pasar a cualquiera; en cambio, podemos captar la señal inalámbrica
desde un coche aparcado junto a la fachada, sentados en un bar en la planta
baja, etc.

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.
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.
  •  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 Windows7 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.

2.2. Cifrado: WEP, WPA, WPA2
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. Sin embargo, en poco tiempo se encontraron debilidades al algoritmo de cifrado utilizado en WEP. Capturando cierto número de tramas, en poco tiempo (cada vez menos, con el aumento de la capacidad de proceso de los ordenadores personales) cualquiera podía obtener la clave WEP. Las autoridades de estandarización empezaron a trabajar en un nuevo estándar. Se llamó WPA (Wi-Fi Protected Access) e introduce muchas mejoras:
  •  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, porque si una persona abandona la empresa, habría que cambiar la clave y comunicarlo  de nuevo a todos los empleados.

2.3. WPA empresarial: RADIUS
Como acabamos de destacar, para las necesidades de seguridad de una empresa no
es sufi ciente 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.
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.
Configuración de WPA Empresarial Duración: 20 minutos Dificultad: Media
Objetivo. Instalar y configurar el equipamiento necesario
para disponer de autenticación WPA Empresarial.
Material.Un ordenador, un ordenador Windows Vista con
wifi y un router inalámbrico Linksys WRT160NL. 1. Primero instalamos el servidor RADIUS siguiendo los pasos del caso práctico 4. La única diferencia es que pondremos el servidor en la dirección 10.0.1.4, porque nuestro AP está en la 10.0.1.1 (por tanto, habrá que
m odificar el clients.conf). Mantenemos la misma contraseña nolasabes1 y el mismo usuario profe con la clave test1234.
2. Para configurar el AP seguimos los primeros pasos del
caso práctico 5: conectamos el ordenador al router
mediante cable y abrimos el navegador conectándonos
al servidor web del router (dirección 10.0.1.1 en
nuestro ejemplo).
3. Creamos la nueva red entrando en la pestaña Wireless.
Ahora le llamaremos ALUMNOS-RADIUS (Fig. 6.46).
4. Pulsamos Save Settings y nos vamos a Wireless Security.
Aquí elegimos WPA Enterprise, cifrado AES y ponemos
la dirección y la clave del RADIUS (Fig. 6.47).
Caso práctico.
4. Servicios de red. Nmap y netstat
Empezamos esta unidad hablando de los riesgos de conectar un equipo a una red.
Habrá una parte del software instalado en ese equipo (los llamados servicios de red) que
quiere conectar con unos equipos y que espera conexiones de esos equipos u otros. Pero
pueden llegar conexiones de un cliente atacante, o nos podemos estar conectando erróneamente
a un servidor atacante.
Las actualizaciones llegarán por el mecanismo habitual del sistema operativo; el software
que tenemos activo (haciendo conexiones o esperándolas) lo podemos conocer
mediante un par de herramientas sencillas: 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:

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

miércoles, 25 de enero de 2017

SEGURIDAD ACTIVA:sistema operativo y aplicaciones

1.Carrera de obstáculos
Por muchas medidas de control de acceso que pongamos, un hacker puede sentarse de un equipo de nuestra empresa. O directamente robar un portátil a uno de nuestros directivos.

1.1 La caja del ordenador
Lo primero es evitar que pueda abrir la caja del ordenador para llevarse el disco duro y destriparlo tranquilamente en casa.La mayoría de las cajas de los ordenadores de sobremesa llevan un par de anclajes donde colocar un candado normal.


1.2 La BIOS del ordenador
Con el candado, el hacker ya no se podrá llevar el disco.La técnica del arranque con LiveCD,montábamos tranquilamente el disco duro local.
Para evitar que un hacker haga lo mismo, hay que entrar en la BIOS para modifi car el
orden de arranque. Por defecto suele estar puesto primero el CD/DVD y después el disco
duro local HDD,
Esta tarea se suele hacer cuando llega un nuevo equipo a la empresa. Tampoco hay que olvidar
cambiar las contraseñas del administrador.

Si hemos olvidado las contraseñas 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.





1.3 EL BOOT MANAGER
En este disco puede ocurrir que tengamos instalados varios
sistemas operativos (o varias versiones del mismo sistema, como suele ocurrir en Linux),
de manera que, al arrancar, un programa llamado boot manager (gestor de arranque)
nos permite elegir uno de ellos.

1.4 CIFRADO DE PARTICIONES
Con las barreras que hemos puesto hasta ahora, el hacker no se puede llevar nada; solo
puede arrancar desde el disco local y solo puede elegir alguna de las entradas del boot
manager.Vamos a cifrar el contenido, de manera que sea ilegible.
PASOS:


Resultado de imagen de CIFRADO DE PARTICIONES





Resultado de imagen de CIFRADO DE PARTICIONES




Resultado de imagen de TRUE CRYPT



2. Autenticación en el sistema operativo
Hemos conseguido que nuestro hacker no pueda evitar que la máquina arranque con un
sistema operativo instalado por nosotros. Comparado con lo que hemos visto hasta ahora
(BIOS, boot manager),.


2.1. Usuario/password
Es el mecanismo más típico. Aplicando la estrategia «algo que sabes», la pantalla inicial
del sistema espera que la persona introduzca el nombre de un usuario y la contraseña
asociada a ese usuario.
Si nos equivocamos, bien porque el usuario no existe, bien porque la contraseña no
es la correcta, el sistema nos impide la entrada y nos deja intentarlo de nuevo. En
algunos sistemas nos ofrece una pista sobre la contraseña (si la pusimos la última vez
que cambiamos la contraseña).

Para poner las cosas más difíciles a los hackers, una buena medida es cambiar el nombre
por defecto de los usuarios con más privilegios sobre el sistema. Así no solo tendrán
que aplicar la fuerza bruta sobre la contraseña, sino también sobre el nombre del
usuario.

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.


2.2. Tarjetas
En algunas ocasiones, el mecanismo de usuario y contraseña no es sufi ciente: 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).


Las tarjetas con chip son más seguras pero más caras, por lo que se utilizan en ocasiones
especiales. Hay dos tipos:

  •  Las que son simplemente un dispositivo de almacenamiento: contienen nuestras clavespara que las lea el dispositivo donde introducimos la tarjeta.


  •  Las que constituyen un dispositivo 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.

2.3. Biometría

La seguridad del mecanismo usuario/contraseña es sufi ciente para la mayoría de las
aplicaciones. La tarjeta es cómoda. Pero cualquiera podría sentarse en nuestro ordenador,
insertar nuestra tarjeta (robada o duplicada), introducir nuestro usuario y contraseña.

La biometría consiste en identifi car alguna característica física del sujeto: la huella dactilar,
el ojo, la voz . La persona o personas autorizadas deben grabar primero
su característica física.

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



2.4. Elevación de privilegios

Ya estamos autenticados en el sistema operativo y podemos trabajar con él, pero siempre
limitados a los privilegios asociados al usuario con el que nos hemos presentado.
En las empresas, la mayoría de los empleados utilizan usuarios que no tienen permiso
para realizar tareas de administración de la máquina (usuarios limitados, no administradores);
así se reduce el daño que puedan causar, ya sea por error o porque se ha
colado un virus.

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.

Pero al final resultó ser muy molesto, porque muchas herramientas necesitan hacer operaciones
especiales en el sistema y no por eso son peligrosas (por ejemplo, cambiar la
hora).


3. Cuotas
Hasta ahora hemos protegido nuestros sistemas evitando el acceso de personas no
autorizadas; ahora vamos a protegerlos de las personas que sí están autorizadas.
Porque nuestros usuarios, con intención o no, también pueden dañar el sistema.

Hay que asignar las cuotas con cuidado:

  •  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, como el www-data del servidor web Apache: si exceden la cuota, la aplicación se parará.


  •  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
Ya tenemos el sistema protegido contra el acceso de extraños y contra el mal uso de los
propios. Pero estamos hablando de software: hecho por humanos y, por tanto, sujeto a
errores.
El CD/DVD que hemos 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, sobre todo, corrigen defectos.
se descarga automáticamente desde Internet.
Microsoft libera actualizaciones de forma rutinaria, y Service Pack, cada dos semanas,
los martes por la noche; pero si encuentran la solución a un problema urgente, lo liberan
inmediatamente, sin esperar al siguiente martes.
Podemos elegir entre:

  • No buscar actualizaciones ni instalarlas (no recomendable).
  •  Comprobar si hay actualizaciones, pero no descargarlas ni instalarlas. Esto solo tiene sentido en equipos con poco disco o acceso limitado a Internet.


  •  Descargar actualizaciones, pero no instalarlas. En algunos sistemas podemos tener una configuración muy sensible a cambios en el sistema operativo.


  •  Descargar e instalar siempre. Es lo más habitual en los puestos de usuario


5. Antivirus
Podemos tener el sistema actualizado, pero hay mucho programador malicioso que
quiere instalar software en nuestro sistema para su provecho (diversión, espionaje industrial,
etc.). Son los llamados virus informáticos, que son de muchos tipos (gusanos,
troyanos, etc.), pero, en cualquier caso, estamos hablando de malware (software maligno)
y hay que evitarlos.

El antivirus es un programa que está vigilando continuamente lo que ocurre en nuestra
máquina. Concretamente, cualquier software que se intenta ejecutar (ejecutables .exe,
librerías .dll) primero pasa por el antivirus. Él lo compara con su base de dato de virus
y, si lo encuentra, impide que se ejecute y avisa al usuario.

6. Monitorización
labor es instalarlas, formar a los usuarios y, todos los días, vigilar que todo esté normal.
Esta vigilancia consiste en:

  •  Revisar los log del sistema y las aplicaciones. Cualquier suceso anómalo quedará

anotado en alguna parte. Para cada aplicación hay que saber dónde lo hace (fichero,
base de datos).

  • Si el sistema lo permite, activar la copia sincronizada del log en otra máquina. Es

decir, cada aviso se escribe a la vez en nuestra máquina y en otra. De esta forma
podremos analizar un desastre, evitaremos que un hacker borre sus huellas, etc.

  •  Revisar la ocupación del sistema, principalmente el disco y la CPU. Lo habitual es

programar una tarea para revisarlo regularmente (cada cinco minutos, por ejemplo)
y generar una alarma que alerte al administrador cuando se supere algún límite
(90 % del disco, por ejemplo).

  •  Suscribirse a las newsletters de los fabricantes de nuestro hardware y software para tener a mano la información oficial: actualizaciones, parches, nueva funcionalidad, workarounds, etc.


  •  Participar en foros de usuarios de las mismas aplicaciones que nosotros, para estaral día de los problemas que aparecen (puede que nos pase lo mismo) y para poder pedir ayuda si algo nos sobrepasa (en paralelo con la consulta al soporte oficial). 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 clasifi cación del fabricante.

7. Aplicaciones web

  •  En los años sesenta y setenta eran monolíticas: toda la funcionalidad, tanto la interfaz de

usuario como la lógica de proceso, estaba en la misma máquina. Los usuarios utilizaban
terminales «tontos» conectados al ordenador principal. 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 ochenta y noventa aparecen los ordenadores personales y las redes de

comunicaciones dentro de las empresas. Estos dos avances permiten implementar las
aplicaciones siguiendo la 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 noventa, el éxito de Internet permite extender las aplicaciones

web (que siguen el modelo cliente-servidor) a cualquier punto de conexión del planeta.
Hay un par de diferencias con los años ochenta: 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.
Nadie duda de las ventajas de implementar una aplicación mediante tecnologías web:

  •  No necesitamos instalar nada en el cliente: solo se necesita el navegador (que se

incluye con el sistema operativo y que tiene otros usos, como navegar por Internet).
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, etc.

  •  Cualquier actualización generada por nuestros programadores (más funcionalidad,

parches que arreglan defectos) 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, etc.
Por esta razón están ampliamente extendidas en Internet (Google Apps, ZoHo, Twitter,
WordPress YouTube, etc.), y también dentro de las empresas, las intranets. Pero debemos
tener cuidado con:

  •  La máquina que aloja el servidor web y sus aplicaciones accesorias (base de datos y

otras). Siun 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 (hosting web), no tenemos

control sobre las medidas de protección. Debemos confiar en la profesionalidad
del proveedor y repasar el contrato, en especial el apartado de los niveles de servicio
(SLA [Service Level Agreement]). Por ejemplo, podemos exigir al proveedor que si el
servidor web está caído más de dos horas al año, nos haga un descuento del 25 %
en la siguiente cuota.

  • 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 para su provecho. Debemos optar por HTTPS.

  • La máquina de un usuario conectado puede haber sido hackeada y su navegador también. Por ejemplo, se ha instalado un keylogger que envía todas las contraseñas fuera de nuestro control. En este punto es importante el antivirus.
8. Cloud computing
Después de las aplicaciones web, la siguiente evolución de las aplicaciones en Internet

es el cloud computing (computación en la nube). Conviene diferenciar entre computación
en la nube y almacenamiento en la nube (cloud storage: iCloud, Dropbox, Amazon S3).
El almacenamiento también aporta fl exibilidad (número variable de GB reservados,
backup automático), pero se limita a guardar archivos y carpetas. 
A las empresas ya no les interesa conectar a Internet un servidor web de su CPD porque
necesitan dedicar recursos a proveer QoS (Quality of Service, calidad de servicio), buena
conectividad, servidores potentes, administradores efi caces, etc.


8.1. IaaS: Infrastructure as a Service
Un primera solución de cloud computing es el IaaS (Infrastructure as a Service). Nuestra

empresa quiere poner una máquina entera (un Linux, por ejemplo) en un proveedor,
pero con una diferencia frente al hosting dedicado: esa máquina ejecutará en un entorno
virtualizado, de manera que podemos regular la potencia



Pero en esta opción seguimos necesitando personal especializado para administrar esas
instancias, generarlas, actualizarlas, confi gurar la seguridad, vigilar la virtualización, etc.

8.2. SaaS: Software as a Service
Las empresas que no quieren incurrir en ese gasto (una fábrica de quesos sabe de
quesos, no de software) eligen SaaS (Software as a Service), 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 (o en las máquinas de un IaaS, pero
nunca en las nuestras).
Por ejemplo, para el correo de la fábrica de quesos, en lugar de utilizar una máquina
nuestra (lo que supone contratar una buena conexión a Internet y asumir los recursos
humanos necesarios para realizar la confi guración, administración, monitorización