Upload
bilaljbr
View
20
Download
0
Embed Size (px)
Citation preview
LATCH en Linux (Ubuntu) LATCH, el pestillo digital Bilal Jebari www.bilaljebari.tk
BILAL JEBARI | www.bilaljebari.tk Página 2 de 2
Índice
Introducción .................................................................................................................................. 3
¿Qué es Latch? .............................................................................................................................. 4
Consideraciones Previas ................................................................................................................ 5
Desarrollo ...................................................................................................................................... 6
BILAL JEBARI | www.bilaljebari.tk Página 3 de 3
Introduccio n
Este tutorial ha sido redactado con el objetivo de ayudar a otras personas a implementar el
sistema Latch en el sistema Operativo Linux, concretamente en Ubuntu.
Se trata de poner un segundo factor de autenticación para iniciar nuestra sesión de usuario en
Ubuntu.
En Internet hay muchos tutoriales, incluso mejores que este. He creído que puede servir de
gran ayuda a personas que no tengan grandes conocimientos y que quieran cacharrear y
aprender cosas nuevas e interesantes que sirven para proteger nuestra identidad digital.
El sistema Latch tiene muchas funcionalidades, algunas son muy extensas y complejas, por eso
he decidido no incluirla en este documento hasta más adelante.
Recuerda en INTERNET nada ni nadie está protegido.
NOTA: Queda terminantemente prohibido la manipulación y/o distribución de este tutorial sin
el consentimiento escrito del autor.
BILAL JEBARI | www.bilaljebari.tk Página 4 de 4
¿Que es Latch?
Latch es un sistema que permite proteger el acceso a nuestras identidades
digitales ofreciendo una capa adicional de seguridad. Latch permite controlar el acceso a una
cuenta desde nuestros Smartphone. Podemos tener el acceso bloqueado a un determinado
servicio a través del terminal, y si intentamos iniciar sesión con el “pestillo” cerrado, aunque
introduzcamos correctamente la contraseña, no podremos entrar en la cuenta y nos avisará de
que han intentado iniciar sesión.
De esta forma, si un pirata informático se hace con nuestros credenciales, no podrá iniciar
sesión si tenemos el Latch denegando las conexiones. Los usuarios podrán vincular sus
cuentas de bancos, redes sociales, servidores SSH, servidores OpenVPN entre otros servicios
de forma fácil y rápida, a la hora de utilizarlos deberemos permitir la conexión a través de
nuestro smartphone.
El funcionamiento es similar a una autenticación en dos pasos, para iniciar sesión debemos
introducir algo que sabemos (usuario y contraseña) y también usar algo que tenemos (nuestro
smartphone con Latch), de hecho Latch permite la generación de un One Time Password
(OTP) para que además de introducir nuestros credenciales habituales, tengamos que
introducir la clave de un sólo uso que se ha generado específicamente por la aplicación. De
esta forma si alguien intenta acceder al servicio cuando el Latch esté abierto, le pida una clave
que él no tiene. Como característica adicional, es posible programar por intervalos de tiempo
el bloqueo automático de un servicio, perfecto mientras estamos durmiendo, y también ver en
detalle las estadísticas de usuarios o intentos de acceso desde el panel de control de
desarrollador.
En el siguiente esquema podéis ver cómo funciona Latch de forma muy simplificada.
BILAL JEBARI | www.bilaljebari.tk Página 5 de 5
Consideraciones Previas
En este tutorial voy a usar una Servidor que preparé en su día para la asignatura de
Servicios en Red. Se trata de una máquina virtual con Ubuntu 10.04 Desktop.
BILAL JEBARI | www.bilaljebari.tk Página 6 de 6
Desarrollo
Para instalar el sistema Latch es necesario usar gcc y make, además es necesario
actualizar varias: libpam0g-dev - libcurl4-openssl-dev - libssl-dev.
Es recomendable hacer el procedimiento como usuario “root”, pero en caso de que queramos
proteger nuestro usuario “normal” bastaría con ejecutar las órdenes como su, “sudo su”.
Las operaciones que voy a hacer a continuación, las haré como super usuario (sudo), aunque
como he comentado antes, en todas la ordenes he ido poniendo “sudo”, la costumbre ;)
En este caso voy a latchear mi usuario root, ya que tengo el servidor presta multitud de
servicios a usuarios clientes.
El siguiente paso es instalar el gcc y make
El siguiente paso es instalar las tres librerías necesarias para “Latchear” nuestra cuenta.
Con la orden siguiente podemos instalar las tres a la vez, o si lo prefieren pueden instalar uno
por uno.
sudo apt-get install libpam0g-dev libcurl4-openssl-dev libssl-dev
BILAL JEBARI | www.bilaljebari.tk Página 7 de 7
En este caso procedemos a instalar uno por uno y así asegurarme de su correcta instalación.
Lo más probable que el sistema os diga que no se han podido autenticar… lo instalamos de
todas formas.
Al instalar el siguiente paquete, nos volverá a saltar el mensaje de verificación. Le decimos que
sí.
Tercer paquete.
En versiones posteriores es muy probable que no salga en el mensaje de Error de
autenticación.
Una vez que hayamos instalado las tres librerías podemos usar la siguiente orden para verificar
su correcta instalación.
BILAL JEBARI | www.bilaljebari.tk Página 8 de 8
Una vez instaladas las tres librerías anteriores, procedemos a actualizar dichos paquetes. Para
actualizarlos usaremos la siguiente orden:
sudo apt-get update
sudo apt-get upgrade
BILAL JEBARI | www.bilaljebari.tk Página 9 de 9
Una vez que hayamos instalado el gcc, make, las librerías y actualizados los paquetes, el
siguiente paso es hacerse con la aplicación Latch.
Debemos crear una cuenta como Desarrolladores y bajarnos el archivo .zip.
Para ello vamos a la página oficial de Latch: https://latch.elevenpaths.com ó
http://goo.gl/sNYyO1
Nos desplazamos a “Área de Desarrolladores” y pinchamos en la pestaña “Registro como
Desarrolladores”, nos registramos como desarrolladores. En versión gratuita hay limites de
cuentas asociadas y “pareos”.
Después de activar nuestra cuenta, accedemos nuevamente y desplegamos la estaña
“Documentación y SDKs” Plugins y SDKs y descargamos el archivo .zip necesario.
Aquí os dejo el enlace: http://goo.gl/Ck9bD8
Después de descargar el paquete, lo extraemos en un sitio donde no nos moleste o vaya a ser
borrado accidentalmente “lo típico, borrar sin querer”
BILAL JEBARI | www.bilaljebari.tk Página 10 de 10
En este caso lo he descomprimido en una carpeta llamada latch que está en mi directorio
personal, [home].
Nos situamos en el directorio de latch-plugin-unix-master
Instalamos el plugin de Latch con la siguiente orden:
./configure && make && sudo make install
En este momento se está llevando a cabo la instalación.
BILAL JEBARI | www.bilaljebari.tk Página 11 de 11
Después de la instalación se crea un archivo llamado pam_latch.so que se encuentra en la ruta
/usr/local/lib/. Este archivo tenemos que moverlo a nuestro directorio PAM de nuestro sistema
operativo. El directorio, generalmente se encuentra en la carpeta ../lib/security, aunque
puede varían dependiendo de la versión de Ubuntu.
"../lib/security/" "../lib64/security/" "../lib/[versión_del_sistema]/security/"
No vale copiar/pegar o cortar/pegar. Se debe hacer desde la consola de comandos. Sería así:
sudo mv /usr/local/lib/pam_latch.so /lib/security/
Podemos verificar que se ha movido correctamente listando los archivos que hay en ese
directorio usando la orden: ls /lib/security/
Ahora también debemos mover dos archivos binarios, el ( latch y latch-shell ) que se
encuentran en /usr/local/bin. Debemos moverlos al directorio bin y darles los permisos 4755.
En versión 15.04, los archivos que tenemos que mover son el “latch” y “latch-ssh-cmd”
BILAL JEBARI | www.bilaljebari.tk Página 12 de 12
Se trata de hacer esto:
Movemos los dos archivos
sudo mv /usr/local/bin/latch /usr/bin/
sudo mv /usr/local/bin/latch-shell /usr/bin/
Ahora les damos los permisos 4755 a ambos archivos.
sudo chmod 4755 /usr/bin/latch
sudo chmod 4755 /usr/bin/latch-shell
En Ubuntu 15.04 los archivos son; “latch” y “latch-ssh-cmd”
El permiso 4755, pertenece a SUID y se usa en los directorios y archivos ejecutables
adquiriendo permisos del propietario.
755= rwx r-x r-x → UGO
BILAL JEBARI | www.bilaljebari.tk Página 13 de 13
Después de estos pasos, ahora vamos a proteger nuestro Login con Latch. Debemso modificar
tres ficheros que hacen referencia al Login, que son: lightdm-autologin, lightdm y login ó
gdm-autologin, gdm y login. Estos archivos se encuentran en /etc/pam.d/
NOTA: ESTOS TRES FICHEROS CAMBIAN DE NOMBRE DEPENDIENDO DE LA INTERFAZ QUE
TENGAMOS, EN MI CASO ES GDM Y LIGHTGDM.
Lo que se hará es simplemente añadir la siguiente línea (ver más adelante) justo después del
módulo PAM de autenticación.
Pero antes de proceder a modificar estos ficheros es muy aconsejable hacer una copia de los
mismos.
sudo cp /etc/pam.d/gdm /etc/pam.d/gdm.old
sudo cp /etc/pam.d/gdm-autologin /etc/pam.d/gdm-autologin.old
sudo cp /etc/pam.d/login /etc/pam.d/gdm-autologin.old
La línea de texto que se debe poner hace referencia al módulo PAM, y es la siguiente:
auth required pam_latch.so config=/etc/latch/latch.conf accounts=/etc/latch/latch.accounts
NOTA: Como he comentado antes, la ubicación de los archivos puede cambiar debido a la
versión de Ubuntu.
En Ubuntu 15.04 es: “usr/local/etc/latch/latch.conf” y “usr/local/etc/latch/latch.accounts”
Los archivos los editamos con un editor de texto y aplicamos los cambios.
BILAL JEBARI | www.bilaljebari.tk Página 14 de 14
En Ubuntu 15.04 es: “usr/local/etc/latch/latch.conf” y “usr/local/etc/latch/latch.accounts”
En Ubuntu 15.04 es: “usr/local/etc/latch/latch.conf” y “usr/local/etc/latch/latch.accounts”
En Ubuntu 15.04 es: “usr/local/etc/latch/latch.conf” y “usr/local/etc/latch/latch.accounts”
Bien ya tenemos una gran parte configurada, ahora tenemos que ir nuestra Área de
Desarrolladores de Latch y añadir una aplicación,
BILAL JEBARI | www.bilaljebari.tk Página 15 de 15
Ponemos un nombre a la aplicación y hacemos clic en Añadir la aplicación.
Después se nos facilita un ID de Aplicación y la clave Secret. Estos dos datos son necesarios
para configurar el archivo latch.conf
Guardamos los cambios
BILAL JEBARI | www.bilaljebari.tk Página 16 de 16
Después de obtener el ID y Secret Key, tenemos que agregarlos al fichero de latch.conf que se
encuentra en /etc/latch.conf
En Ubuntu 15.04 es: “usr/local/etc/latch/latch.conf”
BILAL JEBARI | www.bilaljebari.tk Página 17 de 17
El siguiente paso es instalar la aplicación Latch en Móvil para parear “Latchear” nuestro
Servidor con Latch.
La aplicación está disponible para Android, iOS y Windows Phone.
Aplicación en AppStore Accedemos con nuestra cuenta
Ya estamos “logeados” Ahora debemos generar un nuevo código que
es el que vamos a poner en la orden (más
adelante) para parear nuestro sistema.
BILAL JEBARI | www.bilaljebari.tk Página 18 de 18
Para parear nuestro cuenta en el Servidor con Latch usaremos la orden latch –p
“código_pareado” NOTA: SIN COMILLAS
Podemos parear tantos usuario como queramos, simplemente tenemos que estar logueados
con dicho usuario. En este caso lo he hecho con usuario “root”. Y en la imagen más abajo con
el usuario servidorbilal
Este es el código que me ha facilitado la
aplicación y se debe poner en la orden tal y
como se muestra en la imagen más abajo.
Después de introducir la orden de la
imagen de abajo, aparece un mensaje en
nuestro móvil de que se ha pareado con
éxito
Aquí podemos ver la orden y el resultado de pareado con éxito
BILAL JEBARI | www.bilaljebari.tk Página 19 de 19
Seguimos el mismo paso anterior (pareado) para añadir otra cuenta de usuario (servidorbilal).
Aquí podemos ver la orden y el resultado de pareado con éxito de la cuenta de servidorbilal
Para desparear la cuenta usaremos la orden latch -u
Para desparear la cuenta recordar que tenemos que estar logueados en la cuenta que
queremos desparear. En este caso la de servidorbilal
BILAL JEBARI | www.bilaljebari.tk Página 20 de 20
Desde el menú de configuración de la aplicación Latch, podemos hacer varias configuraciones,
como programación de bloqueo, desbloqueo, programación de bloqueo de acceso,
notificación de acceso autorizado, etc.
Para probar que hemos configurado e instalado todo correctamente procedemos a bloquear el
acceso a nuestro usuario desde la aplicación Latch.
Ahora mismo el acceso está bloqueado.
Escribimos la contraseña de forma correcta e intentamos acceder. Al haber bloqueado el
acceso, en el móvil nos salta un mensaje avisándonos de que alguien está intentando acceder
a nuestro servidor con ese usuario
BILAL JEBARI | www.bilaljebari.tk Página 21 de 21
Ahora cambiamos la configuración desde el móvil, configurándolo de tal manera que se nos
notifique cuando se acceda al Servidor.
Se hace marcando el check de “Notificar el acceso a servicios desbloqueados” desde el panel
de configuración de Latch
BILAL JEBARI | www.bilaljebari.tk Página 22 de 22
Al acceder, nos aparece en el móvil el mensaje que se muestra en la siguiente ilustración.
Preguntándonos si efectivamente somos nosotros los que hemos accedido al Servidor con esa
cuenta.
¡Et voilá! Ya está implementado el sistema Latch.
Autor: Bilal Jebari
Bibliografía: http://goo.gl/G0WrkJ
Imágenes: - Bilal Jebari
- El gigante buscador (no hace falta dar publicidad gratuita)
http://www.bilaljebari.tk
http://www.bilaljebari.blogspot.com.es