feb 10 2012

De Servidores Web comprometidos y personas o empresas que no se comprometen.

Disclaimer:

Este post puede considerarse como un acto de promoción dado que soy parte “interesada” o directamente implicada por mi participación en los casos que comento. Ante las (lógicas) posibles dudas, vamos a apelar a aquello de “pásate por ejemplo” por daboweb.com que en breve cumple 10 años y sólo verás un lugar más de ayuda informática, totalmente desinteresado, sin publicidad y hecho por amigos, no colaboradores, amigos, reitero, por y para la comunidad, aprovecho la ocasión para mandar un saludo a mis compañeros de Caborian.

Además, son más cinco años junto a vosotros por aquí en DaboBlog como para que os venga a contar películas en formato TS Screener (recuerda, descarga, pero con calidad).

¿Por qué esta entrada? Y tan tarde…

Bueno, era algo que tenía pendiente, a pesar de que intento conservar cierta actividad en las webs que promuevo o participo, colaborar con el podcast de mi amigo Dani, con el que he grabado unos audios sobre seguridad Wifi y seguridad en dispositivos móviles “para todos los públicos” (por cierto, sobre DaboBlog Podcast, pronto sacaremos un nuevo episodio, o eso espero;), como os decía, es frustrante por ejemplo, abrir Twitter y no poder leeros como me gustaría, no devolver todo el feedback que llega, dejar de publicar aquí con mayor regularidad o en Daboweb, DebianHackers, etc, pero uno da hasta donde da y tiene sus limitaciones. Acabo de ver que mi último post es del día 18 de Enero, día del famoso “Blockout“.

Situación actual.

Actualmente me encuentro inmerso entre una marea de cursos que estoy impartiendo (dentro de las actividades que llevo a cabo desde davidhernandez.es) y otra marea, pero en este caso, con APACHEctl.com junto a mis compañeros. Hablo de mareas de bytes, servidores web, auditorías de seguridad, terminales, intervenciones de urgencia, etc y todos los problemas a los que se puede enfrentar un autónomo en una época como esta, además de un proyecto en común que va gestándose con paso firme y a ritmo suave con Emma Fernández, buscando una diversificación en base a ciertos servicios que demandan algunos clientes.

Servidores y aplicaciones web, usuarios, condicionantes…

Y de mi actividad principal quería hablaros, servidores, seguridad, clientes, SysAdmins y algún ISP que en lugar de “Internet Service Provider“, bien podría ser un acrónimo de “Internet Sopla Pollas“. Sí, de varios hechos que he podido comprobar con mis propios ojos, algunos adelantados en medio de sensaciones entre el cabreo o la falta de comprensión por mi parte y…ciertamente hacen falta más de 140 caracteres para expresarlo. Eso sí, 140 caracteres son pocos, pero aunque tampoco quiero abusar de vuestro limitado tiempo en medio de una multitarea cada vez más acuciante, reconoceréis que a casi un post por mes, tengo que exprimir un poco el teclado ;)

Partamos de la base de que no siempre se puede actualizar como te gustaría o querría el cliente, existen ciertas dependencias entre algunas aplicaciones web, versiones del S.O, entornos de producción que no se pueden parar (de todo esto hablamos Sergio Hernando y yo en el “Especial Seguridad“) y situaciones en las que hay limitaciones tanto técnicas, comerciales o administrativas que impiden un estado ideal de algunos sistemas web en producción. Me tranquiliza en lo personal, saber que en ninguno de estos casos se den esas circunstancias.

Por otro lado, si alguien que trabaje en seguridad o sistemas no entiende que bajo ciertas condiciones, su infraestructura puede ser comprometida, debería pensar en cambiar de trabajo porque cuando viene un cliente buscando que le vendas una utopía, o veo en algún sitio web eso de “garantizamos al 100 % tu seguridad” me quedo alucinado o pienso ¡Qué envidia, si yo pudiera…!

A dos días de terminar de impartir un curso sobre SGSI, LOPD, LSSICE y todas las implicaciones y embrollos legales que se pueden dar cuando manejas datos de terceros, (aprovecho para saludar a esos 14 alumnos con los que tanto aprendo;), cada vez me doy cuenta de que en la solidez de la gestión de la seguridad entran en escena tantos protagonistas (ISP, Webmaster, sofware instalado, usuarios, SysAdmin, etc) que controlar todas esas variables al 100 % es prácticamente imposible, os recomiendo (sobre el factor humano) esta entradaPor qué falla la seguridad” de los colegas de Security By Default.

¿Por qué? las acciones realizadas por personas a nivel individual influyen en tu trabajo y puedes preveer una actuación en concreto, pero no cambiar ciertas condiciones o costumbres del ser humano. De ahí que sea tan importante un “plan B” y sobre todo hacer que el “plan A” se vaya al carajo para ver cuánto tiempo tardas en poner en marcha ese “plan B” y dar por hecho que puedes encontrarte con el peor de los escenarios posibles.

Si lo ves o planificas de ese modo, no estarás poniéndote vendas en los ojos que acabarán seguramente provocándote una “ceguera operativa” cuando el escenario ideal se convierta en la peor de tus pesadillas, o la de tu cliente, si cuando contacta contigo y está siendo víctima de una fuga de información o ataque a sus sistemas, las cosas no van como debieran. Aún así, sé consciente siempre de tus limitaciones o carencias, e intenta aprender y aprovechar tus puntos fuertes, pero sin dejar de trabajar la parte que menos controlas o te gusta, para conseguir un mayor equilibrio. Créeme, hay gente “ahí fuera” que sabe mucho más de los que están (o estamos) a veces en un plano “mediático” (eventos, reseñas, referencias) en el que se vende mucho humo y prevalecen los conceptos en lugar de las realidades.

De servidores web bajo Debian Etch que jamás se han actualizado.

Con este (sub) título no debería extenderme mucho. Hablamos de una empresa que me contrató para impartir unas clases sobre administración de servidores web bajo GNU/Linux. Dicho cliente (de Asturias) tenía contratado un servidor dedicado con un proveedor local, no daré nombres ya que aún mantiene una relación contractual y no seré yo quien promueva más malas artes por su parte, pero tampoco seré quien recomiende sus servicios, quizás hasta me lean, seguro que se ven “retratados” por lo de MaxClients 40  TimeOut = 300.

En el curso, a modo de ejercicio, fuimos creando paso a paso un servidor GLAMP y llegado el momento, se migraron algunos dominios a su máquina, en ese momento es cuando accedí al servidor dedicado contratado con esa empresa. Ya cuando hice un barrido rápido con Nmap lo vi claro pero…cuando haces un uname -a , cat /etc/debian_version o miras el source.list, puedes quedarte K.O.

El que el cliente tuviese una distribución de Debian de hace 5 años que ya no tiene actualizaciones desde finales de 2010 (ojo con Debian Lenny que desde hace unos días ya no recibirá actualizaciones de seguridad !!) puede considerarse bastante fuerte con unas 20 webs en producción. Pero…¿Cómo se queda uno si ve que la salida de tail /var/log/aptitude es = 0? WTF. Si, hay que joderse y “joder” al prójimo, jamás se había actualizado, no daba crédito y tras varias comprobaciones pude ver que era así de crudo y duro. En un primer momento pensé que había un problema con los logs, fue tan fácil como ir tecleando apache2ctl -V, mysql -v, etc, para ver que eran las versiones originales según venían en Debian 4.

Ahora bien, el listillo jamás había metido un update pero ojo, sí que había tenido tiempo para poner en el apache2.conf la directiva “maxclients” en 40. Todo ello con un “bonito” TimeOut de 300 seg, sí amigos, ¿el motivo? piensa mal y acertarás, claro, para ahorrar ancho de banda en su CPD…Limita a 40 conexiones o IPs diferentes en cada máquina y de ese modo, paga menos a su proveedor. Pero hay que ser malo o tener “mala fe” (vi el history y controlar, controlan) para dejar en 300 seg el TimeOut cuando sabes que si hay 40 IPs diferentes conectadas, hasta que se cierre una conexión de Apache que quede inactiva y dé paso a la 41, pasarán la friolera de 300 segundos, luego el cliente, ya se dio cuenta del motivo por el cual a veces le llamaban con eso de “es que me dicen que no se puede entrar a mi web”.

De servers con CentOS, un Cpanel sin actualizar y 3 joomlas crackeados.

Uno de los primeros síntomas por los cuales el cliente se da cuenta de que tiene un problema en su servidor, es en el momento que empiezan a venir e-mails rebotados o marcados como spam y entras en alguna (o varias) de las “blacklists” (o listas negras) habidas y por haber. Esa actividad inusual de envíos de correos desde el localhost, sin estar asociados a ningún dominio, ya es algo que debería mosquearte y luego llega “ese momento” (de la revelación).

El panorama no podía ser peor, una máquina con una versión de CentOS sin actualizar al igual que la versión de Cpanel desde la que se administraba, medidas de protección cuasi-nulas tanto a niveles más bajos del sistema, como protección de ataques de fuerza bruta, picos de tráfico indeseado, escaneos de puertos un tanto “intrusivos”, configuraciones del servidor bajo mi punto de vista inadecuadas para la gran cantidad de webs que alojaba, etc. El cliente pagando por una administración delegada que efectivamente no se estaba realizando, no en este caso a su proveedor de hosting, sino a un tercero. Dicho cliente había sufrido un ataque a varios de los Joomlas instalados (sí, mirad por ahí en las carpetas de imágenes a ver si veis algún .php que no debería estar ahí…), tenía todo un entorno de acceso remoto por una puerta trasera vía web para enviar spam de forma masiva, acceder a las bases de datos, subir ficheros, etc.

Ahh, también un servidor de IRC en la raiz “/”, desde esa máquina se habían realizado ataques de pishing haciendo de pasarela, algo que pudimos comprobar mientras hacíamos el análisis, reportando por mi parte a INTECO CERT la situación de un segundo servidor comprometido (que por cierto, actuaron muy rápido avisando al ISP o dueño del dominio ya que se palió casi al instante). ¿Vaya panorama eh?. Siendo sinceros, el administrador de ese sistema no hizo su trabajo, pero si te dedicas a desarrollar o implementar algún CMS como WordPress o Joomla, lo mínimo que deberías hacer es estar al tanto de las posibles actualizaciones de seguridad que van publicándose, nadie está a salvo de un “0 day”, pero de eso a dejar pasar varias ramas o versiones hay un paso…

De una “gran” empresa de hosting y “rayos por las nubes”.

Este tema fue quizás más extraño, se trataba de un sistema “On Cloud” de estos muy modernos en los que a golpe de click, vas clonando, arrancando máquinas bajo demanda y pensando que todo se soluciona así, a base de “clicks” y monitores o paneles web muy pomposos pero que no se enteran de lo que pasa por su interfaz de red (o sistema de ficheros NFS lento como el sólo…) no hablo de Amazon por cierto.

Por resumirlo, el cliente sufrió un ataque en 3 máquinas virtualizadas sin tener en marcha ninguna web visible, es decir, había unas direcciones IP con un servidor de aplicaciones, otro para MySQL y otro para Apache en pre-producción. Entraron “hasta la cocina” y se enteraron 7 días después. ¿Los motivos o vectores de entrada? bueno, por cuestiones “técnico-económicas” el cliente no quiso realizar una auditoría forense y si mal no recuerdo, pidió un clonado de los discos virtualizados por si en un futuro, viese pertinente hacerla.

Esta “aparentemente” y aparente gran empresa de hosting, una vez acabados los trabajos a realizar por nuestra parte (que en APACHEctl no estoy yo sólo;), después de estar tirando en plan bestia con varios servidores (yo) para probar todas las medidas implementadas (ataques de fuerza bruta, escaneos de puertos de esos que hacen algo de “ruido”, denegación de servicio intentando “floodear” algún puerto o servicio inundándolo de peticiones SYN – TCP,  el cliente pidió los resultados de ese día, y cuando comparó el resultado del sistema de control de logs que le instalamos con lo que pidió a su ISP, era como para darte la risa (por decir algo), “se ha detectado cierto tráfico ICMP“, os aseguro que monté una buena, y ojo, todas las soluciones instaladas por nosotros se basan en Software Libre o herramientas Open Source y su “ultra-mega firewall” por hardware, (imagina el típico “SonicWall de 9.000 €) desde el que se realizaba un NAT hacia las máquinas virtuales, no se enteró de nada…Acabo recordando que el cliente (empresa desarrolladora) se enteró 7 días después, teniendo que dar muchas e incómodas explicaciones al cliente final.

De otro “gran” ISP que cobra por administrar, no lo hace y entorpece.

Y además de no hacerlo, actualizar los sistemas del cliente, cuando ese o esos clientes (dos en una semana) piden acceso SSH, todo son problemas, no vamos a ir al tema legal y la denostada (por mi desde sus inicios) LSSI que dice que “el ISP no es responsable de los contenidos que aloja el cliente siempre que no sea el creador de sus contenidos, pero tiene que actuar con rapidez caso de que queden expuestos datos de terceros o la propia infraestructura web“, vamos a eso de “estoy siendo víctima de un ataque, no doy con ello y como vosotros no sois capaces de pararlo y dar con el vector de entrada, por favor, ceded el paso ya que cada minuto es vital para mi negocio.

Es lo que pasa con ciertas ventas o mejor dicho “fusiones” que queda mejor, es como lo de la Coca Cola de los 80, queda el nombre y algo del gusto de antaño, pero la esencia…se perdió entre tanta “alianza estratégica. Aquí hablamos de máquinas comprometidas intentando redirigir el tráfico hacia sitios maliciosos (que afortunadamente se paró a tiempo) y clientes que se sientes totalmente impotentes frente a una situación muy dura en la que como he dicho, cada minuto, segundo, cuenta…

Podría seguir comentando algún tema localizado en una auditoría de seguridad que realizamos a unos 30 equipos, redes, servidores, etc, en una empresa hace unos días, pero quizás aún el cliente no ha leído el informe recién enviado y es mejor que lo vea con detalle desde la tranquilidad y no en pinceladas que pueda dejar aquí escritas. Tampoco voy a poner nombres, en muchos de estos casos, se están o bien finiquitando relaciones contractuales o arreglándolas, lo siento pero si me preguntas por algún sitio en el que confiar, pasa al siguiente párrafo…

¿Y ahora qué?

Podrás preguntarte…¿todo el mundo lo hace mal? no, ¿las cosas están feas ahí fuera? sí. No deja de ser toda una paradoja que cuando alguien dice que “mi hosting es genial, etc, etc” lo hacen porque simplemente ven que su web está activa y llegado el caso (no en todos los casos que comento), el servicio de atención al cliente es bueno, contestan en tiempo y forma, etc pero…cuando tienes problemas es el momento de darte cuenta de a quien le estás dando las llaves que abren (o pueden cerrar) las puertas de tu negocio.

No sé si habría que decir a la gente eso de “mira, piensa que un servidor web es como tu ordenador de casa, tiene que estar actualizado, pero también los programas que usas a diario, del mismo modo que tienes un antivirus, bla, bla, bla“. Pero mejor quédate con eso de, actualiza primero todos los CMS que tengas instalados en tu servidor (foros, blogs, etc), realiza o contrata una auditoría de seguridad al menos una vez al año, asegúrate de que efectivamente tu SysAdmin o ISP estén actualizando/administrando esa máquina, haz lo mismo que con los médicos, pide siempre una segunda opinión, (pásate por el “Especial SysAdmin con Ricardo Galli) créeme, si estás leyendo esto te confesaré que soy el primero que dudo de mi propio trabajo y entre los miembros de APACHEctl y allegados, no paramos de auditarnos y ponernos a prueba, además de tirarnos de las orejas si nos pillamos en un renuncio. Y ojo, por fiarte, no te fíes ni de nosotros al 100 % si llegas a contratarnos.

Un abrazo y “tengan cuidado ahí fuera” -;).

Pdta; Según WordPress, son 2.664 palabras, lo sé, ni tanto ni tan poco ¿o era al revés? ;D.

Tags: , , , , , , , , , , , , , , ,


oct 24 2011

/* Sec tools */ (Cap 1). Whatweb y curl. “Seguridad por oscuridad” en servidores web GNU/Linux y Apache.

El concepto de “seguridad por oscuridad” viene ya de lejos. Imagino que, si hablamos de servidores web, nace de la necesidad de protegerse tanto de muchos ataques automatizados que pueden llegar a nuestro servidor web, buscando versiones de software vulnerables, como de la imposibilidad de realizar esas actualizaciones o frente a ataques “0 day”, para los que no hay ningún parche disponible.

Hoy vamos hablar de una herramienta interesante que ya mencioné  hace más de un año en el pasado FIMP. Se trata de “Whatweb”, (acceso a la web del proyecto y su lugar en GitHub). Se trata básicamente de una herramienta capaz de identificar las versiones instaladas de la gran mayoría de CMS (gestores de contenidos) actuales, plugins y una gran variedad de aplicaciones web. También proporciona datos tan relevantes como versiones de Apache, SSL o PHP a través de la información extraída de las “cabeceras” o “banners” que lee cuando realiza una petición al website en cuestión.

"Features" (Según se lee en la web del proyecto):
	* Over 1000 plugins
	* Control the trade off between speed/stealth and reliability
	* Plugins include example URLs
	* Performance tuning. Control how many websites to scan concurrently.
	* Multiple log formats: Brief (greppable)
          XML, JSON, MagicTree, RubyObject, MongoDB, SQL.
	* Proxy support including TOR
	* Custom HTTP headers
	* Basic HTTP authentication
	* Control over webpage redirection
	* Nmap-style IP ranges
	* Fuzzy matching
	* Result certainty awareness
	* Custom plugins defined on the command line

Por lo general, simplemente dentro del directorio desde donde hayamos descargado Whatweb, ejecutamos;

Leer el resto de;”/* Sec tools */ (Cap 1). Whatweb y curl. “Seguridad por oscuridad” en servidores web GNU/Linux y Apache.”

Tags: , , , , , , , , , ,


oct 15 2011

De seguridad en WordPress. 20 plugins recomendados, configuraciones de Apache y nmap

# Introducción y enlaces recomendados para su lectura.

Ya he hablado antes en DaboBlog de seguridad y WordPress. No hace mucho, publiqué en mi cuenta de Twitter un enlace con el título “Hardening WordPress” (la guía oficial de WordPress para fortificar instalaciones de WordPress). El amigo Jordi Prats de “System Admin”, escribió un artículo “Configuración segura de Apache para WordPress“, con el fin de evitar el listado de plugins frente a una auditoría realizada con nuestro querido Nmap (vía el script http-wp-plugins para nmap)

En el caso de Jordi, fue a raíz de un post muy interesante de Chema Alonso (de “El lado del mal”) en el que realizaba un ataque de este tipo, con algún tip más (por ejemplo el típico error del listado de directorios en Apache y entrar “hasta la cocina”).

Pero tenía pendiente esta entrada sobre este tema y está dedicada especialmente a Dani de “El Arca de la alianza” ya que en alguna ocasión me lo había comentado, y era algo en “pendiente” desde que grabé con él un podcast sobre “Iniciación a la seguridad informática”.(y a ver si retomas la publicación bandido;).

Sobre todo esto se ha escrito por supuesto mucho y muy bien en otros blogs, pero destaco y recomiendo leer los enlaces a las entradas de WordPress.org, Jordi , Chema, Security By Default y Oreixa (con esos seis enlaces ya tenéis una buena hoja de ruta para empezar) ya que me parece que todo puede ser complementario. También citaré alguno útil en el caso de que tengáis el registro de usuarios activado en vuestro blog.

Además de cuestiones como proteger la cuenta de admin (o cambiar el nombre), tener passwords potentes (y cambiarlos), habilitar incluso el acceso por SSL al área de administración (Oscar Reixa habló de ello y publicó una entrada de la parte que tocó de WordPress junto a mi en el FIMP 2010) o una configuración de PHP para que en el caso de que haya algún fallo en la ejecución de una función o un plugin (display errors “off”) para que no revele el “path” o ruta de la instalación de WordPress (un tema publicado no hace mucho en Security By Default, recomendable su lectura). Sobre cuestiones de seguridad, servidores web y Apache (que está todo relacionado), quizás os sirva también de ayuda el resumen de mi participación en el FIMP de Gijón (2010).

# 21 Plugins para dotar a WordPress de más seguridad.

#Actualizado, gracias por vuestras sugerencias ;)

 Vamos a pensar que no todo el mundo tiene acceso vía SSH para controlar su servidor, puede estar en un hosting compartido y creo que sobra decir que si no tenéis vuestra instalación, temas en algún caso y plugins actualizados, de poco servirán muchas de las medidas de prevención comentadas.

Akismet; Todo un clásico, poco hay que hablar de él, salvo que conviene mirar de vez en cuando los comentarios o “trackbacks” ya que no es muy difícil ver “falsos positivos” y más cuando alguien en un comentario alguien mete más de 3 enlaces como se puede configurar en “Ajustes-Comentarios”). Web del plugin

Comment Timeout; Como complemento a Akismet es perfecto. Permite cerrar los comentarios en entradas antiguas, tanto a nivel global, como en cada entrada individualmente. También funciona con los “pingbacks” o “trackbacks”. Web del plugin.

WordPress Backup (BTE); Realizar una copia de seguridad de vuestro tema actual, uploads, imágenes, el tema actual, etc en un directorio (formato .zip) también hay una opción para enviarlo todo por e-mail. Web del plugin.

WordPress Database Backup; Como complemento al anterior, realizar backups de vuestra base de datos (incrementales) y además, tiene la opción de poder enviarlos por e-mail. Web del plugin.

Automatic WordPress Backup; Según nos sugiere e informa en los comentarios Rastreador “Este plugin realiza backups periódicos de tu instalación de WordPress contra un servidor S3 de amazon”. Web del plugin.

WP-DBManager; al igual que si desde vía SSH ejecutáis comandos MySQL como mysqlcheck -o (optimize) – c (check) -r (repair), este plugin hará lo mismo, ayudando a que vuestra base de datos esté siempre a punto. Web del plugin.

Stop Spammer Registrations Plugin; Aquí ya entramos en el tema de los blogs con registro de usuarios habilitado, previene y puede dejar en “cola” de aprobación, a los usuarios con correos o IPs que puedan estar marcados como “spammers” por StopForumSpam.com, Project Honeypot, DNSBL o BotScout. Web del plugin.

Además del comentado “Stop Spammer Registrations”, que ayuda con el Spam y usuarios potencialmente peligrosos puede estar bien usarlo junto a;

Cimy User Extra Fields; Posibilita la opción de reforzar el área de registro del blog, con campos personalizables, sistemas de verificación del registro, puedes ver en una lista de los usuarios pendientes de activar su cuenta, etc (ejemplo en Daboblog con otro parecido, Register Plus Redux). Web del plugin.

Wp Contact Form 7 + Really Simple CAPTCHA; Una buena opción de formulario de contacto junto a la función de Captcha del “Really Simple” para evitar Spam en el envío de correos. Web de WP Contact Form 7 | Web de Really Simple Captcha.

WP Hide Dashboard; También útil para blogs con registro de usuarios, remueve los campos innecesarios del perfil de usuario para que no pueda acceder a otras áreas administrativas. Web del plugin.

Login LockDown; Plugin para prevenir ataques de fuerza bruta contra el usuario / password. Por citar un ejemplo, puedes definir que con 3 intentos fallidos de “login”, se realice un bloqueo contra la IP durante 600 seg. Luego verás una lista de las IPs bloqueadas (pudiendo sacar alguna de esa “lista negra”. Web del plugin.

AskApache Password Protect; Un gran plugin que no estaba añadido, permite autenticación “HTTP Basic” o una más segura “HTTP Digest Authentication”. Te puede ayudar a bloquear Spam y conservar recursos de CPU, memoria, base de datos, etc. Puedes elegir un usuario y password para proteger además del login, directorios como wp-admin, wp-includes, wp-content, plugins, etc. Web del plugin.

Exploit Scanner; Puede ser útil en el caso de que vuestra instalación haya sido comprometida, para buscar en la base de datos, o ficheros, rastros de y huellas de un ataque (también busca en el CSS, HTML, etc). Ojo a los 128 mb de memoria. Web del plugin.

Secure WordPress; Múltiples funciones como pueden ser; remover la versión de WordPress, crear un archivo “index.php” en /themes o /plugins para evitar el listado de directorios, proteger vuestro WordPress contra peticiones de URL maliciosas, evitar que tanto WP a nivel de Core o sus plugins no se actualice salvo por administradores, remover de wp_head opciones como “Windows Live Writer” o “”Really Simple Discovery”" o remover informaciones de error en el login. Web del plugin.

Block Bad Queries (BBQ); Ayuda como el anterior a proteger WordPress de peticiones de webs o IPs maliciosas, realiza un chequeo de cadenas excesivamente largas (por ej mayores de 255 caracteres) , también controla peticiones URI / “Base 64″, etc. Web del plugin

WP-Sentinel; Además de un sistema de bloqueo de IP, alertas al usuario en caso de ataque, etc, protege la instalación de algunos ataques tan comunes como; “Cross Site Scriptings, HTML Injections, Remote File Inclusions, Local File Inclusions, SQL Injections, Cross Site Request Forgery, Login bruteforcing, Flooding“. Web del plugin.

WP Security Scan; Realiza un chequeo de tu WordPress buscando posibles vulnerabilidades y sugiere acciones correctivas en campos como; passwords, permisos de ficheros, seguridad de tu base de datos, oculta la versión de WP, protección para la zona de administración y remueve la etiqueta ” WP Generator META” del “core” de WP. Web del plugin.

AntiVirus for WordPress; Su función es realizar búsquedas diarias con reportes vía mail de en vuestro WP por si hay algún script o llamada maliciosa, protege de ciertos exploits e inyecciones de spam. Otra protección contra el malware en vuestro blog. Web del plugin.

Mutex; (tal y como publican en Security By Default) “Es un plugin para WordPress que incorpora PhpIds y además, lo integra perfectamente en WordPress permitiendo su administración desde el panel de gestión”. Web del plugin.

Además de todo esto, os recomiendo dar un vistazo a esta entrada del mes pasado en DaboBlog sobre “Web Site Defender“, un servicio muy interesante para controlar instalaciones de WordPress. Y recordad borrar el readme.html que da la versión !

Espero que os sea de utilidad, partiendo de la base que siempre se podrán encontrar brechas de seguridad en un sistema remoto y, que ese concepto de la “seguridad total” es sólo eso, un concepto, estas acciones os ayudarán a estar “un poco más tranquilos”, saludos ;).

Tags: , , , , , , , , , ,


jul 19 2011

Hablando de Hacking, Craking y Hacktivismo en el podcast de “El Arca de la Alianza”

Con esta van 3 veces que intervengo en el podcast de mi amigo Daniel. Hablando de seguridad, sería la segunda, no hace mucho ya dedicamos un capítulo a charlar sobre seguridad informática que tuvo una buena acogida.

En esta ocasión, Daniel me pidió estar junto a él al micro para hablar de hacking, cracking, hacktivismo, Anonymous, etc, e intentar aclarar un poco los términos. A veces no es fácil hacerlo, pero los medios tradicionales creo que abusan del término “hacker” para acabar metiendo en el mismo saco a hacktivistas, profesionales de la seguridad, gente que informa sobre bugs, ciber-delincuentes, etc.

Os recomiendo leer mi entrada del mes pasado sobre Hacktivismo y el libro “Internet, Hackers y Software Libre

Por un lado, cuesta mucho por más que lo intentes, ver razones éticas en actos que comprometen la seguridad de terceros “sin comerlo ni beberlo”, como se dice coloquialmente, cayendo en ocasiones en el error de, por un motivo en principio defendible, convertirte en Juez o “ajusticiar” sin pensar mucho en las consecuencias finales…

Por otro lado, con la que está cayendo en muchos lugares y los recortes de nuestros derechos y libertades civiles bien en la Red  o fuera de ella, algunos no se deberían sorprender de ver estas acciones que, en ocasiones son expresiones de repulsa ciudadana contra esas actuaciones…

Curiosamente, hoy nos hemos despertado con la noticia de que a pesar de que anunciaron su disolución, LulzSec (a quienes aludimos en el audio) ha entrado de nuevo en acción comprometiendo la web del diario “The Sun” y divulgando la muerte de su propietario (R Murdoch). Por lo que el cambio en sus motivos/motivaciones para realizar sus ataques web, está claro. Tal y como reseño en el audio, ya no son “por la diversión de hacerlo” como decían en sus comienzos. Seguro que muchos estaremos muy al tanto de todos los movimientos y “combinaciones” que se van a dar en los sucesivos días o meses.

El tema debe suscitar cierto interés, ya que según me ha comentado Daniel, es el episodio que más descargas está teniendo, obviamente no por mi intervención, sino porque entiendo que es algo de candente actualidad. (Acabo de ver en su sección de ivoox que va cerca de las 1.200 descargas en 3 días). Sólo había hecho un RT desde mi Twitter y hoy ya tengo tiempo para dedicarle esta entrada. Gracias de nuevo Daniel ;).

Reproducción del audio (carga directa del .mp3). (55 min)
## Nota; Si lo quieres bajar; “botón derecho” y “guardar enlace como”

Acceso a la entrada original en “El arca de la Alianza”. (Espero que este “80″,sea para ti un “Stop & Go” Daniel;)

 

Tags: , , , ,


ene 20 2011

Jnanabot – OSX/Koobface “no puede” con GNU/Linux pero ojo, sí infecta a Mac OS X


# Disclaimer;

Este post está dedicado sin mala leche y con cariño, a esos maqueros que tenéis a bien seguirme, a pesar de que sobre Mac apenas publico o comento nada (salvo en el podcast dentro de la sección “Manzanas Traigo” y siempre como “invitado” para dar otro punto de vista) y de que la temática principal del blog está relacionada con GNU/Linux, servidores web, seguridad y opinión.

Escribiendo esta entrada, estoy pensando que quizás no estaba mal hacer un especial en el podcast sobre seguridad en GNU/Linux, Windows y Mac OS X, seguro que tenía una buena acogida, pero desde luego, el post no va sobre eso, ya que sería demasiado largo y escribiendo sólo yo, seguro que me quedaba un tanto subjetivo y no muy imparcial a pesar de que conozco los 3 sistemas operativos y en Daboweb, a diferencia de aquí, hablamos de todos ellos.

Pues bien, como sé que sois unos cuantos, quería simplemente con ese título del post en forma de claro “titular” pro GNU/Linux pero NO en contra de Mac OS X, llamar vuestra atención y para nada buscar flames que en 5 años nunca he promovido, al menos conscientemente y que sinceramente ni los necesito o me dan de comer.

Datos de Symantec

Empiezo poniendo el gráfico ya que se ve mejor la situación actual de este troyano a Diciembre de 2010 según podemos leer en la fuente original “The Register”.

Obviamente, también los sistemas Windows se ven afectados por este malware, quizás la gran diferencia, es que un usuario medio de Windows, es más consciente de los peligros a los que se enfrenta y suele tener más herramientas instaladas en su sistema para combatirlos, Partiendo de la base de que la cuota de usuarios es claramente superior en Windows, en Mac OS X llega a un 16 % de infecciones.

¿Cómo actúa Jnanabot – OSX/Koobface? Aclaro, según la gráfica sólo afecta a Leopard o anteriores, pero tampoco he leído que no afecte a 10.6, aunque es un ejemplo

Este tipo de troyanos “multiplataforma” son de sobra conocidos por la gente interesada en la seguridad, digo “multiplataforma” porque se basan en Java y ahí puede caer cualquiera de los 3 sistemas operativos con diferentes niveles de impacto pero en patrón de actuación es muy similar. Permanecen ocultos una vez se alojan “cómodamente” en tu sistema, utilizando según Symantec “un fuerte cifrado” y puedes desde llegar a ser parte de una Botnet (o red troyanizada de ordenadores “zombies”), realizar ataques DDoS, publicar mensajes en tu cuenta de FaceBook, etc. También se podría hablar de su función P2P y el acceso a tu disco duro…

¿Por qué no está ahí GNU/Linux a pesar de que sí puede verse afectado?

Según podemos leer en la fuente original sobre la opinión de Dean Turner, director de Symantec’s Global Intelligence Network y hago una transcripción literal,

“Turner dijo que los ataques de Jnanabot en la plataforma de código abierto no eran capaces de sobrevivir a un reinicio”.

Ahora es cuando alguno puede pensar aquello de… “claro, como Symantec no puede entrar en el mercado del escritorio hablando de GNU/Linux, por eso buscan más “pegada” en el tema Mac al ser un mercado que interesa”. Yo me quedaría de veras con otro dato, el 16 % de las infecciones se dan en sistemas Mac, olvida a GNU/Linux ahora y entiende que a pesar de que no es el típico malware que infecta a “cientos de miles” sino a “miles” de equipos, el ratio para mi es lo suficientemente alto como para que sea tomado en serio si usas Mac.

Incluso, aunque en mi equipo según Dean Turner no tenga impacto, os aseguro que estoy muy al tanto de mi firewall, el estado de mis conexiones, puertos abiertos, etc. Quizás, si eres un usuario de esos que tienen una confianza ciega en Mac OS X,  tú también deberías hacer lo mismo y empezar a ver a ese sistema como algo de tu propia responsabilidad, no de la Apple y el “tío Jobs” que por lo visto no está para muchos trotes…

Según Secunia, Mac OS X fue el sistema más afectado por vulnerabilidades en 2010.

Creo que no estaría mal que le dieses un vistazo a este informe que puedes descargar desde aquí en formato PDF para darte cuenta de algo que llevo tiempo diciendo en mi condición de “invitado” en la parte Mac del podcast. En la mayor parte de las ocasiones, sobre las actualizaciones de Mac OS X no se dice toda la verdad, en Daboweb procuramos llamar a las cosas por su nombre y si te suscribes a la lista de correo de seguridad de la propia Apple, te darás cuenta de lo que te digo, cambia mucho lo que lees en el icono de  “Actualización de software” de OS X, a lo que realmente te llega a esa lista, que no es otra cosa que todas las vulnerabilidades reales en cada aplicación, servicio u otra parte del sistema.

Quizás ahí podemos ver otro ejemplo de la diferencia en cuanto a temas de seguridad en GNU/Linux, donde la gran mayoría no tenemos miedo a saber que sucede con nuestro sistema, sino más bien a la falta de información, aceptamos que hay bugs como algo natural y sólo esperamos que puedan ser solventados de la forma más rápida y eficaz posible, pero no que se nos “maquille” la información que recibimos para darnos una sensación de falsa seguridad. Sí, es una de las grandes ventajas del software libre, otra más.

El 2011 puede ser un buen momento para empezar…

Pero no he escrito esto para “evangelizar” a nadie, simplemente creo que es un buen momento para iniciar el año con mejores prácticas en cuanto a la seguridad, que mires en las preferencias del sistema / seguridad a ver qué sucede con tu firewall, que instales aplicaciones como Little Snitch para que ver que aplicaciones salen a internet y de qué forma y no sólo para bloquear a Adobe y sus updates que te dejarían sin tu Photoshop.

También este 2011 puede ser el punto de partida para que le des un vistazo a esa “flamante” App Mac Store (que los linuxeros ya tenemos hace años algo similar pero free en nuestros equipos por cierto, gracias por el comentario AJ) buscando alguna de las soluciones anti malware que incluyen (varias gratuitas) y que no van a ralentizar tu sistema, sino más bien evitar que “vayas tan rápido que te des un buen leñazo”…

¿Es Mac OS X un sistema inseguro?

Sinceramente y por mi propia experiencia de años atrás cuando lo usaba conjuntamente con Debian, es un sistema robusto y sobre la base “bastante” seguro. Pero lo es, cuando quien lo usa es consciente de lo que se trae entre manos, adquiere unas buenas prácticas de seguridad, cuando está debidamente parcheado (no sólo el sistema base sino también sus aplicaciones) y preparado para las nuevas amenazas que llegan desde La Red. Algo que desde luego tampoco puede olvidar un usuario de Windows ni tampoco un linuxero, ojo.

Tags: , , , , , , , , , , ,


oct 16 2010

Bloqueo de ataques de fuerza bruta en servidores GNU/Linux con BFD

Lo primero que os recomiendo antes de empezar a leer esta entrada, es dar un vistazo (los asiduos a DaboBlog ya lo conoceréis) a este post sobre el resumen de mi participación junto a Oreixa en el pasado EFIMP (Eset Foro Internet Meeting Point) de Gijón en el que hablo de diferentes tipos de ataques web y control del tráfico en nuestro servidor GNU/Linux con herramientas como Mod Evasive, Apache Status, Mod Security, Medusa, Whatweb, Pentbox, APF Firewall, etc.

Más que nada lo digo porque cuando hablamos de ataques de fuerza bruta, solemos dar prioridad (obviamente) a servicios como ssh con soluciones como fail2ban o DenyHosts tal y como reseño en esa entrada pero ¿qué pasa por ejemplo con el FTP u otros tan sensibles como el correo?

Ahí es donde entra en escena BFD, una herramienta más de los creadores de APF Firewall (que por cierto, su trabajo es impresionante, mirad la lista, tengo que probar LSM, Linux Socket Monitor)

¿Qué es y cómo actúa BFD?

BFD es una aplicación creada por Ryan MacDonald con licencia GPL que una vez instalada, se ejecuta por defecto cada 3 minutos en el cron, buscando en logs relevantes del sistema (/var/log/secure, /var/log/auth.log, /var/log/messages, esto puede variar según la distro) rastros de posibles huellas de ataques de fuerza bruta (fallos de autenticación) en servicios como courier, cpanel, exim, proftpd , pure-ftpd, sshd, etc.

¿Cómo actúa? una vez que localiza el ataque (por defecto el valor que viene en su configuración es “TRIG=”15″, 15 intentos) ejecuta un comando del sistema para bloquear el host que lo ha provocado (por defecto usa el bloqueo de APF Firewall, asumiento, erróneamente a mi modo de ver, que se tiene instalado APF, este es el comando (BAN_COMMAND=”/etc/apf/apf -d $ATTACK_HOST {bfd.$MOD}”)

Aspectos a tener en cuenta. (Probado en Debian Lenny)

Pero en ese valor, (BAN_COMMAND=) podéis usar comandos de iptables, Shorewall, etc, u otro del tipo BAN_COMMAND=”route add -host $ATTACK_HOST reject”. Eso queda a vuestra elección y depende de qué tengáis instalado en el servidor web.

En el fichero de configuración principal que está en; /usr/local/bfd/conf.bfd también se puede definir además de los intentos de bloqueo, comando para rechazar el host atacante y el resto de opciones, que se envíe un e-mail (EMAIL_ADDRESS=”aquí el mail”) avisando del ataque y posterior bloqueo.

Su instalación es muy sencilla, una vez descargado con tipear un ./install.sh es suficiente pero en mi caso, me daba este error en el cron; Error: bad minute; while reading /etc/cron.d/bfd . No era el tiempo de ejecución sino que ahí también va un valor referido al email que hay que rellenar al igual que en /usr/local/bfd/conf.bfd;

MAILTO=aquí el mail, por defecto vacío
SHELL=/bin/bash
*/3 * * * * root /usr/local/sbin/bfd -q

Por lo que además de incluir el mail en la configuración principal; /usr/local/bfd/conf.bfd, también deberéis tener en cuenta este campo a rellenar en el cron; /etc/cron.d/bfd.

Para ver que funciona correctamente, hablando del cron, os recomiendo tener una consola con el siguiente comando;

tail -f /var/log/syslog | grep -i bfd

Y si todo va bien y no os sale el error de “bad minute”, se debería ver cada 3 minutos esto;

Oct 16 21:24:01 server /USR/SBIN/CRON[5017]: (root) CMD (/usr/local/sbin/bfd -q)

Oct 16 21:27:01 server /USR/SBIN/CRON[5468]: (root) CMD (/usr/local/sbin/bfd -q)

Oct 16 21:30:01 server /USR/SBIN/CRON[5468]: (root) CMD (/usr/local/sbin/bfd -q)

También en /var/log hay un fichero que se crea referido a BFD (/var/log/bfd_log).

Lo último que os recomiendo, es que miréis bien tanto la documentación sobre BFD (Brute Force Detection) y como estamos viendo, leer tranquilamente los valores incluidos en el fichero de configuración principal (/usr/local/bfd/conf.bfd).

Este concretamente “syslog auth log path” puede variar, ya que por defecto incluye /var/log/secure y en Debian por ejemplo es /var/log/auth.log. A este tipo de detalles me refiero con mirar bien cada valor.

Además de todo esto, no paséis por alto comprobar las reglas (en /usr/local/bfd/rules) que incluye por defecto para las aplicaciones a proteger, borrando las que no tengáis en el sistema, o cambiando el valor “TRIG” para el bloqueo independiente deseado para cada servicio.

Si se escribe sin ningún parametro bfd en el prompt del sistema, veréis esto;

-s|–standard …….. run standard with output

-q|–quiet ……….. run quiet with output hidden

-a|–attackpool …… list all addresses that have attacked this host

Por defecto si os fijáis en la entrada del cron, se ejecuta con la opción “-q”, para ver la lista de IPs que han sido bloqueadas se usa el parámetro “-a”. Para comprobar su funcionamiento podéis usar Medusa con este comando para atacar una cuenta FTP;

medusa -h ip-host-a-atacar -u usuario_ftp -P passwords.txt -e ns -M ftp

Asumiendo que desde el directorio que estáis tipeando el comando, tenéis una lista de passwords llamada passwords.txt. (Podéis usar esta del proyecto Openwall aunque hay muchas y muy variadas).

Suerte con la instalación y espero que esta entrada os sea de ayuda para que deis menos vueltas que las que he dado yo para configurarlo, ciertamente no es que sea complicado, pero sí un poco farragoso por las conf que trae por defecto.

Tags: , , , , , , , , , , , , , , , ,


oct 06 2010

¿Deberían los ISP cortar la conexión a usuarios troyanizados por botnets?

Como muchos de vosotros sabréis, las redes de ordenadores troyanizados (conocidas como botnets) son responsables de una gran parte de la invasión de spam en nuestros equipos, ataques de denegación de servicio y una larga lista de basura electrónica que nos llega desde el cable de red.

Siendo un hecho demostrable que se tratan de amenazas reales para la seguridad, algunos estamentos y empresas empiezan a preguntarse si las operadoras telefónicas deberían cortar la conexión a los usuarios afectados para impedir o paliar los daños que conllevan.

Según leo en Slashdot, es Richi Jennings en Computer World (ENG), quien en este caso plantea la cuestión aludiendo que sería factible para los ISP (mediante la interceptación del correo basura saliente u otros métodos de control de tráfico) detectar y cortar la conexión a una dirección IP que aún sin saberlo, sea partícipe de estos ataques.

En el artículo, también citan la facilidad del ISP para hacerlo en base a cuestiones contractuales con el usuario y el cumplimiento de sus políticas o condiciones de uso, también recalcan que se están realizando movimientos para avisar al usuario en el caso de que detecten actividades de este tipo en sus redes (Comcast lo anunció la semana pasada).

Personalmente, me parecería algo lógico y una actitud responsable con sus clientes, que se avise al usuario en el caso de que pueda ser parte de una botnet sin saberlo, pero no desde luego el que se corte una conexión a la ligera.

Las dudas llegan pensando en qué técnicas se aplicarían para ver si efectivamente es así, o si esta excusa no serviría para de paso, cortar una conexión no precisamente por pertenecer a una botnet, sino por otros motivos (compartir o descargar P2P por ejemplo).

Quizás, antes de buscar en los equipos de los usuarios, deberían poner la vista en los miles de servidores web troyanizados que son auténticas “máquinas de infección masiva” y utilizados por los “dueños” de esas botnets para realizar constantemente (o por encargo) ataques de denegación de servicio.

Sobre todo, teniendo en cuenta que disponen de un ancho de banda claramente superior al de cualquier usuario con una conexión “normal” (si se puede llamar “normal” a lo que se paga por el ADSL/Cable en España en base a lo que ofrecen).

Pero claro, lo que seguro que no van a hacer es cortar la línea telefónica a “sus mejores clientes” sí, esos que tras la etiqueta de “Marketing telefónico”, invaden nuestra privacidad constantemente. Spam telefónico por cierto.

Ahh que son ellos, los ISP, quienes más llaman, ahora lo entiendo (casi) todo…

Tags: , , ,


jul 11 2010

“Sobrevive a tu tráfico web” Impresiones y la parte de mi charla, seguridad a nivel de servidor en el #FIMP

Hola amigos, alguno me pidió que publicase enlaces y algún texto sobre la parte que me tocó a mi (Servidores web y seguridad) en el pasado ESET Foro Internet Meeting Point que se celebró en Gijón.

Foto cortesía de mi gran amigo Fernando (SInLaVeniA), su crónica.

En su momento, hablé más o menos aquí de lo que iba a hablar en esos 30 min que me tocaban a mi en el EFIMP, después, os comenté en esta otra entrada que tendría el placer de compartir mesa con Fernando De La Cuadra (ESET), muchas gracias por todo, además de con un gran amigo Oscar Reixa (Oreixa) que ya ha publicado su parte de la charla (Seguridad en WP y optimización), alguien que no dudo en estar conmigo allí cuando le comenté la posibilidad de hacer algo juntos para la ocasión.

No voy a intentar referenciar o enlazar a todos los amigos que estuvieron allí además de los que conocí “in situ”, porque seguro que me olvido de alguno así que sólo puedo decir que gracias, por todo.

Lo cierto es que el tiempo era justo y después estaba el partido de Paraguay, (que no lo pude ver entero ya que Oreixa tuvo que llevar a Julia a casa por un asunto familiar y me quedé encerrado en su coche 20 min, con radio, eso sí -;) pero quizás contra lo que más tuve que luchar fue contra mi mismo, el Sábado por la mañana andaba todavía con fiebre del gripazo que me pillé unos días antes.

Pude estar ahí gracias a los antibióticos, el Bisolgrip, la excelente organización con su máximo exponente en Ana Fernández Ordíz, tutelada por un gran profesional como Carlos Urioste y a esos grandes amigos que tengo -;).

El Viernes no pude estar por razones obvias, pero desde las 9,30 del Sábado, estuve asistiendo a las interesantes charlas que nos precedían y conseguí “desquitarme” un poco el Sábado por la noche cuando acabó todo y compartí unos cuantos buenos momentos con varios de los participantes del EFIMP.

Me precedieron como os decía Fernando De La Cuadra (ESET) que habló de seguridad local con algunos conceptos fundamentales y Oscar Reixa (Oreixa) que tomó el testigo hablando de seguridad a nivel de WordPress (El CMS más usado de los que estábamos allí) y cuestiones de optimización como podéis ver en el enlace de superior de su parte).

Luego seguí yo hablando de seguridad web a nivel del servidor (cuando publiquen el vídeo lo enlazaré desde aquí), cada ejemplo lo acompañé de una demostración práctica ya que no quería quedarme sólo en la teoría y me basé en experiencias propias usando para ello un par de servidores web dedicados en producción bajo Debian, el mismo S.O que corría en mi MacBook (con KDE 4x). Todo ello dentro de mis limitados conocimientos adquiridos a base de muchas noches intentando “comprender”.

Algún participante comentó que quizás mi parte era muy técnica pero en el programa y donde iba mi ficha de participante ya puse esto “Todo ello apoyado con escenarios reales de ataques web de diversos tipos” y vaya, Internet es tan real como lo que se pudo ver(me quedé corto, os lo aseguro).

Conocer los riesgos o amenazas antes de montar tu flamante negocio online (que se habló mucho de ello) por citar un ejemplo y saber a qué te enfrentas y cómo hacerlo o qué deberías contratar caso de que no quieras pasarte media vida frente un terminal, creo que es fundamental. Ya hablé en esta entrada de la situación inicial en la que te encuentras contratando un servidor virtual/dedicado administrado sólo con un Plesk, DA o Cpanel.  Mucha responsabilidad y más riesgo.

Todo ello partiendo de la base de que como dije allí, hablamos de ataques automatizados en la mayor parte de los casos, si esos ataques se realizan de un modo directo por alquien que tenga los motivos, conocimientos o dinero suficiente para llevarlos a cabo, tienes un buen problema ya que de un modo u otro, acabaría por conseguir su objetivo…

Parte 1; Seguridad por oscuridad.

Como complemento a lo que comentó Oreixa a nivel de WordPress, di algún repaso a cuestiones de Apache y PHP frente a posibles ataques automatizados buscando versiones obsoletas como pueden ser las siguientes;

Ocultar la versión de Apache y PHP (con ello también la del sistema operativo a veces y PHP, SSL, etc)

Primero vimos cómo con una simple extensión de Firefox se podía conseguir una valiosa información acerca del servidor web que está ejecutándose en una web, se trata de Server Spy.

En apache2.conf (normalmente estaría en /etc/apache2/apache2.conf) cambiamos los siguientes valores; ServerTokens por defecto está en “Full”, lo cambiamos a “Prod”.
ServerSignature por defecto está en “On”, lo cambiamos a “Off”.

Luego vimos como con esto no es suficiente ya que el “flag” de PHP por defecto revela información acerca de estas cuestiones tal y como se comprobó con una simple petición con curl;
curl -i aqui-la-web.com y mediante la herramienta whatweb con un ./whatweb aqui-la-web.com

Para ello, editamos el fichero de configuración de PHP, php.ini (normalmente en /etc/php/apache2/php.ini)
El valor expose_php por defecto está en “On”, hay que ponerlo en “Off”, esto, además de revelar que está ejecutándose de facto PHP, algo que no es un riesgo para la seguridad realmente, revela la versión de PHP como se pudo ver también mediante una petición con curl, el mismo whatweb o vía un escaneo con nmap del tipo nmap -sS -sV -P0 aquí-la-web.com.

Para que todos estos cambios se hagan efectivos, es necesario recargar la configuración de apache, por ejemplo con /etc/init.d/apache2 reload.

Para testar cómo es nuestra configuración de PHP a nivel de seguridad, aconsejé el uso de phpsecinfo, sólo tenéis que descargarlo y descomprimirlo dentro de la raíz de vuestro site y acceder vía el navegador.

Parte 2; Rootkits, puertos, servicios ejecutándose en la máquina.

Aquí primero hice un par de demos con dos herramientas para buscar Rootkits-Troyanos además de cambios (al estilo Tripwire) en comandos esenciales en el sistema, configuración de algunos servicios y versiones, en este caso rkhunter, además de otra aplicación muy potente como chkrootkit.

También puse algún ejemplo de cómo controlar el estado de las conexiones viendo tanto puertos abiertos como qué servicios se ejecutan en dichos puertos con herramientas como;

iptraf, lsof o netstat o nmap pudiéndose añadir alguno más, varios ejemplos;

netstat -an
lsof -i
ps ax | grep apache | wc -l (Procesos que origina Apache)
netstat -n -p | grep SYN_REC | awk ‘{print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -n (Tráfico SYN).

También hablé de la importancia de controlar el tráfico que enviamos o recibimos y además del uso de Munin (que se vio en la parte de Oreixa), puede ser una buena opción el comando vnstat, ejemplos;

vnstat -m (mes)

vnstat -d (dia)

vnstat -h (hora)

Parte 3, diferenciando el tráfico legítimo del no deseado y bloqueo con Mod Evasive.

En esta parte además de hablar de algún ejemplo de picos de tráfico supuestamente legítimos que al final no lo eran tanto (Robots de Yahoo, algún ataque de una Botnet, etc), recomendé para monitorizar en tiempo real el tráfico que llega a nuestras webs, el uso del módulo para Apache Server Status (ahí se puede ver en el sitio web de Apache a Mod Status en acción).

Luego, para los casos en los que sea necesario bloquear picos de tráfico puntuales (más que parar un ataque DoS como se lee mucho por ahí), otro módulo para Apache como Mod Evasive puede ayudarnos, hice una demo del script en Perl que viene con él, (test.pl) para ver cómo bloqueaba un intento masivo de 200 conexiónes a la vez.

Parte 4, acceso al servidor vía SSH, FTP, riesgos y medidas de seguridad.

Hablé de algún consejo para usar con mayor seguridad estos servicios, realizando una demo con Medusa de un ataque de fuerza bruta contra una cuenta FTP y el mejor consejo que pude dar es que no se use como nombre de usuario del FTP, el mismo que tiene la web, para que un ataque de fuerza bruta no sea tan fácil de realizar.

Recalqué lo importante también que es además de cambiar el puerto por defecto del SSH (el 22) y de no usar la cuenta de “root” para conectar vía SSH, revisar los logs del sistema con regularidad ya que este tipo de ataques dejan un rastro fácil de seguir a poco que se observen con atención esos logs (authlog, secure.log, etc).

Para proteger los intentos no deseados de conexión vía SSH, recomendé el uso de DenyHosts (también puede servir Fail2ban) que bloquea tras el número de intentos que definamos una conexión añadiendo la IP a “hosts.dey” y enviando un mail con la IP del bloqueo. También BFD os puede ayudar hablando de ataques de fuerza bruta.

Parte 5, APF Firewall trabajando junto a Iptables.

Para usuarios que no estén familiarizados con el uso de iptables, el firewall por excelencia en sistemas GNU/Linux, recomendé el uso de APF Firewall, puede trabajar junto a paneles como Plesk, CPanel, DA, etc, contando con un fichero de configuración (/etc/apf/conf.apf) muy faćil de interpretar, pudiendo cambiar valores del sistema a nivel de Kernel para paliar ataques DoS (sysctl, etc), descargar listas de IPs maliciosas de lugares como Dshield, etc, recargar la configuración pasado un tiempo (muy válido para DNS dinámicas) o al estilo de “Porsentry” detectar y bloquear un escaneo u otros ataques definiendo los valores deseados TOS o proteger ciertos rangos de puertos previamente definidos.

Hice una demo de ataque (DoS Flood Syn) y detección-bloqueo con una gran herramienta como es Pentbox creada por Alberto Ortega, por cierto, esa demo fue sólo una parte de lo mucho que puede hacer Pentbox.

Parte 6, Mod Security para Apache.

Aquí expliqué algo acerca de las bondades del módulo para Apache Mod Security, potente firewall de aplicaciones y del por qué de su uso en hostings compartidos donde el admin no puede controlar todo lo que instalan o no actualizan sus “inquilinos”. Pero ojo con matar moscas a cañonazos…

Repasé a grosso modo las opciones de detección y bloqueo que se pueden definir en sus extensas reglas (CRS) de ataques XSS, inyección SQL, robots maliciosos, peticiones malformadas HTTP, etc.

Hice una demo de un ataque XSS con bloqueo incluido con la “Hackbar” para Firefox.

Parte 7, control del tráfico y servicios con Logcheck y Monit.

Aquí ya el tiempo apremiaba, como os digo esto fue en 30 min aprox y hablé de Logcheck para estar al tanto cada hora en tu e-mail de todos los avisos relevantes del sistema que rastrea buscando en los logs de un modo tan efectivo Logcheck.

Para monitorizar servicios como SSH, FTP, MySQL, etc, recomendé el uso de Monit que avisa caso de que algún servicio esencial caiga, pudiendo levantarlo o ejecutar un comando previamente definido.

Espero que os pueda ser de utilidad, se podría hablar mucho más sobre todo esto y seguro que mucho mejor, pero creo que puede ser un punto de partida para quienes estén interesados en estos temas.

Tags: , , , , , , , , , , , , ,


jun 14 2010

Sobre mi participación junto a Oreixa en el FIMP 2010.(Foro Internet Meeting Point). #FIMP

Edito y añadoResumen de mi charla

A raíz de una distendida y enriquecedora charla que mantuve con Carlos Urioste (Blog > “Voolive“), gerente de El Comercio Digital y gran conocedor de un medio tan “desconocido a veces por los medios” (tradicionales) como es Internet, me he embarcado de lleno (hasta la piscina diría yo-;) en la tercera edición del Foro Internet Meeting Point, Fimp) que se celebrará en Gijón entre los días 1 y 3 de Julio.

En reunión estuvo también Ana Fernández Ordíz (Blog > “Con Alegría e Ilusión“), ella forma parte del equipo que se encarga de promoción y participación online en El Comercio Digital y se nota cuando la gente hace su trabajo llevando el título de su blog a la práctica “con alegría e ilusión”.

Insistieron en que tenía que estar en el FIMP de este año y a pesar de que les dije que hay gente más preparada que yo para estar en un evento de tal calibre, quise estar a la altura de la confianza que depositaron en mi y acepté encantado, consciente de la responsabilidad que supone.

No hay más que darle un vistazo al plantel de ponentes o participantes de este Fimp 2010 (PDF) en las diferentes charlas o mesas redondas para darse cuenta de lo que hablo cuando digo “responsabilidad”…Podéis también ponerles cara a algunos de los organizadores y participantes (no pude estar) que vía Twitter lo presentaron.

Carlos me dio libertad total para prepararlo, imagino que buscaba también la experiencia personal de alguien que como yo, se ha tenido que ir buscando la vida para ir canalizando el tráfico que le llegaba a sus webs.

Un incremento de tráfico que tuve que lidiar primero con un Daboweb que, cuando empezamos (año 2002) ya era un foro con bastante tráfico y sobre todo, hablando de incremento de tráfico, la prueba definitiva para mi llegó a partir del 2005 con Caborian que, al mover tantas imágenes y con unas dos millones de páginas vistas al mes, además de muchas consultas a la base de datos, también es un buen “potro” que domar, además de otras webs que ya conocéis.

Por otro lado, los más asiduos al podcast o el blog, ya sabéis de mi relación tan estrecha con los temas relacionados con la seguridad. El eterno aprendiz, así me podría catalogar en un campo tan vivo como este. Al final, después de darte de leches noches y más noches con el sistema (ya lo digo en mi ficha de participante en el FIMP, no he tenido la suerte de poder estudiar nada relacionado con la informática dentro de un aula) te das cuenta de la gran relación con la seguridad que hay entre un sistema bien optimizado y uno que no lo esté.

Corría el año 2005 cuando contraté mi primer servidor dedicado en Interdominios, (a los que les doy las gracias por el apoyo continuado desde que empecé), un Pentium III con 512 mb de Ram y 40 Gb de disco duro que se portó siempre como un campeón, estaba cansado de sufrir caídas del foro dentro del alojamiento compartido en el que estaba y gracias a Raúl Naveiras, gran amigo y mejor sysadmin, programador y un largo etc, comencé a ser mi propio ISP y de paso, a verle las orejas al lobo y darme cuenta de lo poco que sabía acerca de estas temáticas.

Gracias a Raúl, también aprendí a vivir sin esos paneles gráficos como Plesk, Cpanel, DA, etc que tanto te facilitan la vida cuando no sabes pero que a su vez, tanto limitan tus conocimientos sobre el sistema (GNU/Linux en mi caso), además de tomar un protagonismo excesivo sobre el mismo. Ya les dediqué una entrada en el blog a estos sistemas y la falta de una administración adicional en la máquina.

Luego, cuando fui aprendiendo a base de prueba-error, pasé a meterle mano a servidores dedicados más potentes y a administrar otros de terceros. En estos 5 años, he ido pasando por diferentes fases hasta llegar a comprender más o menos como se mueve todo esto.

También a ser consciente de los problemas que se encuentra cualquiera que inicia un blog u otro proyecto web y empiezan a subir sus visitas, y con ello sus problemas a la hora de elegir su plan de alojamiento adecuado, o ser consciente de lo que deberían pedir cuando contraten un nuevo hosting.

No deja de ser menos cierto que el compartir experiencias en nuestros foros de Daboweb, te ayuda hacerte una idea de los problemas de los demás y cómo intentar paliarlos llegado el caso. Y relacionado con todo esto y la charla-demostración práctica del FIMP, pensé que el compañero de viaje ideal para llevarla a buen puerto era Oscar Reixa (Oreixa).

Alguien que de blogs, ahí están todos sus planetas dentro de Galaxia Blog, ( Recién renovados; Reixa, Mac, iOS, iPhone), de tráfico y de cómo buscarse la vida también sabe mucho. El mismo día en que se confirmó mi asistencia al FIMP, me tomé una cerveza con otro que de este medio podría hablar largo y tendido, desde el punto de vista del blogger, formador, usuario o sufridor de los picos de tráfico de su éxito -;). Hablo de mi amigo Juan García, “Kids” de Blogoff, quien por cierto ha escrito una recomendable entrada sobre “Por qué ir al Fimp sin conocer el Fimp“.

Juan me dio algún consejo para la charla, o más bien me contó cómo le gustaría que fuese según su percepción de las cosas o cómo le afectan las cuestiones de optimización y seguridad en el día a día de la publicación y la forma de afrontarlas. Además darme un montón de ánimos para el día 3, como muchos de vosotros -;).

También estos días, hablando con grandes amigos y gente que lleva adelante proyectos con peso y solera en Internet como pueden ser Destroyer y Danae, Forat, AJ, Rafa Espada o Diego, (juntos llevamos adelante DebianHackers) en este caso me refiero a personas que llevan adelante blogs regularmente pero que también administran sus servidores Privados/Dedicados (o co-administramos, ahí estamos ayudándonos unos a otros desde hace años-;), también voy cogiendo ideas (Liamngls, me faltas tú-;).

Pero para no perder la perspectiva, las sugerencias de otros que van “más tranquilos” en La Red como David Busto o Karbonato, nos vienen muy bien para preparar la charla. En este caso hablo de usuarios a los que no les preocupa tanto el sistema, sino el resultado final de la publicación aunque se interesan por el sistema y Karbonato por ejemplo, tiene un VPS bajo Debian.

¿El resultado?, más o menos la descripción que Oscar y yo a modo de resumen, hemos hecho para dar unas pinceladas de lo que compartiremos con el resto de compañeros que asistirán al evento. Tal y como se indica en el programa definitivo del Fimp; También está al completo con los participantes en PDF.

Título;

“Sobrevive a tu tráfico web sin morir o arruinarte en el intento”.

Descripción;

“Soñamos con aumentar el tráfico de nuestros blogs, pero ¿estamos preparados para un incremento súbito en las visitas sin perder el “sueño”? Repasaremos técnicas básicas de guerrilla para tener a punto tu WordPress, optimizar y preparar el servidor web para absorber ese tráfico.

También veremos con ejemplos y demostraciones prácticas, lo complejo que resulta a veces diferenciar entre el tráfico legítimo y el indeseado que llega hacia tu sitio web. Todo ello apoyado con escenarios reales de ataques web de diversos tipos, dando desde nuestra propia experiencia, algunas pautas para paliarlos y una visión global de lo que deberías saber antes de pasar por caja y contratar una nueva máquina”.

Quizás lo más complejo haya sido darle forma a todo o más bien resumir lo más importante. Esa fase ya está superada (más o menos-;) y ahora queda preparar cada uno nuestra parte. Dispondremos de 60 min y lo haremos en dos bloques, estamos controlando ahora mismo el tiempo para cada uno de ellos. En ambos casos, apoyaremos lo comentado con ejemplos realizados en riguroso (esperemos que no falle-;) directo.

Mi compañero de viaje en el Fimp, Oreixa, se centrará en temas relativos a lo importante que es la elección de un hosting y los puntos a tener en cuenta para contratar un nuevo plan de alojamiento, hablará de optimización desde lo más básico en WordPress (usado por la gran mayoría de asistentes a la charla, también dará pautas y herramientas para asegurarlo), hasta temas de más complejidad en el lado del servidor, válido para un VPS o dedicado, (cachés de disco, memoria, PHP, MySQL, etc), monitorización de servicios y el sistema, etc.

Por mi parte me centraré en temas que afectan a la seguridad y en lo complejo que resulta a veces diferenciar el tráfico legítimo del indeseado. También haré alguna demostración práctica de cómo se llevan a cabo ataques de fuerza bruta como los que realizan servidores o hosts troyanizados (típica Botnet) contra protocolos tan delicados como SSH, FTP, etc, ataques DoS bajo peticiones HTTP o Syn.

También se verán ejemplos de cómo un buscador puede tumbarte un servidor, ataques XSS, vulnerabilidades en PHP y otros servicios, seguridad por oscuridad con varios ejemplos y sus correspondientes test de intrusión externos, ver un firewall en acción y algún consejo para usarlos, búsqueda de Rootkits, control de puertos y servicios a la escucha, etc.

A su vez, iremos viendo alguna medida para poder paliar (en parte, ya que la seguridad “total” es una utopía y más en un servidor web). Como todo esto se va realizar usando 4 o 5 servidores reales en producción, sólo espero que no nos fallen las comunicaciones aunque intentaremos tener un plan B o C. Si os pasáis por el Fimp esos días, puede ser un buen punto de encuentro para ponernos cara delante de unas birras -;).

Edito y añado;

Resumen de mi participación y los temas que traté

Muchas gracias a todos por los ánimos y por vuestras entradas que voy leyendo ;)

Oscar en Planeta Reixa

Fernando en SInLaVeniA

David en Ennegativo

Forat en Forat Dot Info

Diego en DebianHackers.

Caborian Caborians en el FIMP

Además de todos los apoyos que llegan desde Twitter, mails, etc. En “Fimp” que sois la leche ;)

Tags: , , , , , , , , , , , , , , , ,


feb 04 2010

En 4 líneas (GNU/Linux)

En 4 líneas…

gnu_linux

1-Luk, de HackHispano, nos habla sobre cómo proteger nuestro server frente a ataques de fuerza bruta o un DoS.

2-Os recomiendo esta interesante entrada de HowtoForge sobre cómo analizar el trafico de Red en Debian Lenny.

3-El amigo José María, nos deja esta interesante chuleta para montar un servicio FTP en un directorio local.

4-Recomendado,  PDF con 545 páginas en Castellano, Catalán e Inglés “administración avanzada en GNU/Linux“.

Tags: , , , , , ,


Página siguiente »