GNU/Linux >> Tutoriales Linux >  >> Linux

PAM por ejemplo:use authconfig para modificar PAM

Los módulos de autenticación conectables (PAM) existen en Linux desde hace mucho tiempo. El objetivo de PAM es centralizar la autenticación y los requisitos de autenticación para servicios y módulos.

En un artículo reciente que presentaba PAM, mencioné que muchos cambios de configuración se realizan utilizando otras utilidades. Una de esas utilidades es authconfig . Esta herramienta se usa con Red Hat Enterprise Linux, hasta RHEL7 inclusive. Las últimas versiones de Fedora y RHEL8 usan authselect en su lugar, aunque puede encontrar el authconfig utilidad en un modo de compatibilidad.

El authconfig La herramienta se creó para ayudar en la configuración del cliente para la autenticación centralizada. Los archivos PAM son solo una parte de esta configuración. Por ejemplo, usando authconfig para habilitar la autenticación Kerberos realiza cambios en /etc/nsswitch.conf y el archivo /etc/krb5.conf archivo además de agregar el pam_krb5 módulo al /etc/pam.d/{system,password}-auth archivos Ahora también es posible una configuración adicional de PAM con authconfig herramienta, como veremos en los ejemplos a continuación.

Tres interfaces authconfig

Al igual que muchas utilidades de configuración del sistema, la autenticación se puede configurar con una herramienta de interfaz gráfica de usuario (GUI), a través de una interfaz de texto interactivo (TUI) o en la línea de comandos. Veamos las tres opciones.

La herramienta gráfica la proporciona authconfig-gtk paquete. Esta utilidad tiene múltiples pestañas para organizar las opciones:

Se accede a la versión de texto interactivo ("TUI") con el authconfig-tui dominio. Usa la TAB tecla para mover campos y el SPACE barra para seleccionar o deseleccionar opciones:

Finalmente, está la herramienta de línea de comandos programable authconfig . Este comando también tiene muchas opciones que se describen con --help y en la opción man página.

Las versiones gráfica y de texto son interactivas, pero tienen opciones limitadas. Por ejemplo, puede habilitar la autenticación mediante un lector de huellas dactilares en las tres interfaces, pero solo la herramienta de línea de comandos tiene una opción para configurar pam_faillock módulo. Cambios en la seguridad de la contraseña usando pam_pwquality se realizan con la herramienta gráfica y la herramienta de línea de comandos, pero no con la interfaz de texto interactivo.

Primer ejemplo:habilitar el lector de huellas dactilares

Antes de llegar a los detalles del uso de las opciones de la línea de comandos, veamos los cambios realizados al habilitar el lector de huellas dactilares mediante authconfig-tui o authconfig-gtk :

[demo]$ grep fprintd /etc/pam.d/* # before enabling the fingerprint reader
/etc/pam.d/fingerprint-auth:auth        sufficient    pam_fprintd.so
/etc/pam.d/fingerprint-auth-ac:auth        sufficient    pam_fprintd.so

Con la opción deshabilitada, solo el fingerprint-auth El archivo contiene referencias al fprintd módulo. Después de habilitar la opción, se agregan nuevas líneas a /etc/pam.d/system-auth archivos:

[demo]$ grep fprintd /etc/pam.d/* # after enabling the fingerprint reader
/etc/pam.d/fingerprint-auth:auth        sufficient    pam_fprintd.so
/etc/pam.d/fingerprint-auth-ac:auth        sufficient    pam_fprintd.so
/etc/pam.d/system-auth:auth        sufficient    pam_fprintd.so
/etc/pam.d/system-auth-ac:auth        sufficient    pam_fprintd.so

Segundo ejemplo:configuración de pwquality

La herramienta gráfica también tiene Opciones de contraseña pestaña que controla el /etc/security/pwquality archivo:

[demo]# grep '^[^# ]' /etc/security/pwquality.conf # before changing a field

Este archivo tiene muchos comentarios útiles que muestran la sintaxis y los valores predeterminados. Después de cambiar uno de los campos, todas las opciones se establecen al final del archivo:

[demo]# grep '^[^# ]' /etc/security/pwquality.conf # after changing a field
minlen = 12
minclass = 2
maxrepeat = 0
maxclassrepeat = 0
lcredit = 0
ucredit = 0
dcredit = 0
ocredit = 0

Cambié la longitud requerida y el número requerido de clases de caracteres.

Utilice la herramienta CLI authconfig

Una de las cosas difíciles de recordar al usar authconfig en la línea de comandos es agregar --update opción. Hay un --test opción para verificar la sintaxis, un --update opción para actualizar el authconfig información y los archivos de configuración reales para las opciones especificadas, y un --updateall opción que restablece todos los archivos de configuración para que coincidan con authconfig ajustes. El --updateall La opción es una excelente manera de eliminar todos los cambios manuales que un administrador puede haber realizado en el sistema. Mi flujo de trabajo generalmente solo usa --update opción para cada cambio.

Si ejecuta authconfig comandos como un usuario normal, se le solicita una contraseña para escalar los privilegios antes de que se ejecuten los comandos. Esto es cierto incluso con --help consultas:

[demo]# authconfig --help
Usage: authconfig [options] {--update|--updateall|--test|--probe|--restorebackup <name>|--savebackup <name>|--restorelastbackup}

Options:
...omitted...
  --test                  do not update the configuration files, only print new settings
  --update, --kickstart   opposite of --test, update configuration files with changed settings
  --updateall             update all configuration files

Como se ve en las versiones GUI y TUI, la autenticación de huellas dactilares es un interruptor de encendido/apagado. Las opciones de la línea de comandos son:

[demo]# authconfig --help | grep finger
    --enablefingerprint     enable authentication with fingerprint readers by default
    --disablefingerprint    disable authentication with fingerprint readers by default

Y el comando para habilitar la función de huella digital es:

[demo]# authconfig --enablefingerprint --update

Las configuraciones de contraseña que están disponibles en la versión GUI pero no en la versión TUI también se pueden establecer en la línea de comandos.

[demo]# authconfig --help | grep passmin
  --passminlen=<number>          minimum length of a password
  --passminclass=<number>        minimum number of character classes in a password

Puede establecer varias opciones al mismo tiempo:

[demo]# authconfig --passminlen=12 --passminclass=2 --update

Dado que no todos los pwquality la configuración se puede realizar con todas las versiones de authconfig , es común usar una de las opciones de la línea de comandos, como --passminlen opción, para configurar inicialmente el /etc/security/pwquality expediente. La utilidad establece valores para todas las opciones en la parte inferior del archivo. Un administrador puede editar manualmente cualquiera de esos campos fácilmente con un sed o mediante el comando lineinfile de Ansible módulo.

El faillock module es un ejemplo de un cambio en los archivos de configuración de PAM que solo está disponible con la versión de línea de comandos de authconfig . Este módulo cuenta los intentos de autenticación fallidos por usuario durante un intervalo específico y bloquea la cuenta si hay demasiadas autenticaciones fallidas consecutivas.

[demo]# authconfig --help | grep fail
  --enablefaillock           enable account locking in case of too many consecutive authentication failures
  --disablefaillock          disable account locking on too many consecutive authentication failures
  --faillockargs=<options>   the pam_faillock module options

El faillock El módulo también es un poco diferente. Hay opciones para habilitar y deshabilitar, pero también hay una opción para pasar argumentos. El umbral de conteo se puede ajustar, al igual que la duración del intervalo y el tiempo de espera de desbloqueo. También puede elegir si el módulo se aplica solo a usuarios comunes o también a la cuenta raíz. La página man para pam_faillock muestra las opciones válidas y muestras de la línea final en el /etc/pam.d/* archivos Los --faillockargs opción para authconfig espera una cadena entre comillas de todas las opciones que configuró en los archivos PAM. Si lo deja desactivado, se utilizan las opciones predeterminadas del módulo.

Cuando está deshabilitado, no hay referencias a pam_faillock módulo. Sin embargo, si grep por solo fallar es posible que vea el pam_faildelay módulo:

[demo]# grep faillock /etc/pam.d/* # before enabling the faillock module

Asegúrese de citar el faillock argumentos si incluye esa opción:

[demo]# authconfig --enablefaillock --faillockargs='deny=4 unlock_time=300' --update

Después de habilitar el módulo, se agregan varias líneas a varios /etc/pam.d/*auth archivos.

¿Qué pasa con las ediciones manuales de los archivos PAM?

Durante la exploración de archivos PAM modificados por authconfig , puede notar que varios archivos en /etc/pam.d directorio tiene un comentario en la parte superior sobre las ediciones manuales que la utilidad sobrescribe. La utilidad se ha ampliado para cubrir muchas de las funciones estándar de PAM, pero a veces es necesario realizar cambios manuales. Si realiza cambios manuales, debe deshabilitar los cambios directamente desde authconfig .

Hay un artículo de la base de conocimiento y una publicación de blog de servicios que proporcionan pasos para las ediciones manuales. También puede encontrar ejercicios de capacitación formales para cambios manuales y profundizar en varios módulos específicos asistiendo al curso Red Hat Security:Linux in Physical, Virtual, and Cloud (RH415).

Después de todo eso, ¿es una herramienta obsoleta?

El authconfig Las utilidades se crearon originalmente para ayudar a configurar diferentes tipos de autenticación centralizada. Durante muchos años, se ha expandido para manejar también otras configuraciones de PAM. En los sistemas actuales, la mayor parte de la autenticación centralizada ahora se configura a través de ipa-client-install o realmd , los cuales esperan el sssd y el pam_sss módulos. El authselect utilidad reemplaza authconfig en versiones recientes de Fedora y se introdujo en Red Hat Enterprise Linux con la versión 8. Esta nueva herramienta administra configuraciones a través de perfiles y ya no edita todos los diferentes archivos de configuración centralizados. El foco está en /etc/nsswitch.conf y los archivos de configuración de PAM. Tiene muchas opciones similares para habilitar y deshabilitar funciones como lectores de huellas dactilares, tarjetas inteligentes y faillock. módulo. Puede obtener más información sobre la migración con man authselect-migration .

[ Descarga gratuita:hoja de referencia de comandos avanzados de Linux. ]


Linux
  1. Cómo usar la herramienta Dominios de cPanel

  2. ¿Cómo utilizar la herramienta de actualización de RedHat para actualizar CentOS de 6.x a CentOS 7?

  3. ¿Usar expansión de parámetros para modificar la salida de otra expansión?

  4. Cómo instalar y usar la herramienta de línea de comandos Mosh Linux

  5. Tutorial de GPROF:cómo usar la herramienta de creación de perfiles GCC GNU de Linux

Cómo usar la herramienta MySQL Optimize

Cómo utilizar la herramienta de gestión de proyectos ONLYOFFICE

Cómo instalar y usar la herramienta de monitoreo de recursos Bpytop en Ubuntu 20.04

Cómo usar execl (ejemplo incluido)

Personalice Okular para modificar las propiedades de la herramienta de resaltado

¿Herramienta de revisión gramatical para usar con LaTeX?