sep 09 2011

“Seguridad Por Niveles”, el libro. Descarga gratuita en PDF (700 pag).

Cuando el amigo Alejandro Corletti te envía un e-mail, ya sabes que es sinónimo de buen material. Tanto aquí como en Daboweb, más de una vez nos hemos hecho eco de sus trabajos y el que hoy os recomiendo, es sencillamente impresionante. En este caso con un prólogo y presentación firmado por Arturo Ribagorda Garnacho y Jorge Ramió Aguirre.

En el libro “Seguridad por niveles” (Con licencia Copyleft) se da un excelente repaso a lo que alguien interesado en redes o seguridad informática puede necesitar, desde las capas más bajas del sistema (Modelos OSI, DARPA, etc) a las más altas, desgranando el protocolo TCP-IP, pasando por el análisis de tráfico de red (algo que hace muy bien nuestro gran colaborador y redactor de Daboweb Alfon de “Seguridad y Redes“) con herramientas como Wireshark, tcpdump, etc además de introducirnos en el mundo de los “sniffers”. Hablando de estos temas, puedes ver el gran trabajo que está realizando Alfon en Daboweb desde este enlace con su sagaAnálisis de capturas de Red“.

En el libro también se habla también de; ARP, ICMP, IGMP, DHCP, IPV6, DNS, Telnet, FTP, SSH, SMTP, SSL-TLS, los Honey Pots, Criptografía, PKI, etc, además de cómo se pueden detectar vulnerabilidades en estos protocolos así como los procesos por los cuales se pueden ver comprometidos (ARP o DNS Spoof).

Hay un capítulo dedicado a los IDS (Sistemas de detección de intrusiones) y no podían faltar en un libro como este herramientas Open Source tan populares y efectivas como Snort, Nikto, OpenSSH, Netcat, Nmap, Iptables y un largo etc.

Al final del libro podrás encontrarte con capítulos en los que se habla de auditorías de seguridad, la familia ISO 27000 (sistema de gestión de la seguridad de la información), IPsec o lo que es un Plan de Continuidad de Negocio.

En definitiva, una guía bajo mi punto de vista que resume muchos aspectos imprescindibles para aficionados y profesionales tanto de la gestión de sistemas, redes o seguridad desde la base hasta niveles más altos en cuestiones técnicas.

Muchas gracias Alejandro una vez más por tu aportación a la comunidad, la forma de distribuir tu libro y tu profesionalidad -;).

Acceso a la información sobre el libro en darfe.es

Descarga directa del libro en PDF (709 páginas, 22 mb).

 

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: , , , , , , , , , , , , , , , ,


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: , , , , , , , , , , , , ,


abr 28 2010

Y Forat acabó -;). Servidor web 2010 con Ubuntu Server, índice paso a paso

Bueno amigos, Forat ha cumplido como un campeón, además de ser un “súper papá”, ha demostrado que cuando decía que cerraba los comentarios para poder seguir creando contenidos, no lo decía por decir.

Ahí está el gran trabajo que ha hecho con su último proyecto, “Servidor Web 2010 con Ubuntu GNU/Linux”, una gran ayuda en el camino de cualquiera que quiera montarse su servidor web en casa con todos los servicios necesarios para echarlo a andar “con fundamento” -;).

A continuación os traigo aquí el índice del tutorial entrega por entrega;

Introducción

- Vol 1 ( Como instalar Linux Ubuntu Server 9.10 )
- Vol 2 ( Configuración de Red y manejo remoto vía OpenSSH con SSH y SFTP
- Vol 3 ( Como instalar LAMP + PhpMyAdmin )
- Vol 4 ( Abrir y redirigir puertos desde nuestro Router )
- Vol 5 ( Encontrando nuestro servidor desde Internet con No-Ip )
- Vol 6 ( Servidor web Apache y su VirtualHost con NoIp )
- Vol 7 ( Dominios comerciales + VirtuaHost en Apachee )
- Vol 8 ( Estadísticas web Open Source con Piwik )
- Vol 9 ( Estadísticas sobre nuestro Hardware con PhpSysInfo

Enhorabuena bro, otro aporte más para la comunidad, a ver con que nos sorprendes ahora -;).

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


mar 11 2010

En 4 líneas (GNU/Linux)

En 4 líneas…

gnu_linux

1-Nueva versión de un imprescindible, OpenSSH (la 5.4). Novedad;  “netcat mode”, corrige bugs leves (ENG).

2-Importante release, Servidor web Apache versión 2.2.15 (ENG). Corrige bug en SSL y otros de importancia.

3-Forat sigue con su proyecto de servidor web, en la última entrega (usando el servicio de DNS “no-ip).

4-Las 10 apps Open Source más descargadas de la historia (lo de alguna de ellas ni me lo imaginaba). (ENG).

Tags: , , , , , , , ,


ene 29 2010

Instalación de un servidor web bajo Ubuntu Server. (Empieza el show de Forat-;)

Si amigos, Forat suelta la mecha del que será su próximo gran proyecto para empezar el 2 010 con fuerza y celebrar su reciente paternidad (podéis seguir las novedades de su “apt-get remove pañal” xD en www.forat.es, el blog de su hijo Eric-;).

En una de mis anteriores entradas, me hice eco de la nueva situación de Forat a nivel personal que se avecinaba y también en su blog con el cierre de comentarios, decisión que le ayudé a tomar y que apoyé en todo momento. Pero como dijo en su día, no iba a parar su actividad, sino que este punto y seguido serviría para preparar futuros contenidos de un modo más pausado y aquí está el resultado.

Instalación de un servidor web bajo GNU/Linux con Ubuntu Server.

He estado muy cerca de la creación de este tutorial en el que paso a paso, podréis instalaros un servidor web en vuestra casa con software libre y listo para funcionar a pleno gas y os puedo decir que Forat ha echado el resto como podréis ir viendo en cada entrega del tutorial.

Somos compañeros de podcast y de terminal muchas noches en interminables y apasionantes sesiones vía SSH coordinando la jugada por Skype (con el cambio de su server que comenta en la intro del tuto tuvimos alguna memorable-;) pegándonos con Apache, MySQL, PHP y “casi todo lo que se menea” en un servidor web y os aseguro que si seguís los pasos que plantea Forat, os vais a ahorrar mucho trabajo -;).

Acceso aServidor Web bajo Linux Ubuntu Server – Introducción

Ánimo bro !! Estamos con ganas de ver ya todo el material -;)

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


mar 19 2009

Amen.es ¿Estás pensando en alojar ahí una web o contratar un servidor dedicado? Server K.O

Category: GNU/Linux,Sin archivar,Webmasterdabo @ 1:17 am

apache_server.jpgBien, para poneros en antecedentes os comentaré que hace tiempo (más de 4 años) ya expresé públicamente lo que pensaba acerca de “cierta política” de recuperación de dominios de amen.es. Por lo que en este caso, llueve sobre mojado.

Para no dispersaros mucho de vuestra multitarea, que sé como es el tema, os lo resumiré lo que más pueda pero prefiero documentar un poco los pasos para que os pongáis escena. Esto le ha sucedido a un colega con un servidor dedicado en el que yo he realizado algunas tareas de administración y optimización, el nombre no viene al caso, quizás alguno sabéis de quien hablo pero lo importante es saber con que empresa trata uno en casos como este.

Está claro que no se puede generalizar y que la gente de Amen no hará todo mal, también sé muy bien que la administración de sistemas no es una tarea fácil y que hay muchos puntos críticos o que sean susceptibles de fallar más que otros pero hablaré de lo que he visto en todo este proceso de la forma más objetiva posible.

Máquina, un servidor dedicado con tiempo ya, un Dual Xeón con mucho trote y descatalogado de la oferta actual de Amen, 150 Gb de disco duro, 2 Gb de Ram y una distribución de Fedora Linux junto a uno de esos imagino “males necesarios” que son los paneles de administración vía web, (tema del que hablé), en este caso Direct Admin.

Esto sucedió un Viernes, me llega un mail de mi colega “Dabo, el servidor ha petado, me dicen que hay muchos errores en el disco los de Amen y que me ponen el servidor en modo recuperación”, ellos lo llaman “Recovery mode” que no es otra cosa que un arranque de la maquina en cuestión vía un Live CD de Ubuntu en este caso (que supongo será una imagen vía red que tendrán preparada).

Más datos sobre el detalle del recovery mode famoso, una salida del comando uname -a (con -r da menos info);

root@wpc:~# uname -a

Linux wpc___.amenworld.com 2.6.24.2-live #1 SMP Tue Apr 22 16:13:55 UTC 2008 i686 GNU/Linux

Para saber la versión exacta del S.O, suelo usar “lsb”, concretamente lsb_release -a (hay otras formas);

root@wpc:~#  lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 8.04
Release:        8.04
Codename:       hardy

Viernes noche / Sábado, bien, a partir de ahí entro vía SSH al servidor en modo “rescate” y veo como efectivamente la salida del comando fsck (usadlo sólo sin estar montadas las unidades) reporta un montón de errores en el disco, había un sistema Raid por software con una forma de petar muy extraña pero eso es otra historia.

Previamente había estado haciendo algunas que otras comprobaciones con la ayuda de mi colega “AJ”, al final después de unos cuantos reinicios en “modo normal” desde el panel web de Amen a ver si arrancaba el sistema y viendo que no había forma de poder ya levantar todo normalmente  y que ni conectaba vía SSH, ya descarté seguir en esa máquina y la prioridad para mi fue recuperar todo el contenido de /home (donde estaban las webs) y de /var/lib/mysql, donde estaban las bases de datos en el momento de petar…

Como sabéis, el comando fsck que tiene varios parámetros para ejecutarse, una vez que hace las comprobaciones de disco, envía los archivos recuperados al directorio “Lost+Found”, había muchos material para recuperar en este caso, una vez finalizadas todas las operaciones en el disco, vía rsync hubo que colocarlos en su lugar original, para después, dejar montada una partición de disco con /home y /var con todo el contenido original con la idea de enviarlo después vía rsync al nuevo servidor…

Esta parte de la recuperación la resumo mucho porque llevó unas 5 o 6 horas recuperando, reiniciando, desmontando y montando unidades, Raids y la madre que le parió al disco duro… (se haría muy largo el post, os lo aseguro).

A todo esto ¿Qué le decía a su cliente o más bien hacía Amen? nada de nada, Viernes tarde y claro, como para ponerse con un “pancho” como este…toma soporte 24 x 7 x 365 (otra cosa como veis de la que ya escribí) y ojo, no cobran mal no, unos 50 eur la hora y no digamos lo que se gastó mi colega llamando a algún número 807…”Lo estamos mirando”.

Para colmo de la mala suerte, el cliente tenía contratado un servicio de backups para las bases de datos hacia otra máquina que falló, el problema es que no es ni mucho menos seguro que funcionen las bases de datos en un caso de “petazo” volviendo a poner las antiguas como estaban en el nuevo servidor, lo digo porque están como si fuera vía una “copia en caliente” o con el comando cp, no con un mysqldump que es lo suyo, pero se puede intentar hacer ese volcado en otro server o localmente y luego revertir el volcado y esperar a que funcione y si no chuta, a intentar reparar vía mysqlcheck o myisamchk las bases pero eso ya es otra historia…

¿Y dónde estaba Amen el Sábado y el Domingo? no sé, fuera de servicio (y de juego…)

Al final, llamaron el Lunes a las 10 am y llegaron a un acuerdo con mi colega para que le cambiaran a otro servidor más potente, un Core2 Duo y le dijeron que se ponían con la instalación del sistema…Le dieron varias opciones, todas con Plesk como panel de administración vía web y le aconsejé lógicamente que le metieran Debian GNU/Linux.

“Nos ponemos con la instalación”

Le llaman otra vez por teléfono;

“Sr cliente, hay un problema con el script de instalación, no podemos instalar Debian pero podemos ofrecerle Ubuntu o Fedora”

Me lo cuenta y yo alucino y le digo que a una mala meta Ubuntu pero que no transija fácilmente y que si tiene que esperar que lo hiciera. Después le llamaron y le dijeron que lo habían solventado…WTF !

Se tiran todo el Lunes out y el sistema sin instalar hasta el Martes, día en el que por fin quedó todo listo. Me manda el password del root, entro y zas !, la primera en la frente, el esquema de particiones brillando por su ausencia o más bien por su escasez…Todo montado en la raíz /. No les da la cabeza para meter en particiones diferentes el home, var (ya no digo /var/log y var/lib/mysql), /tmp o las webs /www pero es algo que no sólo lo hace Amen.

No os cuento nada de la configuracion por defecto del S.O, Apache o mysql…

No os enrollo más porque no acabaría dando detalles y más detalles ¿Cómo acabó la historia?, al final tuve suerte con la recuperación / restauración y más o menos todo está funcionando bajo Debian y Plesk 8 (El Plesk y estos paneles de administración vía web digo que son un “mal necesario” por la cantidad de porquería que meten en el sistema y como se medio apoderan de el, pero algo muy útil para usuarios que no sepan de sistemas) con algún tema que está dando guerra.

Viendo el resultado final, lo mínimo para lo que podía haber sido, todas las bases estan chutando y los 60 gigas de datos replicados al nuevo servidor. Quedan cosas por afinar, servicios por asegurar etc, pero de verdad, desde luego que no será porque Amen se ha molestado por su cliente...

De todos modos, en una ocasión ya opiné sobre los peligro de un servidor web dedicado mal administrado vía Plesk, Cpanel, DirectAdmin o similar sin meterte vía SSH a actualizar-monitorizar-optimizar el sistema. Lo siento por Amen, pero van dos y puede que alguno de vosotros haya pasado por lo mismo e imagino que te puede hacer de todo menos gracia.

Se me olvidaba, ese servidor para mi colega es su medio de trabajo...No se ha ido de Amen porque en Enero firmó un contrato hasta el mismo mes de 2.010. Está bien dar una segunda oportunidad a la gente, ya que como he dicho en el comienzo del post, no todo será malo pero creo que es bueno saber con lo que puedes contar llegado ese momento que por cierto, tarde o temprano, nos puede sobrevenir a todos.

Pero creo que lo peor fue en una situación como esta, no recibir una verdadera opinión – actuación profesional por parte de una empresa que se entiende y de hecho asi es, sabe de todo esto mucho más que yo.

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


feb 01 2008

SSH desde Windows usando PuTTY con pestañas, (PuTTY Connection Manager)

Category: Hacking | Redes,Soft | Novedades,Windowsdabo @ 10:24 pm

applications.gifAlguna vez tengo que conectarme a un host remoto mediante SSH y no tengo una línea de comandos Unix-GNU/Linux frente a mi, al igual que seguramente muchos de vosotros, uso PuTTY, el cliente SSH por excelencia para entornos Windows que también está portado a otras plataformas.

En esos momentos es cuando más echo de menos las pestañas de mi querida “Konsole” en Debian o “iTerm” en Mac OS X. Hasta ahora, mis sesiones remotas vía PuTTY eran un engorro porque si quería tener más de una sesión abierta, tenía que abrir múltiples ventanas, un rollo vaya.

Pues bien, vía LifeHacker me entero de la existencia de PuTTY Connection Manager, una aplicación que hace posible el uso de pestañas en PuTTY que tiene que estar instalado previamente en el sistema. Recomendable también el uso de PuTTY Tray para una mayor personalización de la ventana.

Technorati Tags: , , , , , , ,

Tags: , , ,


sep 05 2007

Servidores web en peligro administrados solamente vía Plesk o cPanel.

attention.gif

/ Edito y añado, Fenixer, empresa de alojamiento web se ha hecho eco de este post y mirad que clarito hablan, da gusto /.

Hace unos días, en otro post contestando a Aj, comenté que iba a hablar sobre el tema. Intentaré ser lo más objetivo posible y lo que aquí os diga, tomadlo únicamente como una opinión personal, fruto del uso de estas soluciones durante un tiempo, para acabar dejándolas de lado.

Quizás alguno piensa que el título o “titular” es un poco alarmista, pero os aseguro que igual me quedo corto viendo lo que se ve por ahí.

La cuestión es simple, imaginad un sitio web que tiene unas necesidades de expansión grandes y decide contratar un servidor dedicado. Dentro de los planes de alojamiento habituales, esta es la opción más potente y cara dicho sea de paso, una máquina enterita para ti, con toda su capacidad y también, con sus problemas…

Por debajo de esta opción, está el llamado “servidor virtual” donde te aseguran (es muy fácil decirlo) un mínimo de memoria RAM o CPU de la máquina que compartes (también acceso por ssh como root, etc, etc).

En una escala inferior, (la más común) se encuentra el típico alojamiento compartido, donde puedes llegar a convivir en el mismo servidor con otros cientos de webs, pero que tampoco necesariamente tiene que funcionar mal si está bien controlado.

Hasta aquí, creo que todos entienden más o menos las diferencias, ahora pasemos a hablar del porqué de mi afirmación de “servidores en peligro”.

En este caso, tengo que pasarle la mayor parte de la responsabilidad a los proveedores de alojamiento, no voy a acusarles de publicidad engañosa pero para ser políticamente correcto (que no lo suelo ser -;), lo dejaré en un “es un cuasi-engaño“.

El cliente, leyendo frases como esta, piensa que es como el nirvana aplicado a la web;

“Podrá usted mantener su sistema actualizado y siempre a punto de un modo totalmente gráfico y sin necesidad de aprender complicados comandos de administración remota”.

Y UNA MIERDA !! con perdón xD. Si alguno se piensa que con una solución tipo Plesk, cPanel, etc, va a administrar un servidor web que dios le pille confesado -;).

Algunos casos de las “bondades” de Plesk los podéis leer (por citar un caso) en Abansys sobre Plesk pero que nadie piense que esto no es algo generalizado, ellos no dicen nada que no digan los demás, sirva como digo únicamente a modo de ejemplo, este que os pongo es de una búsqueda rápida en Google.

Plesk utiliza el estandar en seguridad adoptado por los servidores UNIX (security model). Este modelo ha sido probado en cientos de miles de servidores UNIX de todo el muno y ha demos- trado su altisimo nivel de seguridad. Al mismo tiempo, Plesk ha sido desarrollado para preservar la flexibilidad de los administadores de sistemas UNIX que necesitan un total control sobre sus servidores..

No he visto a un Plesk activar y controlar la caché de MySQL, compilar Apache con un módulo determinado, parchear un Kernel o hacer rular DenyHosts, esto va por lo de “total control“…

Aquí algo de información sobre cPanel que es parecido a Plesk en la gestión y uso de las opciones con las que cuenta.

Vamos a ver, con un software como los que he citado (que hay más), tu puedes; crear cuentas de correo, administrar cuotas de disco, crear usuarios FTP, añadir dominios, reiniciar servicios, hacer backups, instalar algo de software, etc, etc. (Ver Demos al final del post).

Por supuesto nada que no se pueda realizar desde un línea de comandos Unix GNU/Linux. La ventaja del uso de alguna de estas soluciones es que accedes a través de una interfaz web donde, a golpe de ratón y de un modo muy sencillo, controlas varios aspectos del servidor web.

¿Qué es lo que no se dice? lo que no se dice es que puedes administrar PARTES de un servidor web con cPanel o Plesk, pero es imprescindible que además lo hagas del modo “tradicional”, linea de comandos ssh y teclear comandos y más comandos.

Leer el resto de;”Servidores web en peligro administrados solamente vía Plesk o cPanel.”

Tags: , , , , , , , , ,


oct 29 2006

Analizando intentos de ataque vía SSH y consejos para evitarlo.

Category: Hacking | Redes,Seguridad Informatica,Unix,Webmasterdabo @ 12:53 am

seguridad.gifViendo la lista de correo de Security Focus, me he encontrado con esta información muy interesante sobre el análisis de los intentos de ataque a SSH a un servidor.

En él artículo, Christian Seifert, da un repaso a las técnicas más efectivas para detectar y bloquear ataques a este medio de conexión remota entre ordenadores, si bien es más seguro que el clásico “Telnet” (los datos viajan bajo una capa de cifrado), como decía, es especialmente crítico para un servidor web.

También estaciones de trabajo en red o por ejemplo, yo entre mis dos ordenadores, conecto si estoy fuera de casa el portátil al fijo vía SSH para consultar lo que necesite.

Hace un tiempo os comenté lo útil que resultaba DenyHosts para bloquear esos intentos de login al SSH, como complemento, esta información viene muy bien porque habla del uso de “honeypots” para recopilar información sobre los ataques y su posterior análisis, apoyado también por otras herramientas de auditoría, análisis que el autor va desgranando de un modo muy claro e inteligible, recibe por cierto como unos 300 ataques al día…

También da consejos sobre como fortalecer SSH frente a ataques externos.

Acceso al árticulo original, en Inglés.

Lo he subido a Menéame, en este post, para compartirlo (sin autobombo ni adsense “code” Richardddd que te conozco-;).

Tags: , , ,


Página siguiente »