Archivo para la categoría Encriptacion
Tu Linux Como caja Fuerte con EncFS
Publicado por danimanx en archlinux, Debian, EncFS, Encriptacion el marzo 4, 2009
En esta ocasión voy a tocar un tema muy importante en linux y otros sistemas op., la Seguridad y Vulnerabilidad de nuestros archivos. Hace algún tiempo atrás paso algo con respecto a la seguridad de nuestras identidades, eso si a una escala de país. Un tipo hace algún tiempo logro publicar una serie de bases de datos que fueron sustraídas desde distintas reparticiones públicas los listados del Registro Electoral, Mineduc, PSU, Dirección de Movilización Nacional y otros.
Y yo creo que a esto podría venir la pregunta. ¿Mis datos Personales que manejo en mi pendrive, o disco duro de la empresa o universidad están 100% a salvo?
La respuesta seria, no al 100%.
1)En las universidades y lugares de trabajo, casi siempre están trabajando en red compartiendo ficheros o cosas. Y la gran mayorías de datos, email, datos importantes de transacciones, Logs de conversaciones de msn, las cockies de firefox de las chicas que estuve viendo de facebook, etc. Están casi siempre a la vista de “Otras Personas”.
2)Ya en un caso mas extremo, en donde estemos trabajando directamente con un sistema Unix, y tengamos a un Root que es intruso, el podría llegar y ver todas las cosas con las que uno ah trabajo durante el día, como son las contraseñas guardadas en el navegador, o ver simplemente nuestros trabajos .doc.
Entonces a los problemas planteados antes, lo primero que se necesitaría seria algún tipo de programa en el cual se maneje algún tipo de clave encriptada y se pueda llevar a cualquier plataforma, ( ya sea windows, linux o mac). Y los segundo seria seguramente que ningún usuario con un grado de poder elevado como el Root o algún administrador de redes vean los documentos que estemos usando dentro de el sistema.
Para poder resolver este gran problema, esta EncFS en linux.
EncFS es un sistema de ficheros criptografico que usa FUSE para poder funcionar, pero encfs no es mas que un sistema de ficheros encriptados que trabaja con encriptaciones AERIS, ( de 256Bits), ósea que tus archivos los puedes dejar encriptados con hasta 15 caracteres de contraseñas.
Bueno, y sin mas preámbulos se procederá a la parte practica de esta guía.
Voy a ir explicando la instalación de EncFS paso a paso por algunas distros como, debian, arch y mandriva. Obviamente no voy a poder mostrar como es la instalación de EncFS en todas las distros, ya que nunca terminaría este manual, para aquello voy a proceder a hacer una sección de Instalación “Universal” de EncFS, compilando los archivos.
Instalando EncFS en Archlinux:
Para Archlinux tenemos el gestor de paquetes Pacman, así que solamente habría que instalar EncFS desde el repositorio.
Para ello, se tiene que hacer el siguiente comando:
$ sudo Pacman -S encfs
Y luego nos saldría las dependencias que se necesitan para instalar Encfs. Como mencione antes, para que pueda funcionar se necesita el modulo FUSE. En algunos linux FUSE viene por defecto desde el kernel 2.4.X – 2.6.X, en este caso no venia ;D.
Solamente habría que dar paso a poner la letra S y enter. Después de que baje los paquetes y los instale, es recomendable agregar a nuestra lista de Módulos en rc.conf el FUSE, de esta manera:
Ahora podemos proceder a reiniciar nuestro arch para que cargue el modulo de Fuse, o podemos nosotros mismo probarlo con el comando modprobe así:
$ sudo modprobe fuse
Instalando EncFS en Debian.
*Cabe mencionar que esta instalación en debian, también es valida para algunas distros basadas en esta misma ( k/x/ubuntu, linux mint, etc etc..)
La instalación en debian, es bastante simple y fácil, ya que se encuentra el gestor de paquetes aptittude, y en cuanto a el pro – requisito de EncFS en debian seria FUSE, este de manera automática al instalar Encfs lo incluye como co- dependencia.
Primero, hay que actualizar la lista de programas de nuestro debian, o algún linux basado en este como por ejemplo, U/k/x-buntu o LinuxMint por mencionar algunos.
$ Sudo apt-get update
Luego de eso, si es que existen programas a actualizar, habría que ejecutar el siguiente comando:
$ Sudo apt-get upgrade
Y si es necesario reiniciar el sistema.
Después de eso solamente quedaría instalar el sistema de EncFS, para lo cual se realiza el típico comando para instalar programas:
$ Sudo apt-get install encfs
En las dependencias podemos ver que incluye el modulo de fuse, así que después de que instale correctamente las dependencias y encfs, se tendría que agregar el usuario a grupo de fuse. Por ejemplo el comando seria así, (donde users es tu usuario a agregar)
$ Sudo adduser users fuse
(en la imagen agregue a mi usuario danimanx, ustedes tienen que reemplazar eso con el de ustedes)
Luego tendríamos que probar el modulo de fuse a mano con el siguiente comando:
$ Sudo modprobe fuse
Ahora, si es que se quiere agregar el modulo para que inicie cada vez que prendemos el pc, se tiene que agregar fuse en /etc/modules.
Eso seria todo con respecto a la instalación y configuración en debian.
Instalando EncFS en Mandriva.
En esta distro es súper fácil instalar encfs y fuse, ya que dispone de un gestor con entorno gráfico para buscar/instalar los programas.
Primero tenemos que irnos a
>Menú >Instalar y quitar software > Administración de software
Nos va a salir el programa que usa mandriva para instalar cosas:
Y buscamos el programa encfs, ponemos enter y luego le hacemos un click al programa cuando lo encuentre. Luego ponemos aplicar, y nos va a salir un cuadro como el de arriba que automáticamente va a instalar FUSE, por que es una dependencia de encfs.
Ponemos Aceptar y si no tenemos nuestro sistema actualizado, nos va a salir un cuadro como este:
Ponemos que si, y esperamos a que actualice y/o instale los programas antes mencionados.
Luego tenemos que darle los permisos correspondientes como root, de esta manera:
Ya con eso estaría instalado/configurado en mandriva.
Instalando EncFS de manera Universal.
Estos pasos que voy a ir explicando, están hechos para las personas que quieran aprender un poco mas acerca de como compilar, extraer e instalar programas desde la consola, sin los gestores gráficos de linux para agregar/instalar programas.
La idea es que de esta forma sirva para la gran mayoría de las distribuciones por igual.
Nota: EncFS necesita como dependencia estos programas
* FUSE
* rlog
* OpenSSL – versión 0.9.6
* boost
Lo primero que habría que hacer, seria ver si tenemos el modulo FUSE en nuestro linux, para ello procedemos a realizar el siguiente comando:
/sbin/modprobe fuse
Si no tenemos los privilegios suficientes para realizar esa acción ( ya que sbin, es la carpeta de el root para guardar sus binarios), procedemos a loguearnos como root y hacer la prueba.
También se puede hacer con el siguiente comando:
$ modprobe fuse
Si no poseemos el modulo fuse, nos va a dar error. En ese caso habría que Bajarlo e Instalarlo a mano.
Para ello, realizamos el siguiente comando:
$ mkdir temp
$ cd temp/
$ wget http://downloads.sourceforge.net/fuse/fuse-2.7.4.tar.gz
Luego tenemos que descomprimir el archivo, y proceder a instalarlo:
$ tar -xvzf fuse-2.7.4.tar.gz
$ cd fuse-2.7.4/
$ ./configure
$ make
$ sudo make install o como root # make install
Nos tendría que salir una imagen como esta:
*Nota, si en la parte de ./configure te dio un error como este:
Es que te falta instalar gcc, para ese caso tienes que averiguar como poder instalar gcc en tu distribución
Después de haber instalado fuse, vamos a comprobar que se encuentra en el sistema con el comando
sudo modprobe fuse
Si se encuentra instalado no nos tendría que dar error, pero si da error al levantar fuse, tienes que reinstalar otra vez fuse.
Ahora procedemos a bajar e instalar EncFS:
$ cd ~/temp
$ wget http://encfs.googlecode.com/files/encfs-1.5-2.tgz
$tar -xvzf encfs-1.5-2.tgz
Una vez que este descomprimido, nos situamos en el directorio:
$ cd encfs-1.5/
Y procedemos a leer las instrucciones de instalación:
$ more INSTALL
(este ultimo paso es importante, por que cada vez que ustedes bajen un programa para compilarlo, siempre, siempre, pero siempre tienen que leer el archivo install y readme, ya que hay sale los pasos para poder compilar el programa, o los pasos opcionales por si falla al compilarlo)
El archivo INSTALL tiene lo siguiente:
En resumen, este programa tiene un script para configurar automáticamente el programa, pero nosotros lo vamos a hacer de la manera tradicional 😉
./configure
Pero… ups a mi me dio error por que no encontró una librería:
La librería que no encontró fue boostlib, así que la vamos a bajar y compilar a mano
$ cd ~/temp
$ wget http://downloads.sourceforge.net/boost/boost_1_38_0.tar.gz
$ tar -xvzf boost_1_38_0.tar.gz
$ cd boost_1_38_0/
$ ./configure
$ make
$ sudo make install
Después de haber instalado la librería de boost, procedemos a configurar otra vez EncFS.
Pero nos dio error en el programa Openssl, así que vamos a instalarlo como lo hicimos con la librería de boost (tranquilos, algún día terminaremos 😉
$ cd ~/temp
$ wget http://www.openssl.org/source/openssl-0.9.8j.tar.gz
$ tar -xvzf openssl-0.9.8j.tar.gz
$ cd openssl-0.9.8j/
$ make
$ sudo make install
Después de instalar Openssl, procedemos con la instalación de encfs.
Por ultimo agregamos a nuestro usuario a el grupo fuse.
Sudo adduser users fuse
*donde users es tu usuario.
Usando EncFS como caja de seguridad para tus archivos en Linux
Ahora llegamos a la parte de esta guía en donde voy a mostrar como usar nuestro nuevo sistema de ficheros encriptados en linux.
Básicamente para encriptar datos, se necesitan crear 2 directorios. Uno de ellos va a albergar los datos encriptados mientras que la otra carpeta va a ser necesaria para poder Montar los datos encriptados de la primera carpeta.
Entonces, procedemos a crear el directorio en donde va a estar alojados nuestros datos encriptados:
$ mkdir .DatosEnc/
*Nota, se crea la carpeta al comienzo con un punto para que esta quede “oculta”.
Y creamos el otro directorio en donde va a ser montado nuestros datos.
$ mkdir DatosDes/
Y ahora toca configurar por primera vez las carpetas para montarlas, desmontarlas y encriptar. Para ello se procede a realizar el comando:
$ encfs /ruta/exacta/del/archivo/.DatosEnc/ /ruta/exacta/del/archivo/DatosDes/
*Nota, se tiene que colocar la ruta absoluta en donde se encuentran nuestros 2 archivos.
Como en la imagen anterior Seleccionamos la opción “P”, la cual es para una autoconfiguracion de Encfs y la mas practica xD.
Luego nos va a preguntar la contraseña que le queramos dar a nuestros datos.
Ahora podemos comprobar si es que tenemos nuestros datos “montados”, con el comando:
$ df
Hay podemos ver en la imagen que tenemos montado nuestro ficheros a encriptar. Ya que sale el tipo de fichero encfs y la ruta correspondiente en “Donde hay que trabajar” para guardar los archivos.
Nos vamos a la carpeta en donde vamos a trabajar:
$ cd /home/user/DatosDes
Creamos cualquier archivo para comprobar si lo encripta.
$ echo «CualquierCosa» > dato.txt
Y comprobamos si lo creo:
$ ls -la
Ok, el archivo esta en la carpeta de trabajo, pero y que estará pasando en la carpeta en donde se tienen que encriptar los archivos?
Para ello hacemos un:
$ ls -la ~/.DatosEnc
Como podemos ver en la imagen de arriba, los archivos están encriptados y no son visibles.
Una vez que queramos desmontar nuestra carpeta virtual, se tiene que realizar el siguiente comando:
$ fusermount -u ~/DatosDes
Y hacemos un $ df para comprobar que la carpeta fue desmontada.