Paso 1: Creación de la aplicación Latch
En primer lugar, como comentamos anteriormente, nos dirigimos al Developer Area del sitio web de Latch. En esta página disponemos de un menú a la izquierda con el cual debemos seleccionar "Mis aplicaciones". Desde esta vista podremos añadir una nueva aplicación.
Cuando vamos a crear la aplicación se muestra información sobre la misma. Los datos que debemos tener en cuenta son el ID de Aplicación y el Secreto. Además, hay más parámetros que pueden ser útiles para el desarrollador:
- Nombre. Este campo refleja el nombre de la aplicación con la que los usuarios finales la verán en su dispositivo móvil.
- Imagen. Icono que representa a la aplicación y que se verá en el dispositivo móvil.
- 2º Factor OTP (One-Time Password). Posibilita que el servicio esté protegido además por una contraseña, que se le enviaría al usuario final en el momento en que quisiera acceder al servicio.
- Bloqueo tras consulta. Posibilita que el servicio se bloquee automáticamente una vez que se ha accedido al mismo.
- Correo electrónico de contacto y teléfono de contacto. Cuando se produzca una notificación al usuario, estos datos serán mostrados.
- Operaciones. Se corresponde con cada una de las acciones incluidas en el servicio pero independientes entre sí, y que el desarrollador quiere proteger con Latch.
Paso 2: Instalación del plugin de Latch en OS X
Tras descargar el plugin abrimos una terminal en OS X y ejecutamos, sobre la carpeta descargada, la siguiente instrucción ./configure && make && sudo make install.
Tras la compilación, el módulo PAM de Latch, pam_latch.so, se instala en el sistema operativo en el directorio /usr/local/lib. Ahora debemos copiar, con permisos de administrador, la librería en el directorio /usr/lib/pam. Tras reubicar el módulo PAM, hay que mover el binario de Latch a /usr/bin y asegurarse de que los permisos del archivo son 755, mediante la instrucción sudo chmod 755 /usr/bin/latch.
Ahora tenemos que editar la configuración del servicio PAM, para ello vamos a la carpeta /etc/pam.d. Podemos editar los servicios que se encuentren dentro de la carpeta, en este caso vamos a editar el de autorización. Para editar, abrimos por ejemplo con nano y con permisos de administrador, y añadimos la siguiente línea en el fichero:
auth required pam_latch.so config=/etc/latch/latch.conf accounts=/etc/latch/latch.accounts operation=alias_de_operacion otp=yes|no.
Paso 3: Configurar el App_id y el Secret de la aplicación Latch
Por último debemos añadir el app_id y secret_key en el fichero latch.conf y también el ID de la operación login. En la siguiente imagen podemos ver cómo quedaría el fichero. Tras realizar esta acción tendremos integrado Latch en el login de tu sistema OS X.
Paso 4: Pareando nuestra cuenta de usuario Latch con el servicio de Lath para OS X
Para realizar el pareo, simplemente hay que solicitar el token de pareo en la aplicación del Latch en el móvil y ejecutar el binario de latch con la siguiente sintaxis:
latch -p token
Con la app del dispositivo móvil solicitamos crear un nuevo servicio y nos proporcionarán un nuevo token el cual debemos introducir como parámetro al binario. Cuando el usuario pone su Latch a su cuenta de OS X y éste intenta entrar se encontrará con la notificación de intento de acceso, cuando la contraseña se configure correctamente. Por cada operación configurada con el plugin de OS X podremos observar qué operación ha generado la notificación. En otras palabras, si tenemos configurado Latch en OS X para operaciones como sudo, su o conexiones a SSH.
Como se puede visualizar en la imagen junto al nombre que elegimos para nuestra aplicación Latch, en este caso Mac OS X, encontramos la operación que ha generado la notificación, en este caso el login. En la pantalla de login de OS X no nos proporcionará ningún mensaje de error y simplemente no se permitirá el acceso. En este caso, OS X no indica ningún error, simplemente sacude la caja de texto dónde se introduce la contraseña para indicar que no se puede acceder, mientras que como hemos visto antes recibimos la notificación en nuestra app móvil de Latch.
Paso 5: Configurar Latch para proteger operaciones su
De manera sencilla podemos añadir Latch, simplemente tenemos que añadir operaciones en nuestra cuenta de Developer Area y nuestra aplicación Mac OS X. Tal y como se puede visualizar en la imagen podemos añadir distintas operaciones, tenemos que tener claro que cuando bloquemos, activemos Latch, la aplicación todas las operaciones quedarán protegidas por Latch.
Para configurar Latch para OS X con la operación su, una vez que obtenemos el token de la operación abrimos el fichero de configuración de Latch, que se encuentra en la ruta /etc/latch/latch.conf. En este fichero debemos añadir en la sección de operaciones este valor junto al ID de la operación. En la imagen se puede ver como todas las operaciones que quisiéramos añadir también deberíamos pegarlas en este fichero.
Además, debemos recordar que su es un servicio PAM, por lo que debemos modificar en el fichero /etc/pam.d/su el contenido e indicar lo siguiente:
auth required pam_latch.so config=/etc/latch/latch.conf accounts=/etc/latch/latch.accounts operation=alias_de_operacion otp=yes|no.
Paso 6: Configurar Latch para proteger operaciones sudo
En el caso de sudo la operativa es idéntica. En primer lugar generar la operación en el Developer Area, añadir la operación al fichero de latch.conf y posteriormente en el servicio PAM de sudo, que se encuentra en /etc/pam.d/sudo añadir la línea:
auth required pam_latch.so config=/etc/latch/latch.conf accounts=/etc/latch/latch.accounts operation=alias_de_operacion otp=yes|no
El resultado se refleja en el dispositivo móvil dónde se puede observar la notificación instantánea dónde ver que alguien ha utilizado nuestra identidad. En este caso se puede ver fácilmente qué operación ha sido la que ha generado la notificación.
Paso 6: Configurar Latch para proteger conexiones SSH
Para disponer de Latch con nuestro servicio de SSH, lo primero que debemos realizar el configurar el servicio PAM de SSH. Para ello modificamos el fichero de SSH, que se encuentra en /etc/pam.d/sshd. Posteriormente debemos editar el fichero sshd_config, generalmente situado en el directorio /etc, y añadimos o modificamos los siguientes valores a las directivas:
- UsePAM yes
- ChallengeResponseAuthentication yes
- PasswordAuthentication no
¿Cómo protegemos las claves públicas/privadas?
- Mover, con permisos administrativos, el fichero latch-shell dónde se ubico el binario de latch, por ejemplo. Los permisos que debe tener el fichero latch-shell deberían ser 4755.
- Se debe modificar cada una de las claves que queramos proteger, añadiendo una instrucción que nos permita utilizar Latch antes de realizar la autenticación. Estas claves se encuentran, por defecto, en el fichero ~/.ssh/authorized_keys:
command="latch-shell -o alias_sshd_keys ssh-rsa clave alguien@host
En este caso el alias es el que se utilizará en la operación tanto en el Developer Area como en el fichero latch.conf. Si quisiéramos añadir más operaciones, en primer lugar las crearíamos en el Developer Area, para posteriormente añadir el ID en la sección Operations del fichero latch.conf. Realmente, podemos integrar Latch en diversas operaciones que realicemos desde nuestro OS X de manera sencilla.
Paso 7: ¿Qué ocurre si el sistema no tiene conectividad en Internet?
Por defecto el plugin está configurado para que, en caso de no disponer de conectividad, se pueda iniciar sesión sin contactar con Latch. Este es el comportamiento permisivo, pero el usuario pude configurar un comportamiento más restrictivo, el cual dice que si no se puede consultar el estado de Latch, no se podrá iniciar sesión.
¿Cómo se configura esto? En el fichero latch.conf, el cual se encuentra en /etc/latch, existe una directiva denominada action. Por defecto, el valor de la directiva es de open, pero si queremos que en caso de no existir conectividad el login u otra operación sea restrictiva por omisión, debemos cambiar el valor de la directiva a close.
Publicado en Seguridad Apple - Google+ - RSS - Eleven Paths
Continúar leyendo...