Hablando de Software Libre y Seguridad en Oviedo

El pasado 20 de octubre tuve la oportunidad de dar una charla para el HackLab Pica Pica en unas jornadas sobre Software Libre organizadas por ellos (fueron también ellos quienes han hecho posible que venga Richard Stallman en dos ocasiones a Asturias).

Allí hablé de unas cuantas cuestiones sobre Seguridad. Desde planteamientos técnicos a otros más conceptuales. Os dejo un enlace al PDF de mi presentación con varios links dentro de él para que os podáis hacer una mejor idea de los temas que abarqué en el evento.

Un evento muy especial ya que mi hija de 6 meses estaba entre el público ;). La verdad es que con la gente de Pica Pica da gusto hacer cualquier tema. Son personas muy (muy) comprometidas con el Software Libre y a las que hay que apoyar sí o sí. Muchas gracias a ellos y a varios amigos que se pasaron por allí.

Entrevistado en el blog de Ontinet por María José Montes (ESET)

apachectlMi amiga María José Montes, Responsable de Ciberseguridad de ESET y participante activa en múltiples congresos de Hacking y eventos solidarios, me envío una serie de preguntas para el blog del Laboratorio de Ontinet. Hacía alusión a cuestiones profesionales de mi trabajo en APACHEctl y otras de índole más personal.

Sin más, os dejo con la entrevista. Respondí sin pensar mucho y dejándome llevar (que así las cosas salen con más espontaneidad-;).

Gracias amiga !!!

 

En “Podcast Linux” Episodio 58 (entrevistado por Juan Febles)

Tras (mucho) tiempo sin ponerme al micro, he estado en “Podcast Linux” dentro de la sección “Linux Connexion” junto a Juan Febles. Allí he respondido a algunas preguntas sobre mi podcast (algo de historia, el parón, la posible vuelta, etc), además de otras cuestiones de índole personal y profesional, siempre con GNU/Linux y el Software Libre como hilo conductor.

A título informativo, comentaros que no “pactamos” o preparamos ninguna de las preguntas por lo que fue una charla totalmente espontánea.

La verdad es que estuve muy a gusto y Juan tuvo bastante paciencia para cuadrar fechas ya que esta grabación me pilló junto a mi recién estrenada paternidad y no tuve la disponibilidad habitual. No os quiero ya contar lo que sentí cuando escuché nuestra intro de siempre (Venus in Cancer) en este episodio. Era como “estar en casa” y me vinieron a la cabeza un montón de recuerdos, todos ellos positivos.

Pero creo que lo mejor es que lo escuchéis y…hablando de escuchar, espero que nos escuchemos no tardando mucho (menos de estos años sin grabar-;) en “Kernel Panic”.

Además de todo, tuve la suerte de conocer en persona a Juan y otros linuxeros de pro en su viaje por Asturias y hablar de lo que más nos apasiona en buena compañía.

(con Nacho Alba), , y

La labor que está haciendo Juan desde “Podcast Linux” es digna de mención y os recomiendo que os suscribáis a su canal, Los contenidos, formato y variedad os mantendrán pegados al Feeed.

Nos escuchamos !!!

El día en el que conocí a Richard Stallman…

Esta es una entrada breve a modo de recordatorio que está ampliada en DebianHackers con fotos del evento y las preguntas que le hice sobre Debian y la postura de la FSF respecto a la distro de la espiral.

Me habían hablado mucho de él, había visto tus vídeos, entrevistas y obviamente sigo su trayectoria desde hace tantos años que ni me acuerdo, pero estar ahí con él (en la foto está firmando mi portátil) y poder preguntarle por cuestiones que para mi tienen su peso y relevancia, fue toda una experiencia.

Eso sí, también lo sabía pero no es de trato fácil y habiéndole visto en directo, dudas entre quedarte con la persona o el personaje. El día que conocí a RMS fue uno de esos para no olvidar ya que sin gente como él, quizá no estarías ni leyendo esta entrada del blog ;).

Toda una experiencia que os recomiendo sin duda.

En Qurtuba Security Congress 2017 con: The ¿Perfect? Server

Disclaimer:

Esta entrada ha tardado más de lo que tenía pensado porque en mi cabeza estuvo hablar también de lo que supone en cuanto a cambios Debian 9 respecto a la versión 8 (configuraciones, herramientas, paths, etc), pero tras varios servidores instalados en APACHEctl con Debian Stretch, creo que lo mejor es hacerlo en una aparte para poder explicarme mejor y dar un repaso a lo que más dolores de cabeza puede causar.

En el anterior post sobre mi participación en Hack&Beers Oviedo, ya os comenté que estaría de nuevo en Córdoba hablando de Servidores Web y cuestiones de seguridad. Pero a diferencia de 2015, año en el que impartí un taller de Hardening, esta vez tocaba subirse al escenario con: The ¿Perfect? Server, con una parte teórica y la “mítica Demo” (sí, esa del temido “efecto” que esta vez no sobrevoló el auditorio:).

Qurtuba Security Congress 2017

Foto cortesía de @soydelbierzo

 

Como dije en un vídeo que grabé con Oreixa frente al Mont Blanc desde el Aiguille du Midi a casi 3900 m, allí estaría “sí o sí”. Desde la organización me facilitaron mucho las cosas en cuanto a la temática y pensando sobre qué podía hablar, les envié esta descripción

The ¿Perfect? Server

Aún recuerdo cuando seguía los míticos tutoriales de instalación de un servidor Web de Howtoforge publicados como “The Perfect Server”. Falko, responsable del site y principal autor, ponía énfasis en una instalación básica en la que todo funcionaba, dejando a un lado cuestiones importantes como poder admitir un tráfico elevado, o cuestiones de seguridad.

A mi me parecían lo más lo más y me ayudaron mucho en su momento como punto de partida. Luego, con el tiempo, vas adaptando las instalaciones a las necesidades del proyecto y también aprendiendo sobre lo que no debes hacer, y los pasos que “sí o sí” tienes que dar.

Partiendo de la base de no creo que exista un “Servidor Perfecto”, intentaré aportar mi punto de vista sobre cuestiones de instalación, configuraciones, optimización y seguridad fundamentales para un servidor dedicado.

Y basándome en ella, intenté aportar desde la experiencia de unas cuantas batallas, mi visión sobre lo que bajo mi punto de vista sería la instalación adecuada de un servidor web para quien esté empezando en este mundillo y necesite seguridad, estabilidad y/o rendimiento (que unas cosas llevan a las otras) así como para gente que llevaba más tiempo en el tema y pudieses aportarles algo de conocimiento adicional.

Di un repaso al “mundo Debian” explicando sus diferentes ramas, versiones de Software según Release, LTS, etc, dejando claro que para mi es la mejor elección a la hora de montar un servidor web.

Hablé de la elección de un sistema de ficheros y del particionado ideal, también del LVM, además del RAID y el cifrado de las particiones según el uso del server (aunque con lo que viene en el RGPD, cada vez es algo más) al igual que proteger GRUB en el arranque. Aquí os dejo un enlace a las guías de instalación oficiales, de recomendable lectura.

Y sobre las diferentes versiones de paquetes y las ramas de la distro, aquí tenéis el resumen que expuse en una de las diapositivas, enumerando las versiones del “stack” GLAMP / GLEMP, y los repos más comunes de Debian.

 

¿Qué pasa? que mucha gente cuando está haciendo un pentest, se lía un poco a veces con estas cuestiones y puedes llegar a pensar que has encontrado una vulnerabilidad si ves en la salida de tu Nmap un Nginx versión 1.6 (Debian 8) y vas a la página oficial y ves que la última versión de la rama 1.6x  fue la 1.6.3 de Abril de 2015 (es sólo un ejemplo), cuando realmente esa versión 1.6 es la de Debian y está actualizada y no es vulnerable.

También hablamos de Apache Vs Nginx y expuse varias comparativas (aquí una en la que se analiza uno frente al otro con contenido estático y dinámico) que venían a decir que sirviendo contenido estático, Nginx le superaba por goleada a Apache, pero que en un nivel de “performance” similar (PHP-FPM, PHP 7x + Zend OPcache, Pagespeed) la cosa cambia ya según desarrollos u otros temas relacionados.Por cierto, aquí una comparativa extensa de funciones y otros aspectos.

No dejé a un lado las importantes diferencias del MPM elegido para la puesta en producción de Apache. Centrando el foco en MPM Event y explicando las diferencias y relación con Worker,  funcionamiento asíncrono y las mejoras en las conexiones Keep Alive y alguna de sus directivas más comunes:

### Apache MPM Prefork, multiproceso, procesos “hijo” y sin hebras

StartServers: Número de procesos hijo creados en el arranque .
MinSpareServers: Número mínimo de procesos hijo a la espera de peticiones.
MaxSpareServers: Número máximo de procesos hijo a la espera de peticiones.
MaxRequestWorkers: Número máximo de conexiones simultáneas (se aumenta con ServerLimit).
MaxConnectionsPerChild: Número máximo de peticiones que sirve un proceso hijo de Apache

### Apache MPM Worker, multiproceso, procesos “hijo” y hebras o hilos

MinSpareThreads: Número mínimo de hebras en espera para atender peticiones.
MaxSpareThreads: Número máximo de hebras en espera.
ThreadLimit: Límite estricto del número de hebras del servidor.
ThreadsPerChild: Número de hebras creadas por cada proceso hijo.
MaxRequestWorkers: Límite estricto de peticiones simultáneas que serán servidas.
Ojo con la directiva “ListenBacklog” y los DoS  cuando MaxRequestWorkers llegue al límite.

Hice mención a las diferencias y mejoras en velocidad de MariaDB frente a MySQL (la rama 10x de MariaDB, es “un 10” también en rendimiento).

Mencioné las mejoras de PHP 7 frente a PHP 5x en rendimiento y memoria: comparativa 1, infografía, comparativa 3 junto a HHVM Aka: “el PHP de Facebook”. También es importante tener claro qué implica la migración de la 5 a la 7 y os recomiendo esta entrada en la que enumeran 10 cuestiones a conocer sobre PHP 7.

Sobre seguridad en PHP, hardening / pentest, etc. Os recomiendo ver repasar los enlaces y contenidos de esta entrada.  No faltó un repaso al OWASP Top 10 2017 y cómo había evolucionado respecto al de 2013 (donde vemos cuestiones comunes y otras nuevas relacionadas con problemas de configuración y una protección proactiva frente a diferentes tipos de ataques).

Sobre los ataques DoS / DDoS

Volví a insistir en aquello de “por qué lo llaman DoS cuando son problemas causados por configuraciones ineficaces” y hablando de DDoS, recomendé el uso de UFONet, una gran herramienta creada por el amigo Epsylon que aprovecha vulnerabilidades “Open Redirect” con múltiples opciones y como dice su autor “no es para usarse con fines educativos;).

La herramienta “ab” incluida en “apache utils” (aptitude install apache2-utils) es de gran utilidad para realizar pruebas de estrés o simular ataques DoS desde uno o varios servidores. Aquí os dejo unos consejos interesantes para mejorar el rendimiento. También puede ser interesante usar Apache Benchmark y las gráficas de GNUPlot. Básicamente el uso sería:

ab -c 300 -n 1000 http://webdeejemplo.com/index.php/

Donde c 300 sería el nivel de concurrencia y n 1000 el número de peticiones (os recomiendo ver todas las opciones disponibles). Si estáis haciendo un test con Apache Benchmark y veis este mensaje de error al intentar subir los valores de concurrencia o peticiones:

socket: "Too many Open Files"

Con aumentar los límites con el comando ulimit (página del manual) ya lo tendréis resuelto:

ulimit -n 5000 (por ejemplo)

En el servidor atacado, podéis ver el número de peticiones que llegan desde las IPs de origen por ejemplo con este comando:

netstat -plan|grep :80 | awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -n

Otra herramienta DoS que siempre tengo siempre a mano es GoldenEye, intuitiva, efectiva y fácil de usar.

Volviendo a UFONet, aquí os dejo un ejemplo de uso, sería ya el concepto de un ataque distribuido y con un impacto mucho mayor llegado el caso o dependiendo de los “zombies”, así que ojo y a documentarse bien (teniendo en cuenta que según la legislación de vuestro país de origen, aprovecharse o explotar esas vulnerabilidades “Open Redirect”, si hablamos de España, lugar donde el hacking / conocimiento está cada vez más criminalizado, puede meterte en apuros, así que más ojo si cabe).

Mi intervención que fue de en torno a una hora, acabó con una demo realizando ataques DoS desde varios servidores hacia un subdominio que monté en un VPS y estuvimos viendo cómo se comportaba, analizando peticiones, origen de los ataques, (principalmente con Mod Status) así como aplicando medidas paliativas con Mod Evasive y otras configuraciones.Aquí tenéis un ejemplo de lo que os comento y que podéis ver en la siguiente imagen:

Test de estrés o DoS a servidor Apache

Apache Server Status

Para ver en tiempo real las IPs y peticiones que se están realizando al servidor, en vuestro navegador:

http://IP-Servidor/server-status?refresh=2 donde el refresh=2 es el número de segundos para refrescar los datos.

No faltó una mención a Cloudflare con algún ejemplo, también a herramientas como “Cloudflail” y algún ejemplo de lo visto en cuanto a ·”fingerprinting” y configuraciones muy permisivas buceando con DNSdumpster (recurso que gustó mucho). Para acabar con el tema de las pruebas de estrés, un recurso web que puede ser interesante es Load Impact, donde tenéis diferentes planes de precio en modo “suscripción” o también está opción de pagar por tests puntuales según concurrencia y duración del mismo..

Un evento para no olvidar…

Sobre el QurtubaCON, no me cansaré de repetirlo, increíble esfuerzo por parte de la organización (con “súper Paco” a la cabeza) y no daré nombres porque siempre te dejas a alguno en el tintero. Un equipazo que está encima de cada detalle para que te sientas como en tu casa, y una CON de las que te deja huella en lo técnico y humano. Disfruté y aprendí mucho viendo al resto de ponentes, además de con la ciudad una vez más y su gente. De veras, eso de “somos una familia”, en Qurtuba, además de algún otro evento en los que he estado, no es una frase hecha.

Muchas gracias a las personas de la organización, resto de participantes y a los asistentes al evento (guardo con cariño los detalles de algunos de vosotros y no me olvido de vuestras palabras, recuerdo incluido hacia el Podcast, que verá la luz de nuevo) ¿Lo próximo? Servers y Debian 9.

El jueves 9/11 estaré en Hack&Beers Oviedo con: “GLAMP Exposed”

Asistí como público al primer Hack&Beers Oviedo y, además de quedar encantado con lo que vi (Tunelko es un lujo en cualquier evento y Jesús Vega hizo una exposición muy correcta de un tema tan preocupante como el de la NSA y las escuchas ), salí de allí con el compromiso / amenaza de mi gran amigo “El Jabato” de participar en el próximo.

Y allí estaré, el jueves 9 de noviembre en el Restaurante Flandes con una birra en una mano y la otra en el teclado hablando de problemas de seguridad en Servidores Web con “GLAMP Exposed”. Me pidió Ángel para “Seguridad Jabalí” una descripción y esto fue lo que le mandé:

Partiendo de una instalación por defecto de un servidor GLAMP (GNU/Linux, Apache, MySQL y PHP), la charla abordará la problemática de un escenario de este tipo en producción, algo tan común como potencialmente peligroso para los sitios web y datos alojados en él.

El enfoque será desde ambos lados, tanto desde el punto de vista de un posible atacante, como de quien es responsable de proteger el servidor, con técnicas de ataque y consejos de “hardening” básicos que ayudarán a mejorar esa situación de exposición

También será para mi un buen “teaser” de mi segunda participación en la QurtubaCON 2017  los días 17 y 18 de noviembre en Córdoba. Muchas gracias por invitarme a participar, intentaré estar a la altura.

Más información en “Seguridad a lo Jabalí” y entradas en Eventbrite. nos vemos el día 9 -;)

En el ESET Security Day 2017 con “PYMES Exposed”

ESET Security Days 2017 | Live the ExperienceEl pasado 10 de mayo tuve la oportunidad de participar en el ESET Securiy Day 2017 que se celebró en Bilbao. Ya era como la tercera vez que se me ofrecía la posibilidad de participar en un Security Day y tocaba acudir a la llamada del amigo Josep -;).

Su planteamiento inicial  fue contar cuales son los principales problemas a los que se puede exponer una PYME si no gestiona bien sus servidores, o que servicios pueden verse afectados caso de ser comprometidos.

Y después de pensar en lo que podía necesitar saber algún responsable de IT en una PYME  a la hora de contratar un alojamiento web y basándome lo que me comentaba Josep, quise dar respuesta en la medida de lo posible con esta propuesta:

En esta charla se enumerarán las amenazas a las que se enfrenta la empresa cuando externaliza los servicios de hosting, así como la problemática generada de la confusión entre los diferentes tipos de alojamiento (servidores compartidos, VPS, dedicados, Cloud, etc). Para ayudar a su comprensión se expondrán varios ejemplos basados en casos reales, uno desde el punto de vista de la seguridad web y el acceso a información no autorizada, y el otro más orientado a la continuidad de negocio, o más bien la discontinuidad por una falta de disponibilidad del servidor web en un momento clave para la empresa.

También hablé de WordPress y el peligro de no tener las versiones actualizadas (aquí podéis ver info de releases según ramas), de ataques DDoS y UFONet (muy recomendable), metodologías como OWASP y su Top 10 pensando en un desarrollo lo más seguro posible desde el inicio y de otras cuestiones relacionadas.

Tuve la ocasión de compartir ponencias con gente tan profesional como el propio Josep Albors, Carlos Tortosa, Ignacio Lassa Bellet, Mónica Valle, Pablo F. Burgueño, Garikoitz Merino y todo el equipazo de ESET que se desplazó a Bilbao a quien mando un fuerte abrazo y por ese gran trato y cercanía que tuvieron en todo momento. Aquí tenéis los vídeos de la jornada y aquí enlazo al de mi intervención.

En “Palabra de Hacker” hablando de ataques DDoS

En junio, Yolanda Corral me invitó a participar en un debate online sobre Ataques DDoS junto a @BTshell, @caar2000, @dsespitia y @franttwit. Un tema el de los ataques Dos / DDos complejo y donde caben muchos matices. A continuación, os dejo con el vídeo del evento.

Enlace al post del debate con toda la información. Por cierto, os recomiendo encarecidamente la herramienta UFONet creada por mi amigo Epsylon si queréis poner a prueba medidas para mitigar un DDoS (si sois capaces de parar a ese ejército de zombies-;). En “el Hacker” encontraréis un buen tutorial sobre su uso.