To put some content here, go to Site Admin -> Appearance/Presentation -> Widgets -> Select "Left Sidebar" -> Click "Show" -> Click on "Add" on one of the widgets on the left side -> Click "Save changes" -> Done

Backup seguro y gratuito.

Siguiendo con mi post sobre servidores, una parte fundamental es la parte de backup, ya que siempre es importante estar preparados los desastres. Lo importante de los backups es la redundancia, y la seguridad. Nadie mas que nosotros tiene que poder ver nuestros backups.

Anteriormente mencione que Amazon S3 es una solución barata, muchas veces barata no es suficiente (especialmente si pagas a Amazon S3 una fortuna por otros sitios). Luego de pensar, y pensar en un medio de almacenamiento mas o menos seguro y gratis de ser posible, se ocurrió que tengo bastante espacio ocioso en mi gmail (65% para ser exacto). La única limitación es que el backup generado tiene que ser menor de 20MB. El único problema que ahora surge es que Google podría leer nuestros backups y ahí obtener valiosa información sobre nuestro sitio web, base de dato u otra cosa que este contenida en el backup,

Para solucionar ese problema podríamos usar encriptación, de manera que nadie pueda ver el contenido del archivo sin una clave.

Aqui les presento el script que yo utilizo para hacer los backups de mis servidores.

#!/bin/bash -x
MAIL=foobar@gmail.com #Obviamente, no solo funciona con @gmail.
SQL=/tmp/tables.sql
DATE=`date '+%F'`

# Password que es un MD5
# de un string que tiene la fecha,
# cada dia, tiene un password unico
echo "password con $DATE " > /tmp/foo
PASS=`md5sum /tmp/foo |  sed "s/ .*//g"`
rm /tmp/foo

# backup de mysql.
mysqldump -u root --all-databases | bzip2  | openssl des3 -salt -k $PASS | dd of=$SQL
# Ahora comprimimos
tar cfj  -  /www/foobar.com | openssl des3 -salt -k $PASS | dd of=foobar.com-$DATE.bin
# /etc
tar cfj - /etc/  | openssl des3 -salt -k $PASS | dd of=etc-$DATE.bin

# Ahora enviar los mails
echo  | mutt -s "[backup] $DATE foobar.com " $MAIL -a foobar.com-$DATE.bin
echo  | mutt -s "[backup] $DATE /etc" $MAIL -a etc-$DATE.bin
echo  | mutt -s "[backup] $DATE MySQL" $MAIL -a $SQL
rm $SQL

Para restaurar el backup simplemente hay que ejecutar el siguiente script. Lo importante es proveer siempre la clave correcta, que cambia para cada día (utiliza la fecha). Sin la clave es literalmente imposible que recuperemos el contenido, de ahi la importancia de no olvidar la clave.

#!/bin/bash -x

dd if=$1 |openssl des3 -d -k $3 | dd of=$2

Para restaurar el backup simplemente debe realizar lo siguiente:

$ restore archivo-encriptado archivo-salida-desencriptado clave

Si se preguntan cuan seguro es el encriptado?, pues la respuesta es suficiente para que yo ponga informacion real sobre una de mis tarjetas de creditos con algunos dolares (sobrantes del Google Summer of code) en un sitio de descarga para que la gente intente romper la seguridad. Si deseas intentar puedes bajarte de aqui.

Read more at Backup seguro y gratuito.

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>