Tomcat y autenticación LDAP

Cuando disponemos de un LDAP es habitual querer centralizar la autenticación de nuestros servicios en el directorio. Uno de los servicios que podríamos configurar es la autenticación de los administradores de nuestro Tomcat, para evitar que alguien pudiera replegarnos una aplicación, usando las cuentas que trae por defecto. Para hacerlo, tendríamos que comentar la configuración de UserDatabase

<!--
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
debug="0" resourceName="UserDatabase"/>
-->

y añadir la configuración para que busque en OpenLDAP, en la sección de REALMs:
<Realm    className="org.apache.catalina.realm.JNDIRealm" debug="99"
resourceName="UserDatabase"

connectionName="cn=nssproxy,ou=edu,o=carm,c=es"
connectionPassword="**SECRET**"
connectionURL="ldap://openldap.edu.carm.es:389"

userBase="ou=usuarios,ou=edu,o=carm,c=es"
userSubtree="true"
userSearch="(cn={0})"

userRoleName="memberOf"
roleBase="ou=grupos,ou=edu,o=carm,c=es"
roleName="cn"
roleSubtree="true"
roleSearch="(member={0})"
/>

Luego tendremos que crear los grupos admin manager en nuestro LDAP, bajo la rama indicada por roleBase, y añadirles los usuarios (instancicar el atributo configurado por el filtro roleSearch) que queremos puedan administrar nuestros servidores tomcats. Además, el propio usuario también deberá almcenar la pertencia a estos grupos, instanciando el atributo configurado en userRoleName.
Después de aplicar estos cambios tendremos que reiniciar nuestro servidor Tomcat y tener disponible el contexto Manager.
La foto la he sacado del album de iirraa en flickr

Búsqueda en árboles LDAP mediante URL

Cuando usamos un directorio LDAP, a menudo necesitamos lanzar búsquedas de objetos en todos el árbol, pero no siempre tenemos a mano nuestro cliente LDAP favorito. Entre las numerosas funcionalidades de Microsoft Internet Explorer encontramos las posibilidad de poder lanzar búsquedas a un directorio LDAP especificando una URL:

ldap://IP_DEL_SERVIDOR:PUERTO/Raiz_de_busqueda?Atributos_a_recuperar?SCOPE?FILTRO

Para lanzar un par de búsquedas en profundidad podríamos usar, las siguientes URLs:
ldap://openldap.edu.carm.es/ou=usuarios,ou=edu,o=carm,c=es?*?sub?cn=ibm*

ldap://openldap.edu.carm.es/ou=padres,ou=edu,o=carm,c=es?*?sub?dni=34123123*

El incoveniente que encuentro es que Internet Explorer nos mostrará en la libreta de direcciones la primera entrada que recupere de la búsqueda. Para poder ver todas las entradas resultantes de la búsqueda, tendríamos que configurar nuestro servidor LDAP en la libreta de direcciones del equipo (Inicio->Programas->Accesorios->Libreta de direcciones). Si usamos los schemas LDAP apropiados en nuestro servidor, podremos configurar también nuestro cliente LDAP en Thunderbird y Evolution, y lanzar búsquedas al árbol como parte de nuestros contactos.
Si estamos usando como servidor, OpenLDAP, posiblemente nos interese permitir acceso anónimo para consulta, aunque sólo a los atributos que se mostrarán en la libreta de direcciones. Para conseguirlo podremos añadir las siguientes ACLs al principio de la lista, en el fichero de configuración /etc/openldap/slapd.conf.
# Libreta de direcciones
access to dn.subtree="ou=edu,o=carm,c=es" attrs=userPassword,homeDirectory,memberOf
by dn="cn=admin,ou=edu,o=carm,c=es" read
by dn="cn=nss,ou=edu,o=carm,c=es" read
by self read
by anonymous auth
access to dn.subtree="ou=edu,o=carm,c=es"
by * read

La foto la he sacado del album de Property#1 en flickr

RHEL5u4 DM-Multipath en HP EVA 3000 (activo/pasivo)

El pasado Lunes, me buscaron para configurar Device-Mapper Multipath de Oracle Unbreakable Linux 5 update 4, en dos blades HP BL460c conectados con doble fibra a una HP EVA 3000, con una versión Activo/Pasivo de firmware en las contraladoras, imposible de actualizar de momento. Había que configurarlos para poder instalar Oracle 10gR2.
Antes de empezar lo primero que hice fue visitar la web de HP y buscar la cadena device mapper multipath. Luego revisé algunos documentos y realicé algunas pruebas. Ninguna de las pruebas que hice funcionó, por lo que terminé optando por intentarlo por mi cuenta con ayuda de la página man. Así el fichero /etc/multipath.conf que qued fue el siguiente:

devnode_blacklist {
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^hd[a-z][[0-9]*]"
devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
}

defaults {
udev_dir /dev
polling_interval 5
selector "round-robin 0"
path_grouping_policy failover
getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
prio_callout "/bin/true"
path_checker tur
rr_min_io 1000
rr_weight uniform
failback immediate
no_path_retry 6
user_friendly_names yes
}
devices {
device {
vendor "HP*"
product "HSV100*"
path_grouping_policy group_by_prio

getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
path_selector "round-robin 0"
path_checker hp_sw
prio_callout "/sbin/mpath_prio_hp_sw /dev/%n"

rr_weight uniform
rr_min_io 100
failback immediate
no_path_retry 6
}
}
multipaths {
multipath {
wwid 3600508b4001014f60000d00000120000
alias ocr
}
multipath {
wwid 3600508b4001014f60000d00000190000
alias database
}
multipath {
wwid 3600508b4001014f60000d00000200000
alias fra
}
}

Luego, para aplicar los cambios ejecutaremos:
multipath -F
multipath -v 2
multipath -ll
/etc/init.d/multipathd restart
multipath -ll

La foto la he sacado del album de Will Fuller en flickr

Renombrar pseudo-dispositivos de PowerPath

A veces nos puede interesar renombrar los pseudo-dispositivos que nos crea PowerPath. Esto se puede hacer con ayuda del comando emcpadm -s ORIGEN -t DESTINO:

emcpadm renamepseudo -s emcpowerw -t emcpowerx

emcpadm renamepseudo -s emcpowerq -t emcpowerw
emcpadm renamepseudo -s emcpowerr -t emcpowerq
emcpadm renamepseudo -s emcpowero -t emcpowera

emcpadm renamepseudo -s emcpowern -t emcpowero
emcpadm renamepseudo -s emcpowerm -t emcpowern
emcpadm renamepseudo -s emcpowera -t emcpowerm

La foto la he sacado del cwol.com vía google images.

ITER volcano

Os dejo con un vídeo que se ha "currao" un compañero del grupo de investigación al que pertenece mi hermano Pepe (el astrofísico-vulcanólogo), en el cual aparece en primer lugar: el trabajador de campo. Me gusta mucho como ha quedado el montaje, la música y las fotos, que muestran algunos de los episodios por lo que tienen que pasar de nuestros investigadores. Que lo disfruteis.

Tecnoquia: Mi proyecto personal

Algunos de los que leeis este blog, quizás no sepais qué significa la palabra Tecnoquia. La palabra tecnoquia la inventó Juanjo Vidal y la tenía apuntada en una lista de nombres candidatos para posibles proyectos o empresas. Según me contó Raúl Sánchez, solían llevar un registro de los nombres chulos que se les ocurrían estando trabajando o de copas, para cuando los necesitaran para algún proyecto. Siempre me pareció una muy buena idea romántica y respetuosa con el futuro que nos ha de venir, ya que el nombre con el que bautizamos las cosas es determinante: Si no te engancha desde el principio nunca puede funcionar, e incluso enganchando, no es garantía de que vaya a llegar abien, pero eso ea es de otra historia, y no toca hoy.
Así que Raúl me animó a que le escribiera a Juanjo y que me regalara alguno de ellos. Estuve semanas intentándolo por mi cuenta, buscando palabros que me sonaran bien y me engancharan, en diferentes idiomas. A parte de sonarme bien, tenían que tener el dominio libre, y tener pocas entradas en google, cuando buscáramos la palabra. Al final, seguí el consejo de Raúl. y le pedí alguno de los nombres que tenía reservados Juanjo. De todos los nombres que me envió, finalmente me convenció tecnoquia. Estas fueron sus palabras:

Jugando con el griego... me invento un palabro. teknos- y -quía, o lo que es lo mismo técnica/arte y poder. De ahí sacamos palabras como monar-quía (poder de uno), oligar-quía (poder de unos pocos), y en nuestro caso poder de la técnica. El .com está libre de momento.

La explicación me convenció, pero lo importante era que el nombre cumplía todos mis requisitos: me quedé con ella. Todo esto ocurrió durante las semanas que dejaba mi trabajo en la administración pública como funcionario y empezaba la locura de trabajar como profesional autónomo, y lanzarme al río contra corriente: así que la palabra me ha acompañado desde entonces y, dado que en blog voy anontando apuntes técnicos sobre mi trabajo como ingeniero de servicios basados en software libre, y tonterías de mi vida personal, porque no termino de acostumbrarme a usar facebook o twitter, la asocio ya a mi proyecto personal.

Este año me había propuesto entre otras cosas, ir cambiando el aspecto del blog. Llevo casi dos años recopilando información de esto me gusta, esto no, este color, este logo, como este blog, esta fuente, esta estructura, este no se qué... un rollo que no termino de cuajar... y como he aprendido durante este tiempo y yo mismo recomiendo a mis clientes: No hay que saber ni aprender hacer todo, basta con subcontratar a la persona que sepa hacerlo. Después de perder varios días de mis vacaciones a ratos intentándolo con InkScape, usando a mi sobrino Fran a ver si me daba ideas nuevas, etc... tuve que subcontratar, y como hoy día todo se subcontrata a Asia, mientras que preparamos y acondicionamos África, eso hice yo: encargarle este trabajo a LutFi Sahid un diseñador de indonesia que finalmente me cobró 150$ USD vía PayPal. Bueno, pues este el resultado del que quedé muy satifecho.


Para el diseño, como tenía ya mucha información de lo que me gustaba y lo que no, rellené todos los campos del formulario y le envié un correo con los links a los logos que me inspiraban y representaban la combinación tecnica + conocimiento (mejor conocimiento que poder, aunque ya se sabe que la información-conocimiento es poder), que quería para el logo.
Tecnoquia is an invented word, which could be translated as knowledge about technology.
Always thought in a logo appearing brain and chip (or electronic circuit), like this: http://www.freshbrain.org.

Other similar logos could be:
http://eserrano.com/logos/.../geek-brain-logo.gif
http://cbcl.mit.edu/.../brain-logo-2.jpg
http://www.designoutpost.com/forums/attachment.php?...1
http://www.designoutpost.com/forums/attachment.php?...2
http://www.thelogofactory.com/.../EGlogo-contest-brain2.jpg

Pasados un par de días LutFi me envió una primera prueba, que retocamos, pero que prácticamente era el definitivo. Me gustó. La explicación que me dió para el diseño fue la siguiente:
The main concept I use in this design is clean, excel, and modern.
I took brain and loop shape line form as base for design.
Brain is main part of our body, it's looping giving command to our human body parts to work precisely.
It's also symbol of knowledge.
Any brilliant ideas came from our mind (brain). I use rising star to reflect this ideas.

Color I use;
- Light blue which is associated with health, healing, tranquility, understanding, and softness. It is often associated with depth and stability.
- Light Green is the color of nature. It symbolizes growth, harmony, freshness, and fertility.It has strong emotional correspondence with safety. Green has great healing power. It is the most restful color for the human eye; it can improve vision. Green suggests stability and endurance.
- Golden yellow is associated with joy, happiness, intellect, and energy. Iillumination, wisdom, and wealth. Gold symbolizes valuable and high quality.

Bueno, pues ya tengo un logo ... y un nombre. Gracias Juanjo y Raúl. Que sepais que todavía no os he pagado la copa (creo que será un cena) por la palabra que regalasteis.

Etiquetadas las fotos del viaje a Canarias


Por fín he sacado tiempo para etiquetar las fotos de mi viaje a Canarias y subirlas al album de casa. Como siempre, las fotos están hechas con la cámara del móvil y son de una calidad bastante pobre. pero prefiero ir ligero de equipaje a tener que parecer el inspector gadget cargado de cámara, portátil, netbook (que aún no tengo), el móvil, el reproductor de música y demás cacharros que nos han digitalizado la vida. Cuando cambie de móvil intentaré que tenga una cámara mejor ... o no :).