Un blog en el 2015

De mi lectura diaria, me encuentro con un artículo publicado en Blog de Aula CM con 50 pasos para hacer o crear una página web o blog en 2015 que, en primera instancia, me resultó fuera de época (tal vez por la aclaración ‘2015‘) y trajo a mi mente la aparente caída de popularidad de los blogs frente a otras opciones para escribir y compartir en Internet.

Yo mismo mantengo una cierta pluralidad de lugares de producción de contenido. Este blog es el orígen fundamental de lo que comparto, pero también tengo el wiki, mi twitter y un emergente canal de youtube.

Varios conocidos coinciden en que un blog es una forma perenne de compartir sus conocimientos y con varios de ellos mantenemos vivo el Agujero del Mate.

Tengo otros amigos que optan por publicaciones en Facebook o Linkedin.  Sin ánimo de desmerecer el aporte intelectual siento que sus artículos se pierden fácilmente en una avalancha artículos («post«) de «copiar y pegar» del resto de los participantes de la red social en cuestión.

Tal vez no mucha gente le dedique actualmente tiempo a los blogs y prefiera «copiar y pegar» (lo hago en la sección «lo leí por ahi«), pero sigo reivindicando el blog personal en el 2015 como una fuente de referencia seria que generar identidad y permite compartir rápidamente.

Google-Authenticator: doble validación para tus cajas Linux

google-authenticator Cuando accedemos a nuestros servidores Linux mediante login (consola) o secure shell (SSH remoto) nos validamos como forma normal de dar seguridad al acceso. Estos mecanismos pueden ser mejorados en los niveles de seguridad mediante configuraciones en /etc/security (login) o ajustes y certificados en SSH; pero la validación en dos pasos, con clave («lo que se«) y también con código de un-solo-uso («lo que tengo») vuelve el proceso de validación mucho más seguro.

En este artículo se describe cómo instalar en el servidor Linux la validación en dos pasos de Google para pedir el código único de acceso inmediatamente luego de validar la clave. Los pasos descriptos son para CentOS 7, pero conceptualmente son equivalentes a los que requiere Debian, donde también lo he instalado; así que vamos:

Requisitos previos

Se requieren los paquetes para compilar el módulo de PAM correspondiente. Una primer opción es instalar todo el ambiente de desarrollo:

yum group install "Development Tools"

O si, solo quieres lo mínimo necesario, deberían ser suficiente estos paquetes:

yum install git autoconf make gcc pam-devel

Fuentes de google-authenticator

Clonamos el repositorio git con la última versión del código:

git clone https://github.com/google/google-authenticator.git

Los fuentes también incluyen las aplicaciones para móviles, pero a nosotros no nos interesan ahora.

Compilación e instalación

Seguimos el documento de instalación dado por los desarrolladores, indicando solamente dónde queremos el módulo, para que lo tome automáticamente CentOS:

cd google-authenticator/libpam/
./bootstrap.sh
./configure --exec-prefix=/usr/lib64
make
make install

(solo ‘make install’ requiere privilegios de root, por lo que debería precederse de ‘sudo’, si corresponde)

Instalación en login

Agregar módulo PAM en archivo /etc/pam.d/login inmediatamente debajo de la linea del módulo ‘system-auth’, o como último módulo del tipo ‘auth’:

auth required pam_google_authenticator.so

Instalación en SSH

El módulo tiene que ser agregado en el archivo /etc/pam.d/sshd, también como último módulo del tipo ‘auth’:

auth required pam_google_authenticator.so

Además en el archivo de configuración del servidor SSH /etc/ssh/sshd_config habilitar:

ChallengeResponseAuthentication yes

para que siga el procedimiento de autenticación de PAM.

Reiniciar servidor sshd

systemctrl restart sshd

Configuración de usuarios

Cada usuario debe inicializar el sistema de códigos de un único uso y sincronizarlo con la aplicación de su celular y no es mi objetivo profunzar mucho en esto, pero el usuario ejecuta:

$ google-autenticator

y el sistema le hará unas preguntas de configuraciones de seguridad y generará un archivo .google_authenticator en el home del usuario. En ese archivo se incluyen también algunos códigos de emergencia y el código para iniciar la aplicación del móvil a calcular códigos.

Resultado

Y ya queda activo para ese usuario; aqui con login:

linuxbox login: rodolfo
Password:
Verification code:

Aquí con ssh:

$ ssh rodolfo@linuxbox
Password:
Verification code:
Last login: Wed May 6 17:10:16 CDT 2015 from r167-anteldata.net.uy on ssh:notty
Last login: Wed May 6 17:09:04 2015 from 167.60.140.132
[rodolfo@linuxbox ~]$

El sitio de XModulo tiene un buen conjunto de tutoriales sobre la instalación y configuración de google-authenticator y más información también está disponible buscando un poco.