Ya estoy de nuevo OnLine. Desde ayer tengo un pincho 3G de Movistar con el que me conecto a Internet. En MacOS X aún no le logrado que funcione,la verdad es que tampoco me importa mucho, ya que en Ubuntu 8.10 funciona de cine. La pena es el PC de Sobremesa. Corre Debian GNU/Linux AMD64 y el Escritorio Movistar no soporta versiones de 64 bits.En fin...
En el curre estoy super liado, todo el día leyendo documentación de modelización de BBDD.Desde hace una semana estoy todas las tardes he estado trabajando en un servidor de correo. Un semi administrador, configuró mal el servicio smtp y la cosa pintaba mal, hasta que apareció Spiterman, que la versión Compostelana de Spiderman. La máquina en cuestión corre OpenSuSE con postfix,spamassassin y demás software que ya conocemos.¿Qué he hecho? Un montón de cosas.Resumo
* Reconfiguracion total postfix.Politicas de envio y recepcion, pipes...etc
* Configuracion SpamAssassin como content_filter
* Desarrollo de scripts de administración. Esto es lo que me más me gustó del tema.En primer lugar escribí una web en PHP que vía formulario alimenta las blacklist de spamassassin. El usuario indica el dominio y el tipo de lista.Facil.Ya, pero hay un problema. ¿Cómo inserto cadenas de texto en el fichero de spamassassin? Con el shell_exec ni de coña, como mucho un `cat` o un `echo`. Entonces la mente de Spiterman, después de mucho cavilar dice ...!Eureka! Con cada dominio que reciba del formulario crearé un fichero del tipo blacklist_from @dominio.com.txt.Dos veces al día ejecutaré un script vía crontab que lea el directorio donde almaceno lo que recojo del formulario. La clave en este planteamiento, que puede que no sea el más adecuado, pero funciona de cine, es este comando:
ls -1 |grep @| awk -F .txt '{ print $1 }' > $FICHERO_SPAM_TMP
Ahora ya tengo los nuevos dominios "limpios " para añadir al local.cf de spamassassin. Ejecuto este script a las 14:45 que es cuando no hay nadie en la oficina, y a las 20:45 por si añaden algo por la tarde.
Rizando más el rizo, he configurado postfix para que lea el fichero /etc/postfix/denegados en la directiva smtpd_sender_restricions, quedaría así:
smtpd_sender_restrictions =
hash:/etc/postfix/denegados,
reject_unknown_sender_domain,
permit_mynetworks
# check_policy_service inet:127.0.0.1:60000
Con esto conseguimos que si el dominio del remitente coincide con la lista de /etc/postfix/denegados, pues....a la puta calle! Por aquí no pasa! Que se cree una cuenta en Hotmail!
Lo del check_policy_service es para jugar con el Postgrey, pero eso para la semana...
Houston, otro problem!A ver Spiterman, piensa....Ahhhhhhhhh, escribimos otro script, que se ejecute por las noches, y convierta los dominios blacklist_from *@domain.com a formato dominio.com REJECT que es lo que quiere postfix.Fácil. La clave es esta, a mi modo de ver.Que clave ni que...posteo el script y pista:
#!/bin/bash
#
#
#
#
#Script Alimenta Rejects para Postfix
FICH_TMP_FILTRADO="/tmp/tmp_filtrado_$$"
FICH_TMP_FILTRADO_2="/tmp/tmp_filtrado_2_$$"
FICH_REJECT="/etc/postfix/denegados"
FICH_CONF_SPAM="/etc/mail/spamassassin/local.cf"
FILTRA_BLACKLIST=`cat /etc/mail/spamassassin/local.cf|grep blacklist_from|sort -u|cut -d "*" -f2|cut -d "@" -f2 > $FICH_TMP_FILTRADO`
NUM_REJECT=`cat /etc/postfix/denegados|grep REJECT|wc -l`
#
#
#
for dominio in `cat $FICH_TMP_FILTRADO`;
do
echo $dominio" REJECT" >> $FICH_TMP_FILTRADO_2
done
cat $FICH_TMP_FILTRADO_2 > /etc/postfix/denegados
reiniciapostfix
colacorreo
El reinicia postfix es un script(paso de alias) que uso en las máquinas que administro que hashean los fichero en .db, recarga demonios y tal...es que soy un poco vago...
El colacorreo es un tail -f /var/log/messages, lo mismo, es la vagancia...
La verdad que OpenSuSE me parece de lo peor. Cada día voy teniendo más fundamentos para asegurarlo. Por ejemplo,indicas en postfix smtpd_sasl_path = /loquesea/sasl, reinicias el demonio y peta. Lo quiere en /etc/postfix/sasl, si no, nada. Peta como una escopeta de feria. Lo del apache2 es de coña.Menudo lío de directorio de conf.50000 ficheros de configuración , enlaces simbólicos...La verdad es que lo que sí mola, y mucho es Yast,pero bueno, prefiero el vi y el apt.
Después lo típico : munin,awstats,pflogsumm,scripts por un tubo. Ahora mismo anda como una moto, por lo menos hasta hace 10 minutos.
Después de este testamento...
Salud y gnuismo.