martes, 24 de junio de 2014

Querido reclutador IT, estudia !!!

Seguro que si estás en situación de desempleo como es mi caso pasarás por muchas experiencias frustrantes a la hora de conseguir una entrevista de trabajo en condiciones, ni me refiero a un puesto de trabajo !!!.

Es curioso como las empresas tecnológicas ponen en manos de aficionados IT la selección de su personal, así van luego las cosas.


Cuando un recluiter me pregunta si tengo experiencia en Active Directory 2008 sabe de lo que habla? lo digo porque en mi cv figura que mi primera certificación en Windows Server, y por lo tanto en Active Directory, fue en 2002, y la última en 2013...aunque no ponga explícitamente que tengo experiencia en 2008, creo que se sobre-entiende...

Cuando un recluiter me pregunta si tengo experiencia en Antivirus...sabe de lo que habla? habrá leído el blog? habrá leído entre líneas mi perfil técnico? se refiere a instalar/configurar/mantener antivirus? se refiere a bypassear los antivirus? se refiere a crear medidas anti-virus?


Cuando un recluiter me pregunta sobre mis conocimientos en seguridad, habrá leído el CV? habrá pensado que en 1995 seguramente EL no tenía Internet ni sabía que era, y que yo ya andaba troleando los salones de IRC con los típicos fllood, nukes, con-con y demás?

Cuando un recluiter me pregunta sobre mis conocimientos de Sql Server 2012, no habrá leído que mi primera experiencia administrando Sql Serer fue en el 7, y que no he parado de trabajarlo? Lo mismo para Exchange, Sharepoint y demás...

Cuando un recluiter me pregunta sobre mis conocimientos sobre almacenamiento, no habrá leído por supuesto mis artículos sobre almacenamiento? no habrá leido mi experiencia con cabinas IBM? no habrá leído mis conocimientos sobre ISCSI, FbChannel,Freenas, MPIO?


Claro, yo entiendo que cuando eres de Murcia, y has trabajado para las mejores empresas de tu cuidad, con grandes volúmenes de facturación, pero sin un nombre reconocido a nivel nacional, es como si hubieras trabajado en el "chino" de tu barrio.

El reclutador no tiene ningún interés en saber el uptime que has tenido en tus sistemas, la ausencia de caídas reseñables, o la reducción de gasto en el departamento IT por tus gestiones, y no la típica gestión de presupuestos y talonarios...


Yo siempre enfatizo en mis entrevistas mi capacidad de superación y sobre todo, mi actitud.
Cuando programé mi primer script con 10 años y un Spectrum 48k con cinta externa no había Internet, ni existía Sql Server 2014.
Cuando hackeaba lineas telefónicas RAS con devolución de llamada para no gastar en conexión a Internet (saludos Arrakis) no existía Metasploit.
Cuando apareció Windows 2000 y la revolución Active Directory, nadie sabía sobre Windows 2012 !!!
Mi mayor valía en el mundo de la informática es mi capacidad para aprender y reciclarme. Ser un apasionado de tu trabajo es lo que tiene !!!! Que mier** importa no conocer la última versión del producto de moda?o qué importa no tener más de 6 meses de experiencia en un producto que lleva 1 año en el mercado con escasa implementación?


Es lógico, el mercado de la informática ahora mismo se puede comparar con unas olimpiadas.
Yo me considero un deportista nato, porque tengo una buena media corriendo, saltando, lanzando, jugando, etc. Las empresas no quieren un deportista, quieren un corredor, nadador, saltador, etc. NO importa que seas un administrador de sistemas Windows y NO TENGAS NI IDEA de seguridad. O al revés !!! que vayas a trabajar como Security pero no tengas ni idea de como funciona una BBDD. Que vayas a trabajar con virtualización Hyper-V pero no tengas ni idea de otras plataformas...

Las empresas quieren especialización. Perfecto. A qué precio?.
Quieres que trabaje en Madrid por lo que cobra, con todos mis respetos, mi mujer trabajando de panadera?
Quieres que trabaje en Madrid por lo que cobra una administrativa?

El tema del Inglés es otra cosa que me crispa del carajo !!!!
Llevo 20 años estudiando informática. Quizás mas !!! Tengo que reconocer que mi acento anglosajón es equiparable a mi acento murciano ( acho-pijo !!) . Creo que si una empresa opta por contar con mis servicios profesionales, podría darme la oportunidad. En el caso de necesitar el Inglés para el trabajo, no tardaría mas de 3 meses en obtener esas certificaciones que piden, pero realmente no me interesa invertir mi tiempo ahora mismo en ello, for free, ya que hay cientos, miles de áreas dentro de mi trabajo, la informática, que considero mas interesantes.
Quedaros con el que habla estupendamente inglés, pero que le quedan 20 años de experiencia informática.

Lo que no entienden estas empresas es que están contaminando el sector con "profesionales" sin experiencia ni conocimientos o muy pocos que repercuten directamente en la rentabilidad de sus operaciones.


Yo entiendo que para administrar profesionalmente una BBDD Oracle necesites una persona dedicada al completo a ello, pero hay casos en los que contar con CONOCIMIENTOS en varios SGDB puede aportar un valor añadido a sus proyectos, aunque se sigan realizando en Oracle.

En un año y medio de paro que llevo he realizado bastantes entrevista de trabajo. En la gran mayoría de casos he salido de la entrevista con la sensación por completo de que no era yo el trabajador, pero sobre todo, con que ha aprendido más el reclutador que yo de los temas tratados.

Incluso ha habido casos en los que me han pedido hackear una web porque hablaba más de su CEO... y queréis que represente a una empresa así? No tenéis ni idea de lo que significa Hacking ético ni seguridad informática.

Si estás en situación de desempleo como me encuentro yo, siento mucho que tengas que pasar por todo esto. Seguro que te ves reflejado con mis palabras.

Si eres un reclutador de esos que se llaman "especialistas IT" procura hacer tu trabajo de la mejor manera. Investiga el CV, busca en wikipedia lo que no sepas. Consulta con otros profesionales del sector. Si no haces todo esto, estás haciendo MAL tu trabajo, y las consecuencias no son solo para la empresa que representas, sino para todas las PERSONAS a las que ni tan siquiera consideras por tu incompetencia.

Te apetece contar tus experiencias buscando trabajo?

martes, 3 de junio de 2014

11.- OSSIM Reenviando logs de Vmware Esxi. Agentless

11º artículo de la serie OSSIM. Parte 123456, 7 , 8. 9 10


En anteriores artículos hemos visto como agregar fuentes de información a OSSIM para analizar. Hemos configurado esas fuentes de información desde un sensor OSSEC instalado bajo Windows y otro sensor OSSEC instalado bajo Debian. 

Ahora es el turno de agregar otra fuente de información de un sistema sobre el cual no podemos instalar software adicional, como pueda ser un Access Point. Para esta prueba vamos a "ligar" OSSIM con un hypervisor Vmware Esxi.

Creo que existe un procedimiento para compilar el agente OSSEC en Esxi, pero no veo recomendable instalar herramientas C y un montón de librerías sobre nuestro Hypervisor. La única diferencia entre usar un cliente OSSEC y aprovechar las funciones syslog es la monitorización de integridad de ficheros. Si podemos prescindir de esta medida de seguridad en nuestro Host Esxi, perfecto !!

El primer paso es configurar en nuestro Esxi que queremos reenviar los logs del sistema a un servidor syslog, que será la ip de nuestro sensor OSSIM por el puerto UDP 514.

esxcli system syslog config set --loghost='udp://OSSIM:514'
esxcli system syslog reload

En la interface gráfica de OSSIM debemos habilitar el plugin para ESXI, ya sabes, para que sepa interpretar y normalizar los logs que le lleguen.


En la consola OSSIM:

Creamos el fichero  /var/log/vmware-esxi.log para almacenar los logs antes de parsearlos con OSSIM.

Creamos el fichero /etc/rsyslog.d/vmware-esxi.conf y editamos

if $fromhost-ip == 'ip_ossim' and $syslogseverity <= '6' then -/var/log/vmware-esxi.log


Añadimos /var/log/vmware-esxi.log al fichero de configuración de rotación de logs.

En cuanto se produzca un evento que coincida con la condición que le hemos aplicado, podremos visualizarlo en la consola SIEM.

Dentro de la necesidad de obtener información de sistemas a los cuales no podemos agregar software adicional (instalar un cliente OSSEC) existen dos peculiaridades... que pueda acceder por ssh o no.
En el segundo caso el procedimiento termina aquí. 

Para el caso del Esxi, podemos acceder por SSH al sistema, y monitorizar integridad de ficheros periodicamente con lo que se denomina OSSEC Agentless...

El proceso de configuración es tan sencillo como siempre.


Indicamos los campos básicos.


Podemos elegir entre las comprobaciones habituales de OSSEC para cada tipo de sistema.
Si seleccionamos SSH_DIFF podemos incluir una serie de comandos, y ossec simplemente los ejecutará y nos reportará eventos en caso de diferencias...


Espero que os haya servido de ayuda tanto para "linkar" vuestro servidor Vmware como para el concepto de Agentless y las múltiples posibilidades que nos ofrece.

Gracias por leerme !!!



lunes, 2 de junio de 2014

10.- OSSIM Un poco de teoría.

10º artículo de la serie OSSIM. Parte 123456, 7 , 8. 9

Este artículo quizás podría ser el número uno. En este capítulo voy a hablar de la gestión de riesgos con OSSIM, que realmente es el propósito de esta suite.
También voy a intentar explicar el funcionamiento interno del sistema de eventos, alarmas, correlación.

OSSIM no es un gestor de log centralizado, como pueda ser cualquier servicio RSYSLOG. OSSIM es mucho más. Con OSSIM identificamos nuestros activos, establecemos prioridades en los eventos, creamos reglas que nos permiten gestionar el comportamiento de nuestros eventos, correlaciona eventos para detectar alertas,etc. 


Empezamos el recorrido por nuestro sistema a monitorizar, las fuentes de logs. Podemos usar un servidor Windows o Linux instalando el agente OSSEC. Con este agente recopilamos información mediante los logs del sistema. OSSEC no es OSSIM. OSSEC es un HIDS (Host Intrusion Detection System) o mejor dicho LIDS ( Logs Intrusion Detection System). En comparación con un IDS de red como Snort, OSSEC no va a monitorizar los eventos de red para detectar un ataque, sino que "depende" de logs de Apache, Mod_security, firewall de Windows o cualquier aplicación que añadamos a la configuración de OSSEC para monitorizar.

Como hemos mencionado, podemos configurar cualquier LOG en OSSEC para ser monitorizado y enviado a OSSIM. Si tenemos un sistema Snort instalado previamente, podemos monitorizar sus ficheros de logs mediante el agente. Si por cualquier motivo no podemos instalar el agente OSSEC en el servidor/sistema Snort, podemos configurar Snort para que envíe log al servidor rsyslog de OSSIM. 
Esto no es exclusivo para Snort, sino para CUALQUIER LOG.


Una de las herramientas que incorpora el propio OSSIM es SNORT. Esto quiere decir que podemos usar un Snort propio bajo un sensor, y que internamente envie información a OSSIM. Depende de tu infraestructura y necesidades el usar un Snort externo o usar el implementado con OSSIM.

He comentado arriba que podemos configurar OSSEC para que lea cualquier fichero de logs de nuestras aplicaciones pero... OSSIM en concreto lis plugins del sensor deben conocer la configuración de ese fichero. Cuando habilitamos plugins en el sensor debemos elegir los sistemas que vamos a parsear. Por ejemplo. Imagina que tienes un firewall Cisco, Fortigate o cualquiera de los populares. Si "conectamos" esa fuente de logs a nuestro sistema OSSIM, este entenderá perfectamente el formato del log.



Por supuesto que podemos crear nuestros plugins personalizados para nuestros sistemas.

Ya hemos obtenido logs y los hemos "parseado" con los plugins del sensor.
Este sensor es un componente de OSSIM. Podemos tener tantos sensores como nos apetezca. Al igual que hacemos con una instalación distribuida de Snort en la que tenemos un servidor central y varios sensores.
La instalación del sensor OSSIM ( no confundir con OSSEC) debe realizarse con el fichero ISO proporcionado por AlienVault, por lo que no se puede instalar en un servidor Linux en ejecución. Quizás tu si puedas, pero he repasado la documentación y foros y al parecer es mucho más que complejo.
Si tenemos un VPS externo a la organización, si tenemos una DMZ fuertemente protegida, o simplemente por cuestiones de rendimiento queremos usar otro sensor OSSIM, la opción más elegante es instalarlo como una VM dentro del segmento de red que queramos.

Cuando el plugin OSSIM parsea el log, identifica unos campos básicos y los normaliza en su base de datos. Uno de los campos principales es el identificador de seguridad o SID. Esto qué significa?. Imaginamos que tenemos un servidor Windows con un agente OSSEC instalado. Configuramos que se reenvíen todos los logs del sistema ( visor de eventos) al sistema OSSIM. OSSIM normaliza la información pero no va a mostrar un evento por cada registro. Como decía al principio, OSSIM es una consola para administrar eventos de seguridad. El plugin OSSEC dentro de OSSIM conoce los identificadores de eventos de Windows, y en ese proceso de normalización, asignará un SID concreto para ese evento. Mediante las políticas decidimos qué eventos queremos que se nos muestren.

Los campos "Destino" o que OSSIM normalizará son estos:


Una vez normalizado el log se convierte en un evento en OSSIM ( o quizás por nuestra configuración, desechamos ese evento. Como hicimos en la práctica de políticas personalizadas).

A este evento le asignamos unos valores para conseguir mediante la métrica de OSSIM un valor definido como RIESGO.

Por cada SID de nuestro plugin podemos atribuir un valor para estos dos conceptos:

Priority: Prioridad. La urgencia para investigar el evento.

Reliability: "Confiabilidad". La probabilidad de que el evento sea un falso positivo.

Por defecto os muestro algunos valores para el plugin OSSEC con sistemas Windows.



Ahora tenemos un evento normalizado y valorado según estos dos criterios.
Ahora nos referimos al artículo de personalización de activos, en donde veíamos como a cada activo o Asset se le asignaba un valor entre 0 y 5 según la importancia de este activo.
Con estos 3 parámetros se define el Riesgo como:

(ASSET VALUE * PRIORITY * RELIABILITY) / 25 = RISK OF THE EVENT

Por cada fabricante, metodología o normativa existe una formula para calcular el riesgo.
Por ejemplo aquí teneís dos formulas. 1 y 2.

Si quieres leer un poco más sobre este asunto, te recomiendo MAGERIT ( Metodología  y gestión de riesgos de los sistemas de información. 

Tenemos que tener en cuenta que por eventos que produzcan un Riesgo mayor a 1 se creará una alarma en OSSIM.

Una vez asignado el riesgo, OSSIM lo agrupa por una Taxonomia que nos será útil a la hora de filtrar la información en nuestros cuadros de mando e informes.


Si realizaste la inscripción en el servicio OTX como vimos anteriormente, ahora es el turno de comparar la ip de origen del evento con la base de datos pública de OTX para identificar ese equipo. Si el equipo es externo (IP publica) se enviará esa información al servicio OTX dado su carácter colaborativo o comunitario como quieras llamarlo.

El evento sigue de viaje !!! empezó siendo un log en un fichero, y ahora se ha hecho mayor !!! Es el turno para el motor de correlación, la verdadera punta de flecha de OSSIM. Cuando hablamos de correlación hablamos de identificar patrones de comportamiento entre elementos, que puedan ser de distinta fuente. Por ejemplo, un brute force sobre un servidor o servicio es fácil de detectar, pero imaginar un escenario distinto en el que un atacante tiene un usuario y clave SSH y lo que está haciendo es probar contra TODOS los equipos que corren un servidor SSH. No vamos a tener X intentos de conexión a un servidor, sino a varios servidores.

Podemos crear nuestras propias correlaciones con nuestras "paranoyas" de seguridad más complicadas. Una de las que he leído y por supuesto nunca he implementado es una correlación de autenticación wifi y lectores de presencia: Si tenemos un sistema de control de presencia para empleados, el típico lector de tarjetas, conectado a nuestro servidor OSSIM sabemos que usuarios están dentro del edificio. Si tenemos un sistema de Wi-fi autenticado conectado a OSSIM sabemos cuando un usuario se conecta:  La magia se produce en forma de alerta o evento de seguridad a investigar cuando un empleado que NO ha pasado por el detector de tarjeta está conectado al sistema Wi-fi... La imaginación y las regular expressión al poder!!! :-)

Para ver algunos ejemplos que out-of-box de OSSIM:


Creo que no se me ha pasado ningún paso en el proceso de "gestión" de logs de OSSIM.

Espero que os haya servido de ayuda para comprender un poco más el mundo SIEM, y como OSSIM gestiona la entrada de información y como la procesa.

En siguiente capítulos seguiremos trabajando más en detalle con esta suite de herramientas.

Gracias por leerme !!!!






9.- OSSIM Solucionando problemas con Nikto Web Scanner

9º artículo de la serie OSSIM. Parte 1234567 , 89 10

En el artículo de hoy vamos a solucionar un problema que se presenta, al menos desde 4.6 ( actual 4.7.1) en OSSIM con el scanner Nikto.


Si has realizado un test de vulnerabilidades como indicamos en el capítulo  2 y has usado los plugins para abusos web, habrás comprobado como OSSIM nos revela un problema en el scanner NIKTO tal que así.



Como puedes apreciar, existe un problema con Nikto y el parámetro ASK. Vamos al fichero de configuración /var/lib/openvas/plugins/nikto.nasl


Comentamos los dos argumentos y ya podemos disfrutar de las opciones del Plugin para Nikto.



Espero que os sirva de ayuda, gracias por leerme.