Nivel del Documento

Porcentaje del documento

Básico

100%

Archivos adjuntos

PassReminder.sh

Enlaces relacionados

Introducción a Fedora Directory Server

Escritores

EdwindContreras

PassReminder

Introducción

Este script ayuda en funciones administrativas para las cuentas de un sistema de correo electrónico que usa como backend de datos Fedora Directory Server u otro servidor LDAP, ya que permite poder enviar un correo electrónico a cada usuario del directorio que tenga a punto la expiración de su cuenta, recordandole que debe cambiar su contraseña.

Propósito y Alcance

Actualmente la labor administrativa de los usuarios en el directorio se de dificultada debido al vencimiento progresivo de las cuentas de usuario, el directorio esta configurado para bloquear cuentas de usuario cada 60 días ( por defecto ) si dichos usuarios no han cambiado su contraseña en ese tiempo.

El directorio envía recordatorios de cercanía de expiración de cuenta, pero solo a los programas de login que son compatibles para recibir mensajes del directorio, como el servicio ssh, el plugin de autenticación de ldap de PAM, etc...

La ausencia de recordatorios de expiración ocasiona que cada cierto tiempo existan una gran cantidad de cuentas bloqueadas con la consecuente problemática ( sobre todo cuando son una gran cantidad ) de tener que extender el tiempo de vida de dichas cuentas.

La realización de este script permitirá automatizar la tarea de recordar a los usuarios y a su vez ahorrar horas/hombre en el mantenimiento del directorio, asi como tambien crear conciencia a nivel de usuario de la importancia de cambiar su contraseña regularmente por medidas de seguridad.

Al momento el script se encuentra plenamente funcional y tiene ya en pruebas al menos 3 meses en un ambiente rudo de producción sin haber presentando ningún tipo de falla.

Se esta considerando actualmente en hacer un upgrade al script para que tenga la funcionabilidad ( opcional ) de poder enviar la misma notificación que se envía vía correo electrónico, pero también usando jabber ( para aquellos entornos que tengan implementado un servidor jabber ), de esta manera se logra un mayor alcance en materia de notificaciones al llegar al usario de otra manera.

Programación del Script

El script fué programado enteramente usando el lenguaje BASH ( o BASH scripting ), lo que lo hace bastante portable a otros entornos y solo usa de dependencias a sendmail para enviar los correos y a las librerías cliente de ldap para hacer las buscadas en el directorio ( específicamente ldapsearch ) y el interprete de comando bash.

El script fué programado enteramente usando el lenguaje BASH ( o BASH scripting ), lo que lo hace bastante portable a otros entornos y solo usa de dependencias a sendmail para enviar los correos y a las librerías cliente de ldap para hacer las buscadas en el directorio ( específicamente ldapsearch ) y el interprete de comando bash.

El paquete en fedora que contiene estas librerías se llama ldap-clients

Instalación del script

Primero que todo descargue el script desde el siguiente link => PassReminder.sh

El script ha de ser instalado en un servidor que tenga acceso a enviar correos hacia el exterior o hacia tu servidor de correo local y al ldap para poder hacer consultas, instalarlo en el mismo servidor de correo es una opción, o en el mismo servidor ldap.

Puedes colocar el script en /usr/bin/ o en cualquier ubicación compatible con la variable de entorno PATH ( echo $PATH ):

/usr/bin/PassReminder.sh 

y hay que darle permisos de ejecución a dicho script para que pueda funcionar:

chmod u+x /usr/bin/PassReminder.sh

Para finalizar se debe activar la ejecución de dicho script en un crontab, para que este se ejecute automáticamente todos los días a las 7 a.m.

Para editar el crontab se usa este comando ( man 5 crontab ):

crontab -e

Y el contenido del archivo tiene:

# Búsquedas de passwords a punto de vencerse en el directorio
 0 7 * * *  /usr/bin/PassReminder.sh

Resolución de problemas / TroubleShooting

Revisar bien que los puertos de consulta del LDAP no estén bloqueados por un firewall, revisar que se pueden enviar correos usando sendmail desde la máquina en que se ejecuta el script, revisar que se este haciendo la consulta LDAP adecuadamente ( debuggear con ldapsearch manualmente ), revisar que se este ejecutando el demonio crond, etc ...

Autenticación/FedoraDirectoryServer/PassReminder (last edited 2007-11-14 18:36:15 by EdwindContreras)