22
LATCH en Linux (Ubuntu) LATCH, el pestillo digital Bilal Jebari www.bilaljebari.tk

Latch, el pestillo digital

Embed Size (px)

Citation preview

Page 1: Latch, el pestillo digital

LATCH en Linux (Ubuntu) LATCH, el pestillo digital Bilal Jebari www.bilaljebari.tk

Page 2: Latch, el pestillo digital

BILAL JEBARI | www.bilaljebari.tk Página 2 de 2

Índice

Introducción .................................................................................................................................. 3

¿Qué es Latch? .............................................................................................................................. 4

Consideraciones Previas ................................................................................................................ 5

Desarrollo ...................................................................................................................................... 6

Page 3: Latch, el pestillo digital

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.

Page 4: Latch, el pestillo digital

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.

Page 5: Latch, el pestillo digital

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.

Page 6: Latch, el pestillo digital

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

Page 7: Latch, el pestillo digital

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.

Page 8: Latch, el pestillo digital

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

Page 9: Latch, el pestillo digital

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”

Page 10: Latch, el pestillo digital

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.

Page 11: Latch, el pestillo digital

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”

Page 12: Latch, el pestillo digital

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

Page 13: Latch, el pestillo digital

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.

Page 14: Latch, el pestillo digital

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,

Page 15: Latch, el pestillo digital

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

Page 16: Latch, el pestillo digital

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”

Page 17: Latch, el pestillo digital

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.

Page 18: Latch, el pestillo digital

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

Page 19: Latch, el pestillo digital

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

Page 20: Latch, el pestillo digital

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

Page 21: Latch, el pestillo digital

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

Page 22: Latch, el pestillo digital

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