Los “ayudadores” del calamar
El título les parecerá que este entrada sería una mera perdida de tiempo, que sería un off-topic total o una entrada de la GreenPeace, pero no es así es que quería ser nacionalista y escribir en Español (Squid helpers).
Hoy en día necesité autenticar un Squid-cache contra el Active Directory de Windows, y como a la primera no me funcionó el helper LDAP que viene por defecto escribí un pequeño script en python que funciona, capaz a alguien le sea útil.
#!/usr/bin/env python
import ldap, sys
from syslog import *
LDAP_SERVER='ldap://' + sys.argv[1]
try:
ldap_client = ldap.initialize(LDAP_SERVER)
except:
syslog(LOG_ERR,"Couldn't connect to the LDAP")
sys.exit()
while (1):
try:
(user,passwd) = sys.stdin.readline().strip().split(" ")
ldap_client.simple_bind_s(user,passwd)
syslog(LOG_INFO,"%s login" % user)
# Login success
print "OK"
except:
syslog(LOG_INFO,"%s login failed" % user)
# Sorry, an error
print "ERR"
sys.stdout.flush() # Requerido en algunas distros
ldap_client.unbind()
Es un simple script como lo ven, puede estar escrito en cualquier lenguaje (que tenga stdin y stdout) como PHP, C, Ruby, Haskell, Bash, pero elegí python para mostrar que tambíen hablo otro lenguajes (aparte de PHP y C). Tambíen pueden autenticar contra cualqueir cosa (ejemplo contra una DB como hacen acá) y por ejemplo asignar usuario por tiempos. Por último, para configurar el helper (asumiendo que el 192.168.1.1 es el servidor de ActiveDirectory):
auth_param basic program /path/to/login.py 192.168.1.1 # Aquí vi que algunos muggles que ponian 20, es muy alto, y no vale la pena # a no ser que se tenga miles de usuarios. auth_param basic children 5 auth_param basic realm Type your password # tiempo que será valido el login, para no hacer # overhead tendría que ser un tiempo razonable auth_param basic credentialsttl 5 minutes
Espero que mis días como sysadm lleguen a su fin, extraño los días de programar para vivir, no es lo mismo que pase a ser solo un hobbie.








o_O mira le vo al python…!!!!
La verdad ni las mas minima idea deq ace…. pero bue.. algo bueno me imagino…
Buenas Cesar!,
Saludos como siempre.
Realmente está interesante la propuesta, es innovadora principalmente, pero como te mencionaba ayer en el chat, realmente fue mas por elección tuya hacerlo asi y me parece genial. Podemos con squid-cache autentificarnos a un A.D. sin muchas lineas ( 2 como mucho ) acompañado de una post-configuración de un par de lineas y listo, pero bien me decias que no querías realizarlo de la manera default así que entendí.-
En lo personal me he volcado a una “ideologia” (por qué no decirlo así) de producutividad; es decir, si para autentificar el squid-cache a un active directory necesito hacer un script de 2 lineas y luego cambiar un par de valores en el squid.conf; lo hago, testeo, pruebo, simulo algunas situaciones y si funciona y me satisface, se queda; sino a buscar otros métodos, pero la idea es lograr que funcione y en menos tiempo para producir menos gastos, etc. No me gustaría -en lo personal- basar mis soluciones en métodos que llevan más tiempo o dan más vuelta a algo que se puede solucionar fácilmente, también para poder prevenir cualquier tipo de situaciones extrañas a ocurrir; solucionarlo no sería un dolor de cabeza o al menos, no seria sumar un valor aun mas complicado que la situación en sí; mi idea es ser práctico. No estoy muy a favor por ello de las personas que no quieran usar un Framework por ejemplo, o un CMS o un Template, etc; asumiendo que simplemente hacer “lo default” es ser pobre; productividad, tiempo y calidad son las metas en un mismo concepto. Pero es mi postura en lo personal.-
No deja de ser impresionante y me alegra conocer hoy otro método, no queda realmente del todo claro pero se entiende. Saludos Cesar!.-
Es un ejemplo, lo interesante es que podes escribir tu propio helper, como por ejemplo para que se autentique con PostgreSQL o SQLite, darles horarios, también podes escribir otro tipos de helpers, osea con otras acciones, a mi me gusta que es extensible sin que toques su código C.
Wow, sabes hartísimo loco, de verdad te admiro, Python como todo un googler! Saludos desde Gye,Ec
Muito bom seu blog César! parabéns..
Dear Cesar, could you write a post about your experience trying to work abroad? Best Regards, Cristiano Barros.
Hello, I’d like to work aboard, unfortunately I couldn’t work yet, my biggest problem is that I didn’t finish my University yet, but still I am doing my best to get some work outside Paraguay
What do you think about certifications? Like ZCE, SCJP and related. And have you tried telecommute positions? Best regards, Cristiano Barros.