GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo configurar su dispositivo OTP con privacidad IDEA


por Nemo @ pixabay

En este instructivo, configuraremos un sistema que puede actuar como su propio dispositivo OTP personal, administrando todos los dispositivos de autenticación en su red. Luego puede configurar sus servicios para autenticarse en esta máquina. Es una buena idea usar algún mecanismo de virtualización. Si tiene algún hardware antiguo, esto es igual de bueno.

Instalaremos privacyIDEA en un sistema Ubuntu 14.04 LTS, que puede haber visto anteriormente aquí o aquí. ¡Pero esta vez lo haremos aún más suave y elegante!

Instalación base

Descargo de responsabilidad: Supongo que eres usuario root en este escenario. De lo contrario, debe agregar "sudo" delante de cada comando.

Entonces, primero instalamos un servidor ubuntu simple 14.04 LTS sin nada. Por favor, no instale ninguna base de datos o servidor web. Solo debe seleccionar openssh para ejecutar como un servicio en esta máquina.

Instalar privacidadIDEA

privacyIDEA 1.3.3 viene con un montón de nuevos paquetes de Debian en un repositorio de Launchpad, lo que hace que sea aún más fácil de configurar.

Primero necesitamos agregar el repositorio al sistema:

apt-get install software-properties-common
add-apt-repository ppa:privacyidea/privacyidea
apt-get update

Ahora que agregamos el repositorio de ideas de privacidad, puede echar un vistazo a lo que está disponible:

[email protected]:~# apt-cache search privacyidea
privacyidea:sistema de autenticación de dos factores, p. para dispositivos OTP
privacyideaadm - cliente de administración para privacyIDEA
privacyidea-radius - Módulo FreeRADIUS para privacyIDEA, autenticación OTP
privacyidea-all - sistema de autenticación de dos factores. Este es un metapaquete para instalar todo.
privacyidea-otrs:módulo OTRS para privacyIDEA, autenticación OTP
privacyidea-nginx:sistema de autenticación de dos factores. Este es un metapaquete para instalar privacyidea con nginx
privacyidea-appliance - sistema de autenticación de dos factores. Esta es una herramienta de configuración para configurar fácilmente el sistema.

Hay diferentes (meta) paquetes para diferentes escenarios. Como se mencionó, nos gustaría instalar una especie de "aparato". Así que hagámoslo:

apt-get install privacidadidea-dispositivo privacidadidea-radius

Esto instalará el servidor web Nginx, la base de datos MySQL, el servidor FreeRADIUS y privacyIDEA con todas las dependencias de Python.

Se le pedirá que ingrese una contraseña de root de MySQL. Elija uno bueno, ¡no lo necesitamos más tarde!;-)

Después de la instalación, estará listo para configurar su dispositivo.

Configure su dispositivo

Hay una herramienta para configurar todos los medios necesarios de su aparato. Inícielo en la línea de comandos como usuario root.

privacidadidea-configuración-tui


Esta es una herramienta de interfaz de usuario de texto basada en diálogo, que le permite realizar todas las tareas relevantes en el nivel del sistema operativo, como administrar sus administradores de tokens, configurar niveles de registro, regenerar claves de cifrado y firma, configurar el servicio web y el servicio RADIUS correctos y administrar sus clientes RADIUS.

Al menos necesitamos realizar las siguientes tareas:

  • cree al menos un administrador de tokens
  • crear la base de datos MySQL
  • crear un cliente RADIUS
Revise la herramienta para familiarizarse con lo que se puede hacer.

La herramienta se basa en la lógica del analizador para los archivos del cliente FreeRADIUS, los archivos ini de privacyIDEA y el archivo nginx. Por lo tanto, también puede editar los archivos en la línea de comando, los cambios se conservarán.

Nota: ¡La herramienta de configuración no conservará ningún comentario en los archivos si los edita manualmente!

Crea tu administrador de tokens

Para administrar sus administradores de tokens, vaya a privacyidea ? administrar administradores .

Allí puede elegir Agregar nuevo administrador .

Se le pedirá:

  • Un nombre de usuario, donde elijo admin y
  • la contraseña (¡dos veces!) que no se repite en la pantalla.
Después de eso, verá el nuevo administrador de tokens en la lista. Puedes repetir este paso tantas veces como quieras. Puede eliminar un administrador o cambiar la contraseña, eligiendo el administrador de la lista.


Ahora que creó su administrador (o administradores), puede presionar cancelar y cancelar y regresar al menú principal.

Crear la base de datos MySQL

También puede omitir este paso. privacyIDEA luego se ejecutaría con la base de datos SQLite en /var/lib/privacyidea/. Pero elegimos usar una base de datos MySQL en este escenario.

Así que ve a privacyIDEA ? base de datos ...


Allí puede elegir restablecer localmente , que creará la base de datos MySQL, creará un usuario y configurará las tablas de la base de datos.


¡Sí!


Finalmente verá la nueva configuración, utilizando la base de datos MySQL.

Crea tus clientes RADIUS


En el menú principal, elija FreeRADIUS ? configuración del cliente para administrar sus clientes RADIUS. El /etc/freeradius/clients.conf predeterminado viene con un cliente localhost, es por eso que ya ve un cliente en la lista.

Nota: No puede eliminar el último cliente, ¡así que creamos nuevos clientes!

Crearemos una red de clientes para hacer frente a todos los clientes posibles en su red y el localhost del cliente, para ejecutar pruebas contra el sistema. Así que elijo estos valores:debe adaptar la red en consecuencia:

  1. mired
      nombre:mired
      ip:172.16.200.0
      máscara de red:24
      secreto:topSecret4All
      nombre corto:vacío
  2. localhost
      nombre:localhost
      ip:127.0.0.1
      máscara de red:32
      secreto:topSecretOnce
      nombre corto:vacío

Elegimos Agregar nuevo cliente para crear el nuevo cliente "mynetwork" y los diálogos nos pedirán los valores anteriores. Por lo tanto, todos los clientes de la red 172.16.200.0/24 podrán emitir una solicitud RADIUS con el secreto RADIUS "topSecret4All".


El nombre de la configuración del cliente


La dirección IP


La máscara de red


El secreto compartido


El nombre abreviado se puede dejar en blanco

Puede seleccionar el cliente "localhost" y eliminarlo. Después de eso, puede crear un nuevo cliente "localhost" de acuerdo con la configuración anterior.

Terminó de configurar

Ahora ha terminado de configurar el sistema base. La herramienta de configuración debe darse cuenta de que cambia datos importantes y reinicia los servicios. Pero solo para estar seguro de que puede hacerlo manualmente:

reinicio de servicio uwsgi
reinicio de freeradius de servicio

Inscriba su token

Ahora puede inscribir sus dispositivos de autenticación, lo que se hace mediante la interfaz de usuario web de administración. Apunte su navegador a https://su-servidor, acepte la advertencia de certificado del certificado autofirmado y obtendrá la pantalla de inicio de sesión:

En esta pantalla de inicio de sesión, puede iniciar sesión como administrador de tokens. Todos los administradores de tokens que creó deben agregar "@admin" a su nombre para indicar que son administradores.

La interfaz de usuario web le brinda una vista de tokens, usuarios, políticas, máquinas y el registro de auditoría.

Conectar a la fuente del usuario

Como privacyIDEA no administra a los usuarios por sí misma, necesitamos leer a los usuarios de alguna fuente. Usaremos el archivo /etc/passwd.

Haga clic en configuración de privacidadIDEA ? resolutores de ID de usuario , haga clic en el botón Nuevo y seleccione Archivo sin formato .

Haz clic en guardar para guardar la definición de resolución con el nombre "local".

Nota: En cualquier momento, puede hacer clic en el signo de interrogación blanco en el círculo verde que lo llevará a la ayuda contextual en línea en otra ventana del navegador. De hecho, podría ser una buena idea leer algo sobre resolutores y reinos;-).

Cuando cierre la ventana de resolución, será llevado automáticamente a la ventana del reino o puede hacer clic en privacyIDEA Config ? reinos para crear un nuevo reino. En este cuadro de diálogo, debe hacer clic en Nuevo .

Ingrese el nombre del reino ("realm1") y seleccione el resolver ("local") y haga clic en Guardar .

Luego verá el nuevo reino en su lista de reinos.

Puede cerrar la ventana y hacer clic en la pestaña Vista de usuario .

Registrar un token para el usuario

En la parte inferior, puede buscar un usuario ingresando "r*" y haciendo clic en buscar botón. Verá el usuario raíz. Seleccione el usuario haciendo clic en él. El usuario será mencionado en la barra lateral izquierda como usuario seleccionado. Ahora puede hacer clic en el botón inscribirse en la barra lateral izquierda.

Luego se abrirá el cuadro de diálogo de registro. Elija el tipo de token "HMAC basado en eventos" y seleccione generar clave HMAC .

Haga clic en el botón Inscribirse . El servidor creará una clave secreta y generará un código QR que se puede escanear con la aplicación Google Authenticator. Esta aplicación Google Authenticator ahora funcionará como un dispositivo de autenticación.

Después de escanear el código QR, puede hacer clic en Aceptar y finalmente configure un PIN, una contraseña que solo usted conoce, para este mismo token.

Ahora tiene dos factores para autenticarse:el PIN y el valor OTP generado por su dispositivo de autenticación.

Prueba tu sistema

Ahora podemos verificar el sistema emitiendo una solicitud RADIUS a este dispositivo. Lo haré desde el propio sistema iniciando sesión como root a través de ssh con un comando como:

echo "Nombre de usuario=raíz, Contraseña=PIN+OTP" | radclient -s 127.0.0.1 auth topSecretOnce

La Contraseña siendo concatenado desde el PIN y el valor OTP y "topSecretOnce" siendo el secreto compartido para el localhost.

[email protected]:~# echo "User-Name=root, Password=test570391" | radclient -s 127.0.0.1 auth topSecretOnce
Recibió ID de respuesta 209, código 3, longitud =55
Reply-Message ="privacyIDEA servidor denegado acceso!"

Total de autorizaciones aprobadas:0
Total de autorizaciones denegadas:1
Total de autorizaciones perdidas:0

[email protected]:~# echo "User-Name=root, Password=test137634" | radclient -s 127.0.0.1 auth topSecretOnce
ID de respuesta recibida 180, código 2, longitud =48
Reply-Message ="privacyIDEA acceso concedido"

Autorizaciones totales aprobadas:1
Total de autorizaciones denegadas:0
Total de autorizaciones perdidas:0

Nota: Debido a un contador de inicio diferente en la aplicación y en el servidor, la primera autenticación fallará.

Ahora puede tomar todas sus aplicaciones habilitadas para RADIUS (Firewall, OpenVPN) y configurarlas para autenticarse contra privacyIDEA utilizando el secreto compartido definido anteriormente.

¡Feliz autenticación!


Linux
  1. Asegure sus contenedores con SELinux

  2. Solucione los problemas de su red con tcpdump

  3. ¿Cómo instalar y configurar Bind para configurar su servidor DNS?

  4. Cómo instalar Nextcloud con Docker en su servidor Linux

  5. Cómo instalar y configurar MERN Stack con Nginx en Ubuntu 20.04

Q4OS Linux revive su vieja computadora portátil con la apariencia de Windows

Cómo instalar Fedora en una configuración de arranque dual con Windows

Cómo configurar un cortafuegos con UFW en Linux

Cómo configurar el cortafuegos con Gufw en el escritorio de Linux

Lee tus cómics con OpenComic en Ubuntu 20.04

Configure el servidor de transmisión de audio personal con Koel en Ubuntu 20.04