Archive for October, 2008

Contemplador: Monitorización WEB

¿ Qué es Contemplador ?
Contemplador es un simple y sencillo script que nos monitoriza que una página web se esté viendo correctamente.
¿ Por qué no monitorizar la conectivadad con el servidor en vez de una simple página web ? Al principio monitorizaba con un simple ping, pero a veces, por la carga de trabajo, o por un mal rotado de logs, apache o lighttpd morían, con lo que el ping seguía respondiendo pero las webs estaban caidas.
La mayoría de mis servidores son servidores webs, las páginas son lo mas importante. Monitorizando las webs, puedo monitorizar de una sola pasada, la conectividad con el servidor, que el servicio web y mysql estén corriendo y que la web esté funcionando.

Planificando tareas a determinada hora

El otro día me solicitaron un cambio en virtualhost que tenía que aplicarse un viernes a las 20.00.
Ya que es una hora muy mala y el cambio no tenía riesgo ninguno, pensé la forma de poder planificarlo y que se lanzase de manera desatendida.
Lo primero que me vino a la mente fue el cron, pero no está pensado para esto. Así que utilice el at.

Borrar archivos permanentemente y de manera segura

Estoy preparando un artículo sobre encriptación, uno de los pasos, una vez encriptado el archivo, es borrar el mismo. En este paso, me surgió una duda ¿ Es rm una forma segura de borrar un archivo que contiene información sensible ? Como os podéis imaginar la respuesta es no.
La forma de borrar un archivo cambia mucho dependiendo del sistema de archivos que utilicemos. Ext2, ntfs o fat se limitán a marcar el espacio como libre, mientras que ext3 lo sobreescribe con ceros.
No obstante, incluso habiendo sobreescrito la zona con ceros, es posible recuperar esos datos, de hecho, se han recuperado datos, cuyo área ha sido sobreescrita hasta 14 veces!
Como ya sabemos “nada es seguro”, no obstante, vamos a intentar ponerselo un poco mas difícil.

Nuevo paquete php5 corrige multiples vulnerabilidades

Aviso de seguridad del equipo de Debian: DSA 1647-1
Multiples vulnerabilidades han sido descubiertas en php. Los problemas descubiertos han sido:

CVE-2008-3658
Desbordamiento de buffer en la función imageloadfont, permite un DoS o ejecución de código a través de un archivo de fuente modificado.

CVE-2008-3659
Desbordamiento de buffer en la función memnstr permite un DoS o ejecución de codigo a través de un delimitador de parametros modificado a la función explode.

Nuevo paquete lighttpd corrige varios problemas

Aviso de seguridad del equipo debian DSA 1645-1

Varias vulnerabilidades locales/remotas han sido descubiertas en lighttpd.

Las vulnerabilidades son las siguientes:

CVE-2008-4298
Una fuga de memoria en la función http_request_parse podría ser usada por un atacante remoto para hacer a lighttpd consumir memoria y causar un DoS.

CVE-2008-4359
El manejo inconsistente de patrones URL, podría conducir a la revelación de recursos que un administrador del sistema no tuvo en cuenta cuando uso reescritura de urls (rewrite).

Crear 312 virtualhosts de golpe

Otro pequeño truco, esta vez relacionado con apache.
16 lineas con las que podremos crear 312 virtualhosts de golpe (o 10, o 100, o 1000..).


IP="10.0.0.1"
for dominio in `cat /tmp/dominios`
do
FILE="/etc/apache2/sites-available/$dominio"
echo "<VirtualHost $IP:80>" > $FILE
echo " ServerAdmin sysadmin@example.com" >> $FILE
echo " ServerAlias www.$dominio" >> $FILE
echo " ServerName $dominio" >> $FILE
echo " DocumentRoot /var/www/$dominio" >> $FILE
echo " CustomLog /var/log/apache2/$dominio.access.log combined" >> $FILE
echo " ErrorLog /var/log/apache2/$dominio.error.log" >> $FILE
echo "</VirtualHost>" >> $FILE
mkdir /var/www/$dominio && chown -R www-data:ftp /var/www/$dominio && chmod 770 /var/www/$dominio
a2ensite $dominio
done
/etc/init.d/apache2 reload

Buscar directorios que mas espacio ocupan

Inaguramos una nueva categoría llamada Trucos Linux, donde habrá artículos con pequeños trucos, que nos ayudarán en nuestra administración.

Este primer truco, es para averiguar donde se va el espacio utilizado de nuestro disco ¿ Son los logs ? ¿ Es la aplicación del usuario ? ¿ La cola de mensajes ? Etc…

find / -type d |xargs du -ms |sort -n
Esta secuencia de comandos, nos buscará todos los directorios que cuelgan de la raiz, calculará su tamaño y finalmente nos los ordenará en orden descendente (expresado en mb el resultado).