El sáb, 28-02-2009 a las 07:41 +0100, Javier escribió:
> Quiero compartir este pequeño tutorial. Si alguien lo quiere subir a un
> web, simplemente que ponga mi nombre y email.
> 
> Veamos como podemos encriptar el /home en un sistema Debian (en realidad
> se aplicaría casi igual a cualquier sistema Linux):
> 
> Mucha gente piensa que encriptar es una cosa que no necesitan. Si
> piensan eso, es porque no se les ha dado una de estas situaciones:
> 
> 1.- No le han robado nunca el ordenador (especialmente si es portátil)
> 2.- No tiene ningún dato sensible en su directorio, por ejemplo,
> imágenes comprometidas, passwords, documentos de word, paranoias que dan
> por escribir, o cosas que en manos de según quien caigan, puedan
> resultar vergonzosas para uno o para otros, recibos del banco, tarjetas
> de crédito...
> 3.- No trabaja en algún sitio donde es importante la confidencialidad de
> su trabajo. Por ejemplo, de programador para una compañia que valora la
> seguridad.
> 
> Si no se te dan ninguna de esas circunstancias... enhorabuena, eres de
> los pocos. :) La mayoría de la gente tiene como poco algo importante que
> no es conveniente dejar al descubierto. Incluso en la caché del
> navegador o en el lector de correo se puede encontrar algo sensitivo.
> Por ejemplo si normalemente entras al correo con la opción de recordar
> la contraseña, si entras en la cuenta del banco de la misma manera, en
> los foros, páginas web, etc, el posible ladron de tu ordenador ¡¡¡la
> puede liar bien gorda!!!
> 
> No obstante, si el ordenador no es portátil y no está expuesto al
> público, es tontería y quizá un poco paranoico. Cada uno debe valorar si
> le merece la pena o no.
> 
> ¿Como puede protegerse?
> Hay dos formas, una más fácil que cubre solo aquello que es
> verdaderamente importante, dejando al descubierto el resto, y otra que
> es un poco más dificil, que es encriptar el home entero.
> 
> Modo gráfico sencillo
> ---------------------
> 
> La primera forma se hace instalando los programa Cryptkeeper y encfs.
> Ambos se encuentran en los repositorios de Debian.
> 
> Arrancando Cryptkeeper, que aparece en el menú
> Aplicaciones->Herramientas del sistema, aparece un icono con unas llaves
> en la barra.
> Tan solo hay que pulsar en ese icono y en New encripted folder, y seguir
> todos los pasos, y así creas una carpeta encriptada.
> El siguiente paso es igualmente fácil. Por ejemplo, imagina que quieres
> proteger la configuración del navegador, y el correo del Thunderbird,
> tan solo tienes que mover esos ficheros _dentro_ de la carpeta
> encriptada, y crear un enlace en _tu_ directorio. Puedes hacerlo en el
> Nautilus, o en la consola de la siguiente manera:
> 
> $ mv .mozilla* carpeta_encriptada/
> $ ln -s carpeta_encriptada/.mozilla .
> $ ln -s carpeta_encriptada/.mozilla-thunderbird .
> 
> Tienes que tener especial cuidado de montar la carpeta encriptada cada
> vez que vas a usar esos programas. Es muy fácil, solo tienes que pulsar
> el icono, y seleccionar la carpeta, y te preguntará por el password.
> Por supuesto, puedes hacer lo mismo con cualquier carpeta problemática.
> Por ejemplo, con Documentos, Imágenes, etc.
> 
> 
> Modo completo
> -------------
> 
> Si quieres encriptar tu home completo, es un poco más complicado, pero
> más seguro.
> Lo primero es crear la carpeta encriptada. De momento usamos nombres
> temporales. Siendo root, imagina que el usuario se llama javi:
> 
> # mkdir /home/.javi
> # mkdir /home/javi-temp
> # encfs /home/.javi /home/javi-temp
> 
> Con eso saldrá un asistente, que describe bastante bien los pasos, pero
> si aún quieres más información, en otra consola puedes abrir el clásico
> "man encfs", o bien instalar el paquete dwww, y apuntar a
> http://localhost/cgi-bin/dwww?search=encfs con el navegador (muy
> recomendable)
> 
> Asegúrate de usar un password laaaaargo que puedas recordar, pero que no
> sea especialmente fácil. Yo uso uno de 40 caracteres que es casi
> aleatorio. Me cuesta unos segundos meterlo, pero no importa tanto porque
> sirve para todo el dia y es realmente seguro.
> Si metes un password de 5 caracteres es casi como si no metieras nada.
> Por fuerza bruta hasta un ordenador corriente lo rompería.
> 
> A continuación hay que salir de la cuenta, y quedarse en una consola:
> 
> # /etc/init.d/gdm stop
> 
> Y movemos todos los ficheros:
> 
> # mv /home/javi/.??* /home/javi-temp
> # mv /home/javi/* /home/javi-temp
> 
> El motivo del primer comando tiene truco. En Linux, ten cuidado de hacer
> algo como "mv .* donde_sea" porque entre los .* se incluye el directorio
> superior. Es decir, que intentas mover el /home dentro de un
> subdirectorio de /home, algo imposible, y devolverá error. Si alguna vez
> usas "rm -rf .*" espera meterte en un gran lio (borraras todo lo que
> contiene el directorio madre).
> 
> Puede llegar a tardar horas si tienes 200 gb.
> 
> Después solo hay que eliminar el directorio y cambiar de nombre el otro:
> 
> # fuserumount -u /home/javi-temp
> # rm -r /home/javi
> # mv /home/javi-temp /home/javi
> 
> y ya está, tu directorio encriptado.
> No obstante... aun hay un paso importante: es conveniente que pida la
> password al iniciar. Este password no es el mismo que el de tu usuario,
> normalmente será mucho más largo y por lo tanto es conveniente que lo
> pida una vez nada más cada vez que arrancas el ordenador. Por lo tanto
> creamos un servicio:
> 
> # gedit /etc/init.d/encfs
> 
> y pegamos esto (modificado a tu usuario) (nota:cuidado que algunas
> lineas pueden estar cortadas debido al lector de correos y puede darte
> errores, corrígelas):
> 
> -------8<--------8<---------8<--------
> #! /bin/sh
> 
> # PATH should only include /usr/* if it runs after the mountnfs.sh script
> PATH=/sbin:/usr/sbin:/bin:/usr/bin
> DESC="Description of the service"
> NAME=encfs
> DAEMON=/usr/bin/$NAME
> DAEMON_ARGS="--public /home/.javi /home/javi"
> PIDFILE=/var/run/$NAME.pid
> SCRIPTNAME=/etc/init.d/$NAME
> 
> # Exit if the package is not installed
> [ -x "$DAEMON" ] || exit 0
> 
> # Read configuration variable file if it is present
> [ -r /etc/default/$NAME ] && . /etc/default/$NAME
> 
> # Load the VERBOSE setting and other rcS variables
> . /lib/init/vars.sh
> 
> # Define LSB log_* functions.
> # Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
> . /lib/lsb/init-functions
> 
> #
> # Function that starts the daemon/service
> #
> do_start()
> {
>       # Return
>       #   0 if daemon has been started
>       #   1 if daemon was already running
>       #   2 if daemon could not be started
>       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON
> --test > /dev/null \
>               || return 1
>       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
>               $DAEMON_ARGS \
>               || return 2
>       # Add code here, if necessary, that waits for the process to be ready
>       # to handle requests from services started subsequently which depend
>       # on this one.  As a last resort, sleep for some time.
> }
> 
> #
> # Function that stops the daemon/service
> #
> do_stop()
> {
>       fusermount -u /home/javi
>       # Return
>       #   0 if daemon has been stopped
>       #   1 if daemon was already stopped
>       #   2 if daemon could not be stopped
>       #   other if a failure occurred
>       #start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile
> $PIDFILE --name $NAME
>       RETVAL="$?"
>       [ "$RETVAL" = 2 ] && return 2
>       # Many daemons don't delete their pidfiles when they exit.
>       rm -f $PIDFILE
>       return "$RETVAL"
> }
> 
> #
> # Function that sends a SIGHUP to the daemon/service
> #
> do_reload() {
>       #
>       # If the daemon can reload its configuration without
>       # restarting (for example, when it is sent a SIGHUP),
>       # then implement that here.
>       #
>       start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name 
> $NAME
>       return 0
> }
> 
> case "$1" in
>   start)
>       [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
>       do_start
>       case "$?" in
>               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
>               2)
>                       do_start # repite hasta que vaya bien
>                       [ "$VERBOSE" != no ] && log_end_msg 1 ;;
>       esac
>       ;;
>   stop)
>       [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
>       do_stop
>       case "$?" in
>               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
>               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
>       esac
>       ;;
>   #reload|force-reload)
>       #
>       # If do_reload() is not implemented then leave this commented out
>       # and leave 'force-reload' as an alias for 'restart'.
>       #
>       #log_daemon_msg "Reloading $DESC" "$NAME"
>       #do_reload
>       #log_end_msg $?
>       #;;
>   restart|force-reload)
>       #
>       # If the "reload" option is implemented then remove the
>       # 'force-reload' alias
>       #
>       log_daemon_msg "Restarting $DESC" "$NAME"
>       do_stop
>       case "$?" in
>         0|1)
>               do_start
>               case "$?" in
>                       0) log_end_msg 0 ;;
>                       1) log_end_msg 1 ;; # Old process is still running
>                       *) log_end_msg 1 ;; # Failed to start
>               esac
>               ;;
>         *)
>               # Failed to stop
>               log_end_msg 1
>               ;;
>       esac
>       ;;
>   *)
>       #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
>       echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
>       exit 3
>       ;;
> esac
> 
> :
> 
> ---------8<------------8<------------8<---------------
> 
> 
> podemos probar el servicio de la siguiente manera:
> 
> # /etc/init.d/encfs start
> 
> y probar que desmonta de la siguiente manera:
> 
> # /etc/init.d/encfs stop
> 
> Una vez comprobado que funciona ok, ya puedes reiniciar, o simplemente
> rearrancar el Gnome:
> 
> # /etc/init.d/gdm start
> 
> Y listo. Espero que os haya servidor, y si detectais un error o una
> mejora, dejar comentarios.
> 
> Saludos.
> 
> 

Se agradece... buenisimo  

-- 
Carlos Lazo B.
Linux User 446689
http://www.carloslazo.cl.kz

"El hecho de que tengas un trabajo es algo
normal; el hecho de que seas bueno en tu trabajo es algo destacable"



-- 
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Responder a