Nueva serie, añadiendo un extra de seguridad a nuestro Linux

Una de las cosas que más han llamado la atención en el primer podcast de “Las terTUXlias de Llefi@net” ha sido lo que comento Marc acerca de las Yubikey’s, estas llaves son como un sistema de autenticación del tipo OTP, One Time Password por sus siglas en inglés, o traducido Contraseñas de Un Solo Uso.

Solo unas horas después de publicarse el audio algunas personas se han interesado por este método de autenticación y me ha hecho recordar una herramienta que use hace unos años. Esta utilidad permite convertir un pendrive normal y corriente en una mochila. Las mochilas eran una especie de “ladrón” para el puerto en serie o paralelo del ordenador, pero que además de su función obvia llevaban una contraseña fuerte en su interior. Determinados programas comprobaban esta contraseña para poder ser ejecutados. Pues esta aplicación permite hacer algo parecido.

Tras estas consultas, y recordar esto, se me ha ocurrido hacer una serie dedicada a la seguridad. No hablo de contraseñas, permisos, etc. Sino a implementar sistemas de OTP o TOTP similares a las Yubikey’s, la llave usb que voy a crear en esta entrada u otros sistemas como los de Doble Factor de Autenticación, sistemas de cifrado y en general sistemas que ayuden a proteger nuestra información.

Pero antes de continuar, me gustaría dejar muy claro lo siguiente: estas acciones y las herramientas que vamos a usar están diseñadas para agregar una capa de seguridad, con lo que cualquier error podría dejar nuestro equipo y/o la información que contiene inaccesible e irrecuperable. Te recomiendo que leas bien antes de empezar a ponerte a teclear. Y si tienes dudas investiga un poco más antes de hacer nada.

 

Usando un USB como sistema de autenticación

En la entrada de hoy vamos a crear un medio físico encargado de gestionar las credenciales de nuestro usuario. Podemos hacer 2 cosas. Una que sea un complemento a nuestra contraseña, es decir, que podamos usar la contraseña o el pendrive. O bien podemos hacer que sea un elemento requerido, es decir que sin ambos sistemas no se de acceso. Aquí ya lo dejo a vuestro criterio, solo cambia una palabra al final de todo el proceso.

Parece algo muy complejo, pero en realidad es bastante simple y solo necesitamos unos pocos minutos. Para poder hacer esto, necesitamos una herramienta de los sistemas GNU/Linux que se llama PAM. De nuevo con la siglas en inglés… Pluggable Authentication Modules, o en castellano Módulos de Autenticación Enchufables. Esto no significa que solo sirva para elementos físicos como los pendrives, sino que los módulos son ampliaciones (extras) enchuflables a la herramienta principal.

Bien, pues lo primero que tenemos que hacer es instalar el módulo de PAM que gestiona los usb, con lo que abrimos la consola, cambiamos a root (o usamos sudo) y ponemos en siguiente comando: apt-get install libpam-usb pamusb-tools (recuerda siempre actualizar los repositorios antes de cualquier instalación).

Si estas usando Debian 9 o Squeeze esta librería ya no está en los repositorios, con lo que el comando anterior no te servirá de nada. Lo más fácil (aunque no la mejor solución) es añadir temporalmente los repositorios de Debian 8 o Jessie a tu archivo de sources.list. Solo tienes que editar el archivo /etc/apt/sources.list y añadirle esta línea al final “deb http://ftp.fi.debian.org/debian/ jessie main contrib non-free”, haces apt-get update y ya puedes lanzar el comando anterior. Recuerda borrar la línea que acabas de poner en sources.list tras la instalación y volver a hacer un apt-get update. De lo contrario puedes tener problemas con las actualizaciones y las instalaciones de nuevos paquetes en el futuro.

Antes de continuar, una pequeña nota, este procedimiento no afecta a la información que tienes o al uso que le des al pendrive, ya que usa parámetros como el número de serie, fabricante, uuid, etc. Esto significa que podemos usarlo normalmente, y no afectará a lo que en el tengamos escrito. Además no se puede copiar usando un comando dd o similares, ya que el número de serie es único en cada pendrive.

Lo siguiente es configurar el equipo para que sea capaz de usar la memoria usb como una llave. Lo primero es seleccionar que pendrive queremos usar y pincharlo en el ordenador. Lanzamos pamusb-conf –add-device mi_llave, cambia lo de mi_llave por el nombre que quieras, es solo un identificativo. Si tienes varias memorias pinchadas en el ordenador, te dará la opción de elegir cual quieres usar, si solo hay una no te dará esa opción, así que elige y pulsa intro. Bien, con esto ya tenemos definido el pendrive que vamos a usar como llave. Ahora toca definir el usuario.

Lanzas el comando pamusb-conf –add-user usuario, de nuevo, cambia usuario por el usuario que quieres usar. Te mostrara una pantalla de confirmación, similar a la de antes, de nuevo das intro y listo. Ahora ya tenemos la llave configurada. Por defecto la herramienta se configura para usar uno de los dos métodos, es decir o usas la contraseña o usas la llave usb.

Particularmente, no te recomiendo que lo cambies, pero si quieres que la llave física sea un requisito para poder iniciar sesión, y necesites ambos (contraseña y llave), tenemos que editar el archivo nano /etc/pam.d/common-auth solo tenemos que hacer una modificación en esta línea “auth sufficient pam_usb.so” y cambiar sufficient por requisite. Si cambias esto tendrás que añadir a tu llave todos los usuarios que requieran acceso al sistema, eso incluye al root. Si no lo haces cuando intentes acceder con otro usuario (o root) no podrás hacerlo.

Con esto ya tienes una llave física que añade una capa extra de seguridad. Como has podido observar, en ningún momento no ha solicitado poner la contraseña, lo que significa que lo hace todo de manera automática.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies