LinOTP - instalación y uso

Hola, quiero compartir mi experiencia con LinOTP y dar un ejemplo de autenticación fuerte usando LinOTP + FreeRADIUS y Wallix Bastion.





LinOTP es una plataforma de código abierto flexible de nivel empresarial para una autenticación sólida.





Wallix Bastion es una solución de gestión de acceso privilegiado (PAM).





Habré ya tiene algunos artículos sobre LinOTP - 1 , 2 . Aquí usamos nuevas versiones de SO y productos, y también revisamos la configuración de principio a fin, vamos.





Que usamos:





  • LinOTP 2.12.3





  • Debian 10 ( también compatible )





  • FreeRADIUS 3





  • Bastión de Wallix 8





  1. Agregue el repositorio linotp.org:





1. Instalación de LinOTP

Agregue el repositorio linotp.org:





echo 'deb http://www.linotp.org/apt/debian buster linotp linotp-deps' > /etc/apt/sources.list.d/linotp.list







Para verificar el paquete, importe la clave de firma del paquete:





apt-get install dirmngr







apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 913DFF12F86258E5







Instale la base de datos ( bases de datos compatibles ):





apt-get update







apt-get install mariadb-server







mysql_secure_installation







Finalmente, instale LinOTP:





apt-get install linotp







2. Integración con Active Directory

Puede comunicarse con el administrador web de LinOTP siguiendo el enlace: https: // <linotp_ip> / manage





Vaya a LinotpConfig -> UserIdResolvers y cree un nuevo UserIdResolver, eligiendo el tipo de LDAP :





Configuración de resolver-a
Configuración de resolver-a

Ahora debe agregar un dominio: asígnele un nombre y especifique el solucionador LDAP que acaba de crear.





UserIdResolver- «», LinOTP. Realm-e UserIdResolver- (multitenancy, ).





User View.





Usuarios sincronizados
C

3. LinOTP FreeRADIUS

FreeRADIUS :





apt-get install linotp-adminclient-cli python-ldap freeradius python-passlib python-bcrypt git libio-all-lwp-perl libconfig-file-perl libtry-tiny-perl







freeradius:





ln -s /etc/freeradius/3.0/sites-available /etc/freeradius/sites-available







ln -s /etc/freeradius/3.0/sites-enabled /etc/freeradius/sites-enabled







ln -s /etc/freeradius/3.0/clients.conf /etc/freeradius/clients.conf







ln -s /etc/freeradius/3.0/users /etc/freeradius/users







linotp-auth-freeradius-perl:





git clone https://github.com/LinOTP/linotp-auth-freeradius-perl.git







cd linotp-auth-freeradius-perl/







cp radius_linotp.pm /usr/share/linotp/radius_linotp.pm







:





nano /etc/freeradius/sites-enabled/linotp







server linotp {
listen {
  ipaddr = *
  port = 1812
  type = auth
}
listen {
  ipaddr = *
  port = 1813
  type = acct
}
authorize {
  preprocess
  update {
    &control:Auth-Type := Perl
  }
}
authenticate {
  Auth-Type Perl {
    perl
  }
}
accounting {
  unix
  }
}
      
      



sites-enabled linotp:





ls /etc/freeradius/sites-enabled







linotp







RADIUS-. Wallix Bastion:





nano /etc/freeradius/clients.conf







client Wallix {
  ipaddr = 192.168.10.10
  secret = your_secret
}
      
      



perl :





nano /etc/freeradius/users







DEFAULT Auth-type := perl
      
      



nano /etc/freeradius/3.0/mods-available/perl







perl {
 filename = /usr/share/linotp/radius_linotp.pm
 func_authenticate = authenticate
 func_authorize = authorize
 }
      
      



mods-enabled eap:





ln -s /etc/freeradius/3.0/mods-available/perl /etc/freeradius/3.0/mods-enabled/perl







rm /etc/freeradius/3.0/mods-enabled/eap







, Radius:





nano /etc/linotp2/rlm_perl.ini







URL=https://<Linotp_ip>/validate/simplecheck
REALM=realm1
RESCONF=resolver1
Debug=True
SSL_CHECK=False
      
      



4.

. LinOTP selfservice , .





LinOTPConfig > policies . TOTP, Google Authenticator, :





Configuración de políticas

- .





URL : https://<LINOTP_ip> https://<LINOTP_ip> /selfservice/login





5. Wallix Bastion

Wallix Bastion , -, .





Configuration> External authentication - RADIUS. Secret , freeRADIUS.





Autenticación externa en Wallix Bastion
Wallix Bastion

LDAP/AD domains ( , ) , LinOTP. Secondary authentication linotp . :





Wallix Bastion , LinOTP.





6. Troubleshoot.





Si algo no funciona, puede buscar errores:





Registros RADIUS:





/var/log/freeradius/radius.log







Registros de LinOTP:





/var/log/linotp/linotp.log







Puede verificar el token de la siguiente manera:





https://<yourlinotpserver>/validate/check?user=<login>&pass=<OTPvalue>








En lugar de salida

En este artículo, configuramos una plataforma local para el segundo factor de autenticación: LinOTP y la atornillamos a la solución Wallix Bastion con FreeRADIUS como conector.





Mi artículo está en inglés. - medio





Gracias por tu tiempo, espero que la información te haya sido útil.








All Articles