Tutorial de Linux Pam

Tutorial de Linux Pam
Linux-Pam es una rica colección de módulos compartidos que autentican interactivamente a un usuario a los programas (o servicios) en un sistema de Linux. Linux-Pam es un acrónimo de módulos de autenticación conectables, que se desarrollaron a partir del diseño Unix-Pam. Combina numerosos módulos de autenticación de bajo nivel con una API de alto nivel para proporcionar autenticación dinámica para aplicaciones. A pesar del esquema de autenticación subyacente, esto permite a los desarrolladores crear aplicaciones que requieren autenticación. Linux-PAM (también conocido como "PAM") es frecuentemente compatible con las variantes contemporáneas de Linux.

Lo más crucial para que un administrador del sistema comprenda es cómo los archivos de configuración de PAM proporcionan el enlace entre servicios y PAM que realizan las actividades de autenticación reales. No necesitas comprender el funcionamiento interno de Pam. PAM podría alterar significativamente la seguridad de su sistema Linux. La configuración incorrecta puede prohibir el acceso total o parcialmente a su máquina.

Interfaces de Linux-Pam en Ubuntu 20.04

Cuatro grupos de gestión diferentes manejan las tareas de autenticación de PAM por separado. Cuando un usuario típico solicita un servicio restringido, estos grupos manejan varias partes de la solicitud:

  • Cuenta: Este módulo se utiliza para determinar si la cuenta suministrada es válida en las circunstancias actuales. Se verifican varios factores en esta categoría, incluida la expiración de la cuenta, la hora del día o si el usuario tiene autorización al servicio relevante.
  • Autenticación: En este módulo, la identidad del usuario se valida una vez que toda la información básica se ha verificado como precisa. La identidad del usuario se verifica al permitirles proporcionar un inicio de sesión o cualquier otro datos en particular que solo se les exige que sepa.
  • Contraseña: Se supone que el módulo de autenticación funciona en colaboración con este módulo, que ayuda al usuario a actualizar contraseñas. Ambas resonancias proporcionan la capacidad de hacer cumplir contraseñas seguras.
  • Sesión: Este módulo describe las actividades que deben tomarse al comienzo y al final de las sesiones, y no es el menos importante de los módulos los que componen el orden por el cual la estrategia de PAM general completa la tarea deseada. La sesión comienza cuando el individuo se ha autenticado con éxito.

Cómo validar un programa Linux-Pam en Ubuntu 20.04

Una aplicación o programa debe estar "consciente de PAM", o expresamente construido y compilado para usar PAM. Use el comando "LDD" para ver si se construyó un programa utilizando la biblioteca PAM para determinar si es "PAM-ADAE" o no. Cuando se ejecuta el comando "ldd /bin /su", el archivo "libpam.Entonces "se destaca en la segunda línea que admite la consulta. La validación se muestra en la captura de pantalla a continuación:

El directorio /etc /pam.d/ contiene la configuración de Linux-Pam. Vaya al directorio PAM ingresando el siguiente comando en el terminal de su sistema operativo Linux:

La instantánea anterior muestra que se puede examinar el contenido ingresando el comando "LS" dentro del directorio PAM. El servidor SSHD debe instalarse si no está en la lista como un servicio que implementa PAM. SSH, también conocido como Secure Shell, es una aplicación de red que cifra la transmisión de datos y permite que varios tipos y usuarios de la computadora se conecten de manera segura y remota a través de una red a varios sistemas. El siguiente comando adquiere el paquete OpenSSH-Server:

Luego puede volver a ingresar el directorio PAM, verificar los servicios y ver que se ha agregado el SSHD después de que haya terminado de instalar todos los archivos. El servicio SSHD se destaca en el "/etc/pam.directorio d ”.

Cómo configurar un programa Linux-Pam en Ubuntu 20.04

La llamada de cada módulo de PAM da como resultado el éxito o el fracaso. El resultado es manejado por PAM usando banderas de control. Los indicadores de control especifican la importancia relativa del éxito o el fracaso de cada módulo para el objetivo general de establecer la identidad del usuario con el servicio, y los módulos se pueden apilar en cierto orden. Hay cuatro banderas de control preconfiguradas disponibles:

  • Requerido: para que la autenticación avance, la respuesta del paquete debe tener éxito. El usuario no será alertado si el intento falla en esta etapa hasta que todos los paquetes prueben su uso de esa interfaz hayan terminado de ejecutar sus hallazgos.
  • Requisito: según los argumentos, si esto se rompe, todo lo demás también lo hará. PAM también será finalizado y se entregará un aviso de falla.
  • suficiente: si este módulo es exitoso y todos los módulos requeridos anteriores también tienen éxito, no se llaman más módulos requeridos.
  • Opcional: indica que el módulo no es esencial para si la solicitud de servicio del usuario es exitosa o no tiene éxito. Su valor solo se considera en ausencia de éxitos o errores concluyentes de módulos apilados anteriores o posteriores.
  • incluir: cuando se coincide el parámetro coincidente, cada línea en el archivo de configuración se recupera con este indicador de control.

Simplemente escriba el siguiente comando dentro del directorio PAM:

Como puede ver, el término Control-Flags, que hemos descrito anteriormente en el siguiente archivo PAM:

Se debe utilizar la siguiente guía general mientras escribe la configuración principal:

  • Servicio: el nombre real del programa
  • Tipo: interfaz/contexto/tipo de módulo
  • Control-Flag: Si el módulo no completa su tarea de autenticación, el indicador de control determina cómo se comportará el PAM-API
  • Módulo: El nombre de archivo de ruta absoluto o relativo de Pam
  • Argumento del módulo: Los parámetros del módulo son una lista de tokens que se pueden usar para afectar la funcionalidad del módulo

Si desea evitar que los usuarios de raíz se conecten a cualquier sistema a través de SSH, debe restringir el acceso al servicio SSHD. Además, el acceso a los servicios de inicio de sesión debe ser restringido.

Varios módulos limitan el acceso y los privilegios de subvención, pero podemos utilizar el módulo increíblemente adaptable y rico en funciones/lib/seguridad/PAM ListFile.entonces. Ir al /etc /pam.D/ Directorio, abra el archivo del servicio de destino y realice los cambios necesarios de la siguiente manera:

La siguiente regulación debe insertarse en el archivo:

Anteriormente, el tipo de módulo es Auth (o contexto). El indicador de control indica que a pesar de qué tan bien funcionan los otros módulos, si se utiliza el módulo, debe tener éxito o el resultado general será una falla. El PAM ListFile proporciona un medio para habilitar o negar los servicios basados ​​en cualquier archivo.Entonces módulo. onerr = Succeed es un argumento para el módulo. Elemento = usuario es un argumento del módulo que describe el contenido del archivo que debe verificarse. La opción Sense = Deny Module indica la acción que se tomará si el elemento se encuentra en el archivo. De lo contrario, se solicita el curso de acción opuesto. El archivo con un elemento por línea se especifica mediante el archivo de opción del módulo =/etc/ssh/deniedusers.

La raíz del nombre debe agregarse al archivo/etc/ssh/deniedusers después de que se haya creado:

Después de hacer los permisos necesarios, guarde las modificaciones y cierre el archivo:

Con la regla anterior en su lugar, se instruirá a PAM para verificar los usuarios/etc/ssh/negado y evitar que los usuarios listados usen el SSH y los servicios de inicio de sesión en el futuro.

Conclusión

Los programas que dependen de la autenticación pueden garantizar que solo las aplicaciones autorizadas se encuentren en un sistema operativo Linux debido a la robusta API de alto nivel conocida como PAM. Tiene mucha potencia, pero también es bastante difícil comprender y operar. Para aplicaciones y servicios que se ejecutan en Linux, PAM ofrece soporte de autenticación dinámica. El rendimiento de un módulo se puede evaluar utilizando cualquiera de los indicadores de control enumerados en este manual. PAM a menudo se usa en muchos sistemas seguros porque es más fácil de usar y confiable que el mecanismo de autenticación convencional de contraseña y nombre de usuario.