Autenticacion Por Active Directory

Por: Pedro Montesino

Para los que han preguntado por Active Directory, lo probe en Windows Server 2008 R2 con estaciones Windows 7 e Internet Explorer 9 y funciona perfectamente.

Para implementarlo:

En la carpeta “libexec” hay dos ejecutables que se requieren:
1. “mswin_auth.exe”
2. “mswin_check_ad_group.exe”

El primero(1) sirve para utenticar contra usuarios del dominio (o de un grupo de usuarios local)
El segundo(2) sirve para asociar las ACL (Reglas) a un grupo de usuarios.

Si solo quieres autenticar usuarios del dominio con el primero basta, si ademas quieres definir reglas para grupos (muy util) de usuarios entonces debes usar el segundo tambien. En ambos casos el primero (1) es necesario.

1. Primero abran una consola CMD, preferiblemente con privilegios de administrador ir a: C:\Windows\System32 y alli localizar el archivo “CMD”, clic derecho y colocar “Ejecutar como Administrador”.

2. Prueben que con los programas autentica correctamente los usuarios:
Eso lo hacen ejecutando el archivo (1) desde consola. Si quieren ver la ayuda escriban despues del nombre del archivo el parametro “-h” algo asi: mswin_auth -h
Para probar coloquen: mswin_auth -O NOMBREDOMINIO
Luego quedara el cursor introduzcan: USUARIO CONTRASEÑA
NOMBREDOMINIO es el nombre de su dominio
usuario y contraseña deben estar separados por un espacio.
Si dice OK entonces habra utenticado y todo esta correcto, si dice ERR entonces tienen un problema con la autenticacion en su dominio y ya eso no tiene que ver con SQUID.

Una vez el anterior de OK, prueben el (2) es decir el de los grupos, para ello:
Escriben: mswin_check_ad_group -G -D NOMBREDOMINIO
Luego quedara el cursor introduzcan: USUARIO CONTRASEÑA GRUPO
Si dice OK entonces habra utenticado y todo esta correcto, si dice ERR entonces tienen un problema con la autenticacion en su dominio y ya eso no tiene que ver con SQUID.

Si todo funciona vamos con el siguiente paso. Si algo no trabaja entonces el problema no sera de SQUID.

3. Agregue las lineas correspondientes a su archivo squid.conf:

auth_param basic program c:/squid/libexec/mswin_auth.exe -O NOMBREDOMINIO
external_acl_type AD_global_group %LOGIN c:/squid/libexec/mswin_check_ad_group.exe -G -D NOMBREDOMINIO
acl usuarios external AD_global_group NOMBREDOMINIO\GRUPO
acl password proxy_auth REQUIRED

Un Ejemplo, aqui denegamos a los usuarios que no son del grupo gerencia algunas URL y coincidencias con palabras, “suratec” es el nombre del dominio, “gerencia” es un grupo de active Directory, “nogerencia” es otro grupo de Active Directory:

#auth_param basic program c:/squid/libexec/mswin_ntlm_auth.exe
auth_param basic program c:/squid/libexec/mswin_auth.exe -O suratec
external_acl_type AD_global_group %LOGIN c:/squid/libexec/mswin_check_ad_group.exe -G -D suratec
#external_acl_type NT_local_group %LOGIN c:/squid/libexec/mswin_check_ad_group.exe
acl GProxyUsers external AD_global_group suratec\gerencia
acl nogerencia external AD_global_group suratec\nogerencia
#acl LProxyUsers external NT_local_group LProxyUsers
acl all src all
 acl manager proto cache_object
#acl src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl url_denegadas url_regex “C:/squid/acl/url_denegadas.txt”
 acl palabras url_regex “C:/squid/acl/palabras_denegadas.txt”
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
 acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl password proxy_auth REQUIRED #src 192.168.0.0/16
acl SSL_ports port 443
 acl Safe_ports port 80 # http
 acl Safe_ports port 21 # ftp
 acl Safe_ports port 443 # https
 acl Safe_ports port 70 # gopher
 acl Safe_ports port 210 # wais
 acl Safe_ports port 1025-65535 # unregistered ports
 acl Safe_ports port 280 # http-mgmt
 acl Safe_ports port 488 # gss-http
 acl Safe_ports port 591 # filemaker
 acl Safe_ports port 777 # multiling http
 acl CONNECT method CONNECT
http_access allow password GProxyUsers
http_access allow password nogerencia !url_denegadas !palabras
http_access allow password usuarios

espero que les sirva y comportan la informacion mientras mas usemos SQUID y compartamos su uso mas vivo se mantendra el proyecto y por tanto los beneficios que nos trae. Pueden escribir al correo de nuestra empresa si necesitan ayuda: suratec.com.ve