Roylan Suarez Reyes escribió:
>> On Tue, 07 Apr 2009 10:27:51 -0400
>> listas <[email protected]> wrote:
>>
>>> Hace ya un año investigue sobre ese asunto, pregunte creo que aqui y
>>> no se supo nada.
>>> veo que ya hay resultados y me gustaria por favor que si son
>>> concretos y alguien ya lo ha explotado y logrado el squid + mysql lo
>>> exponga o al menos lo que se haya logrado a ver si entre los
>>> interesados le damos un finnal feliz ;) , se que
>>> muchos aqui les interesaria y entre ellos yo, que en lo personal no
>>> lo he podido hacer jamas.
>>>
>> Bueno yo tengo un mysql_auth modificado y está funcionando y dando
>> servicios desde el 2004 más o menos.
>> El que envíe ahorita es hecho en python y es un reemplazo de mysql_auth.
> 
> Hola Yo utilizo otro metodo aca te lo pego, este tutorial esta hecho para
> FreeBSD pero tambien lo he probado en Debian y ubuntu solo que cambien
> algunas cositas(la forma de instalar, etc....).
> 
> PAM como mecanismo de autenticación centralizada.
> 
> Los programas que conceden accesos a usuarios en un sistema utilizan
> autenticación para verificar sus identidades.
> 
> Históricamente, cada programa tiene su forma particular de realizar la
> autenticación. Bajo FreeBSD muchos programas son configurados para usar un
> proceso de autenticación centralizado llamado PAM (Pluggable
> Authentication Modules).
> 
> PAM utiliza una arquitectura conectable y modular, que otorga al
> administrador del sistema de una gran flexibilidad en establecer las
> políticas de autenticación para el sistema.
> 
> En la mayoría de los casos, el archivo de configuración PAM predeterminado
> para una aplicación que soporta PAM es suficiente. Sin embargo, a veces
> queremos almacenar los usuarios en una base de datos para centralizar
> algunos servicios.
> 
> Ventajas PAM
> 
> PAM ofrece las ventajas siguientes:
> 
>     * Un esquema de autenticación común que se puede usar con una gran
> variedad de aplicaciones.
>     * Gran flexibilidad y control de la autentificación tanto para los
> administradores de sistemas como para los desarrolladores de la
> aplicación.
>     * PAM es un mecanismo &#64258;exible para la autenticación de usuarios.
>     * Permite el desarrollo de programas independientes del mecanismo de
> autenticación
>     * Ofrece al administrador la posibilidad de implementar complejas
> políticas de autenticación para cada servicio.
>     * Ofrece un esquema de autenticación centralizado.
>     * Permite a los desarrolladores de aplicaciones abstraerse de los
> mecanismos de autenticación.
>     * Facilita el mantenimiento de las aplicaciones
> 
> Como podemos ver PAM ofrece muchas ventajas que en ocasiones los
> administradores ignoramos.
> 
> Archivos de configuración y servicios PAM
> 
> El directorio /etc/pam.d/ contiene los archivos de configuración de PAM
> para cada aplicación tipo PAM. En versiones antiguas de PAM se utilizaba
> /etc/pam.conf, pero este archivo ya no se utiliza y solamente es usado si
> el directorio /etc/pam.d/ no existe.
> 
> Cada aplicación tipo PAM o servicios tiene un archivo dentro del
> directorio /etc/pam.d/. Cada uno de estos archivos lleva el nombre del
> servicio para el cual controla el acceso. Depende del programa tipo PAM
> definir el nombre de su servicio e instalar su archivo de configuración en
> el directorio /etc/pam.d/. Por ejemplo, el programa login define su nombre
> de servicio como login e instala el archivo de configuración PAM
> /etc/pam.d/login, el programa squid necesita el archivo /etc/pam.d/squid y
> asi con cada uno de los servicios.
> 
>     Un ejemplo para aprender
> 
> Para comprender mejor el uso de PAM, en este ejemplo veremos como podemos
> autenticar Squid contra una Base de Datos de MySql. Daremos por sentado
> que tenemos pam, mysql y squid instalados y configurados correctamente.
> 
> 1. Por lo general PAM viene por defecto en todos los sistemas FreeBSD.
> 
> 2. Necesitamos instalar pam_mysql. Un modulo para autenticar contra mysql
> 
> # cd /usr/ports/security/pam-mysql
> # make install clean
> 
> 3. También es necesario tener instalado mysql-server, en mi caso tengo la
> version 5.0, que nos servirá para almacenar el nombre de usuario y
> contraseña de cada usuario.
> 
> # cd /usr/ports/databases/mysql50-server
> # make install clean
> 
> Tambien podemos instalar phpmyadmin para que nos ayude a gestionar la base
> de datos de usuarios:
> 
> # cd /usr/ports/databases/phpmyadmin
> # make install clean
> 
> 4. Vamos a suponer que tenemos una Base de datos con la siguiente estructura:
> 
> Nombre Base de Datos: bd_usuarios
> Tabla de usuarios: usuarios
> Campo de Usuario: n_usuarios
> Campo de Password: p_usuario
> 
> Como es lógico el password debe estar encriptado. Para este ejemplo nos
> sirve cualquier BD siempre que tenga un campo usuario y password.
> 
> 5. Nos vamos al directorio /etc/pam.d/ y creamos un fichero llamado squid,
> en caso de que no exista
> 
> # cd /etc/pam.d
> # touch squid
> 
> Lo editamos con el editor favorito y añadimos el siguiente texto:
> 
> auth required /usr/local/lib/pam_mysql.so user=user_mysql
> passwd=clave_mysql host=localhost db=bd_usuarios table=usuarios
> usercolumn=n_usuario passwdcolumn=p_usuario crypt=1
> 
> account required /usr/local/lib/pam_mysql.so user=user_mysql
> passwd=clave_mysql host=localhost db=bd_usuarios table=usuarios
> usercolumn=n_usuario passwdcolumn=p_usuario crypt=1
> 
> session required /usr/local/lib/pam_mysql.so user=user_mysql
> passwd=clave_mysql host=localhost db=bd_usuarios table=usuarios
> usercolumn=n_usuario passwdcolumn=p_usuario crypt=1
> 
> Como podemos ver este fichero esta compuesto por 3 lineas, solo explicare
> una, ya que es valido para las demás.
> 
> auth: comprobación de que el usuario es realmente quien dice ser.
> 
> required: Es necesario tener éxito. Aunque falle la autenticación se sigue
> la pila
> 
> /usr/local/lib/pam_mysql.so: indica la ruta de la librería pam_mysql.
> Cambia en otros SO.
> user=user_mysql: Indica un usuario valido de mysql con acceso a la Base de
> Datos de usuarios (bd_usuarios)
> 
> passwd=clave_mysql: La clave de acceso a mysql del usuario explicado en el
> paso anterior.
> 
> host=localhost: El servidor que aloja la base de datos.
> 
> db=bd_usuario: La base datos de usuarios.
> 
> table=usuarios: La tabla que almacena los campos de usuario y password
> 
> usercolumn=n_usuario: el nombre del campo que almacena los nombre de los
> usuarios
> 
> passwdcolumn=p_usuario: El nombre del campo que almace el password del
> usuario.
> 
> crypt=1 : El tipo de encriptación de la clave del usuario (0= texto plano)
> (1=crypt) (2=Crypt mysql) (3=md5)
> 
> 6. Con esto ya tenemos ha PAM listo para actuar como un mecanismo de
> autenticación de squid..
> 
> 7. Ahora debemos configurar squid, solamente modificaremos el siguiente
> parámetro de squid:
> 
> auth_param basic program /usr/local/squid/libexec/pam_auth
> 
> 8. Ahora podemos reiniciar la maquina e intentar acceder a Internet, si
> tenemos algún problema podemos verificar en los logs y comprobar. También
> podemos crear una pequeña página en php para que los usuarios tengan la
> posibilidad de cambiar el password.
> 
> Espero que les sea util….
> 
> 
> 
> 
> 
>> _______________________________________________
>> Cancelar suscripción
>> https://listas.softwarelibre.cu/mailman/listinfo/linux-l
>> Buscar en el archivo
>> http://listas.softwarelibre.cu/buscar/linux-l
>>
> 
> 
> 
> 
> _______________________________________________
> Cancelar suscripción
> https://listas.softwarelibre.cu/mailman/listinfo/linux-l
> Buscar en el archivo
> http://listas.softwarelibre.cu/buscar/linux-l
> 
esto está mas bueno de lo que pensaba y facil además, la pregunta es, y 
probablemente sea el mismo aldo quien la responda
este mismo algoritmo servirá para postfix y ejabberd?

yo tengo autenticado squid y postfix con user unix y auth PAM, ejabberd 
nunca lo he logrado, si lo logro creo que no me meteré nunca con ldap. 
La pregunta es para tratar de hacerlo con mysql los tres servicios

-- 


whilo

________________________________
Lic. Wilfredo Martínez Consuegra
Administrador de Red                    
RIMED Villa Clara
Ministerio de Educación
Phone: (53)(42) 20 1077
Jabber: [email protected]
_______________________________________________
Cancelar suscripción
https://listas.softwarelibre.cu/mailman/listinfo/linux-l
Buscar en el archivo
http://listas.softwarelibre.cu/buscar/linux-l

Responder a