latch en linux (ubuntu): el cerrojo digital

22
LATCH en Linux (Ubuntu) LATCH, EL CERROJO DIGITAL Bilal Jebari

Upload: chema-alonso

Post on 16-Jul-2015

606 views

Category:

Technology


2 download

TRANSCRIPT

LATCH en Linux (Ubuntu)

LATCH, EL CERROJO DIGITAL

Bilal Jebari

Latch en Ubuntu Página 2 Bilal Jebari

Índice

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

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

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

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

Latch en Ubuntu Página 3 Bilal Jebari

Introduccio n

Este pequeño, micro, mini tutorial he decido redactarlo para que pueda servir de ayuda a otras

personas, ya que siempre la mejor forma de aprender es cacharreando.

Se trata que poner un segundo factor de autenticación para iniciar nuestras cuentas en Linux

(Ubuntu).

En Internet hay muchos tutoriales, incluso pueden ser mejores que este, he creído que puedes

servir de gran ayuda para personas que no tengas 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.

NOTA: Queda terminantemente prohibida la manipulación y distribución de este tutorial sin el

consentimiento previo del autor.

Latch en Ubuntu Página 4 Bilal Jebari

¿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 smartphones, 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.

Latch en Ubuntu Página 5 Bilal Jebari

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.

Latch en Ubuntu Página 6 Bilal Jebari

Desarrollo

Para instalar el sistema Latch es necesario usar gcc y make, además es necesarios

actualizar varias librerías de Linux, que son las siguientes: libpam0g-dev libcurl4-

openssl-dev libssl-dev.

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 ;)

El siguiente paso es instalar el gcc y make

“yo, ya los tengo instalados”

El siguiente paso es instalar las tres librerías necesarias para “Latchear” nuestro sistema.

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

Latch en Ubuntu Página 7 Bilal Jebari

En mi caso he preferido 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.

Una vez que hayamos instalado los tres podemos usar la siguiente orden y así verificar que se

han instalado los tres correctamente.

Es recomendable actualizar los paquetes. Para actualizarlos usaremos la siguiente orden:

sudo apt-get update

Latch en Ubuntu Página 8 Bilal Jebari

sudo apt-get upgrade

Latch en Ubuntu Página 9 Bilal Jebari

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: http://goo.gl/sNYyO1

Registro como Desarrolladores (hay una opción de suscripción Gratutita)

Después de activar nuestra cuenta, accedemos nuevamente y vamos a documentación y SDKs

Plugins y SDKs y bajarnos el archivo .zip necesario.

Aquí os dejo el enlace: http://goo.gl/Ck9bD8

Después de descargar el paquete lo extraemos y lo ubicamos en un sitio donde no nos moleste

o vaya a ser borrado accidentalmente “lo típico, borrar sin querer”

Latch en Ubuntu Página 10 Bilal Jebari

En este caso lo he descomprimido en una carpeta llamada latch que está en mi directorio

personal.

Nos situamos en el directorio de latch-plugin-unix-master

Ejecutamos el plugin de la aplicación con la siguiente orden:

./configure && make && sudo make install

Se está ejecutando la instalación

Latch en Ubuntu Página 11 Bilal Jebari

Después de la instalación se crea un archivo llamado pam_latch.so que se encuentra en la ruta

/usr/local/lib/ que tenemos que moverlo a nuestro directorio PAM de nuestro sistema

operativo en mi caso es /lib/security

NOTA: SI USAN OTRA VERSIÓN DEL SISTEMA PUEDE ESTAR EN:

"/lib/security/" "/lib64/security/" "/lib/[versión_del_sistema]/security/"

No vale con 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 con 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.

Latch en Ubuntu Página 12 Bilal Jebari

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 le damos los permisos 4755 a ambos archivos.

sudo chmod /usr/bin/latch

sudo chmod /usr/bin/latch-shell

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/

AVISO: ESTOS TRES FICHEROS CAMBIAN DE NOMBRE DEPENDIENDO DE LA INTERFAZ QUE

USAIS, EN MI CASO ES GDM Y LIGHTGDM.

Lo que se hará es simplemente añadir la siguiente línea 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.

Latch en Ubuntu Página 13 Bilal Jebari

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 se debe poner en el párrafo que 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

Los archivos los editamos con un editor de texto y aplicamos los cambios.

Latch en Ubuntu Página 14 Bilal Jebari

Bien ya tenemos una gran parte configurada, ahora tenemos que ir nuestra Área de

Desarrolladores de Latch y añadir una aplicación,

Ponemos un nombre a la aplicación y hacemos clic en Añadir la aplicación.

Latch en Ubuntu Página 15 Bilal Jebari

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

Latch en Ubuntu Página 16 Bilal Jebari

Después de obtener el ID y Secret Key, tenemos que agregarlos al fichero de latch.conf que se

encuentra en /etc/latch

El siguiente paso es instalar la aplicación Latch en Móvil para parear nuestro Servidor con

Latch.

La aplicación está disponible para Android, iOS, Windows Phone.

Latch en Ubuntu Página 17 Bilal Jebari

Aplicación en PlayStore Accedemos con nuestra cuenta

Ya estamos “logeados” Ahora debemos generar un nuevo código que

es el que vamos a poner en la orden para

parear nuestro sistema.

Latch en Ubuntu Página 18 Bilal Jebari

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 y se

debe poner en la orden, como se muestra

en la imagen más abajo.

Después de introducir la orden de la

imagen de abajo, me 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

Latch en Ubuntu Página 19 Bilal Jebari

He seguido ll mismo paso anterior (pareado) para añadir la cuenta de 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

Latch en Ubuntu Página 20 Bilal Jebari

Dese la aplicación Latch que tenemos instalada en el móvil, podemos hacer varias

configuraciones, como programación de bloqueo, notificación, 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

Latch en Ubuntu Página 21 Bilal Jebari

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

Latch en Ubuntu Página 22 Bilal Jebari

Al acceder, este es el mensaje que nos sale en el móvil. Preguntándonos si efectivamente

somos nosotros los que hemos accedido al Servidor con esa cuenta.

¡Et voilá! Ya está implementado el sistema Latch en nuestro servidor.

Autor: Bilal Jebari

Contacto: @bilal_jebari

Bibliografía: http://goo.gl/G0WrkJ

Imágenes: - Bilal Jebari

- El gigante buscador (no hace falta dar publicidad gratuita)

VISITA MI WEB: www.bilaljebari.tk