Postfix Recipient BCC Maps

Hace poco revisando y retomando algo de configuración de un servidor de correo (con postfix), estaba probando la forma de poder realizar un forward de un correo pero dejado una copia del correo al usuario origen.  Todos sabemos que para realizar este proceso se necesita de un usuario origen y un destino básicamente. Actualmente se trabaja con mysql para almacenar a los usuarios y dominios; ademas de una tabla en donde se configura el forward, pero resulta que cuando se realiza este proceso (forward) nunca queda el correo para el usuario origen o por lo menos no he logrado configurar eso hasta el día de hoy en donde estuve revisando información acerca de la propiedad recipient_bcc_maps que provee postfix.

Básicamente tiene la misma estructura que para un forward; para eso crearemos un archivo al cual llamaremos recipient_bcc dentro de la ruta /etc/postfix (esto dependera de casa uno) y dentro de este colocaremos lo siguiente:

# recipient_bcc - nachxs
usuario_01@dominio01.com  usuario_02@dominio02.com
...

En donde usuario_01 seria el origen y usuario_02 el destino, es decir que cada vez que le llegue un correo al usuario usuario_01, automáticamente se enviara un copia al usuario usuario_02.

Una vez creado el archivo con el contenido que ustedes definan utilizaremos el siguiente comando para poder generar un archivo que pueda ser leido por postfix:

postmap /etc/postfix/recipient_bcc

Este comando debería devolver el archivo recipient_bcc.db, entonces ahora solo nos quedaria leerlo desde postfix y para esto agregaremos lo siguiente en el archivo de configuración main.cf, en mi caso en la ruta /etc/postfix/main.cf

...
recipient_bcc_maps = hash:/etc/postfix/recipient_bcc
...

y listo, ahora solo nos quedaría reiniciar el servicio y probar. Si alguien puede compartir alguna otra manera de poder realizar un forward dejando una copia en el origen seria genial.

openSuse 11.2 M5 Liberado!!

Luego de la reciente liberación de la versión Alpha 4 de Ubuntu 9.10, también el grupo de desarrolladores de openSuse no se queda atrás, dado que hace poco se acaba de liberar openSuse 11.2 M5 con varias correcciones y mejoras que se detallan aquí. Dos de los sistemas Linux mas usados van de la mano en su mejora constante para su pronta liberación, Ubuntu en octubre y openSuse en noviembre, así que de momento ya estoy descargando para probarla.

329px-112Teaser

Deshabilitar el TRACE/TRACK de Apache2 en openSuse 11.1

Como sabran los admisitradores de servidores linux, uno de los principales ataques que regularmente se dan, son por vulnerabilidades que se podrian encontrar tanto en aplicaciones web o por una mala configuracion (configuracion por default) en el mismo servidor web. Regularmente los sistemas que tienen habilitado el TRACE pueden ser propensos a robo de crendenciales (XSS), como se explica en este documento.  Por defecto cuando configuramos apache esta  propiedad (TRACE) esta habilitada, por seguridad se deberia deshabilitar, para esto haremos lo siguiente.

Yo uso openSuse 11.1 como server, y primero lo que tendriamos que cargar seria el modulo encargado de esta propiedad (rewrite), aplicando el siguiente comando:

# a2enmod rewrite

Luego de aplicar este comando,verficamos que en el archivo loadmodule.conf ubicado en /etc/apache2/sysconfig.d, este la linea

LoadModule rewrite_module /usr/lib64/apache2-prefork mod_rewrite.so

De esta manera sabemos que el modulo se cargo y ahora, debido a que yo manejo dominios virtuales, dentro del directorio /etc/apache2/vhost.d ubicamos el archivo de configuracion de nuestro dominio y agregamos lo siguiente al final:

RewriteEngine On

RewriteCond %{REQUEST_METHOD} ^TRAC(E|K)

RewriteRule .* – [F]

Reiniciamos apache y listo. De esta manera estariamos deshabilitando el TRACE, dandole un poco mas de seguridad de nuestro server.

Que quede claro que para tener un servidor algo mas seguro, no basta con esto, se tiene que ir planteando politicas de seguridad, ya sea para actualizaciones se software, revision de log, tener firewall debidamente configurado, etc.

Mostrar en Emesene lo que escuchas en Amarok2

Hace poco luego de actualizar mi KDE a la ultima version(4.2) decidi tambien utilizar ya amarok2, dado que seguia utilizando al version 1.4 que segun a mi parecer es mucho mas estable que esta nueva version. Pero bueno, actualmente estoy utilizando Emesene como cliente de mensajeria y como sabran los que usan este aplicativo, viene con un plugin para poder mostrar lo que escuhas en amarok en sus versiones anteriores a la 2.0. Entonces me vi en la necesidad de buscar un patch para esta version y bueno la encontre, resulta que es una pequeño script que te realiza todo el trabajo, como sabran el directorio en donde se ubican los plugin de musica del Emesene en mi caso esta ubicado en “/usr/share/emesene/plugins_base/currentSong”, dentro de ese directorio hay un archivo __init__.py el cual tiene todo los modulos cargados,  lo que hace este script es hacer un backup del existente para luego descargar los archivos correspondientes, (__init__.py y Amarok2.py), si eres observador en el archivo __init__.py lo que hace es solo agregarle el import del archivo Amarok2.py para que pueda cargarlo y listo. Ahora solo nos queda abrir Emesene nos ubicamos en complementos, luego en CurrentSong, propiedades y alli seleccionamos Amarok2 y eso seria todo.

emesene

kde 4.2 y openSuse 11.1

Desde su reciente lanzamiento, kde 4.2 es la noticia que la toda la gente involucrada con esto, comenta, por muchas razones han decidido instalar o actualizar ya  a esta version; yo soy uno de ellos. Las primeras impresiones, ¡¡ definitivamente esta excelente !!, no me quiero imaginar como seria la version 4.3. Bueno para los usuarios de openSuse aki les dejo el link de instalacion o actualizacion para esta distro.

openSuse 11.1 –> Aqui

openSuse 11.0 –> Aqui

openSuse 10.3 –> Aqui

Este es mi escritorio, recientemente acutalizado.

kde42

Autocomplete = “off” con Struts

Uno de los pequeños inconvenientes que se me presento al desarrollar aplicaciones web y utilizar etiquetas struts, era la compatibilidad con algunos atributos. Regularmente cuando trabajo con cuadros de texto siempre agrego el atributo “autocomplete = off” esto para que no se almacene el texto que haya escrito con anterioridad (en algunos casos es necesario). Pero al utilizar etiquetas struts este atributo no esta o por lo menos no encontre alguno analogo a este; entonces decidi probar un codigo en javascript y agregarlo dentro de mi formulario quedando de la siguiente forma.

Para empezar este es el código javascript 

autocomplete_01

Una vez que tenemos ya el código lo que hacemos ahora es agregarlo en el “body” dentro del atributo “onload” de la siguiente manera:

autocomplete_02

y ahora solo nos queda agregarlo en el formulario que tiene etiquetas struts para que todos lo cuadros de texto cumplan este atributo, quedando de la siguiente forma:

autocomplete_03

De esta manera pude utilizar este atributo, espero les sea de utilidad.

PD: Fijense que en struts para representar el atributo “Id” se hace con “styleId”, esto para que no haya confusiones.