El spam en los blogs es un problema que acaba afectando de alguna forma a todos los que administramos servidores. En WordPress hay estupendos plugins para evitar el spam como Akismet y que funcionan muy bien, pero siempre funcionan después de que el spam ya ha entrado en el blog con el consiguiente consumo de ancho de banda, cpu, memoria y espacio en disco. Evidentemente para un sólo blog no es un problema pero cuando tienes muchos con mucho tráfico y está entrando continuamente spam en todos ellos puede acabar siendo un problema.

En Stop Forum Spam han creado una lista de spammers a nivel mundial que puedes consultar descargando un fichero con las ips, emails o nombres de usuario utilizados o a través de una api que puedes consultar libremente desde cualquier aplicación que desarrolles.

En mi caso para ahorrar tiempo y ancho de banda he creado una entrada en el cron que diariamente descarga las ips bloqueadas durante las ultimas 24 horas y las bloquea directamente.

Ejemplo con iptables

.
/usr/bin/wget -O /tmp/listed_ip_1.zip http://www.stopforumspam.com/downloads/listed_ip_1.zip; /usr/bin/unzip /tmp/listed_ip_1.zip -d /tmp/; for i in $(/bin/cat /tmp/listed_ip_1.txt); do /sbin/iptables -A INPUT -s $i -j DROP; done; /bin/rm /tmp/listed_ip_1.*

y si utilizas el firewall apf

.
/usr/bin/wget -O /tmp/listed_ip_1.zip http://www.stopforumspam.com/downloads/listed_ip_1.zip; /usr/bin/unzip /tmp/listed_ip_1.zip -d /tmp/; for i in $(/bin/cat /tmp/listed_ip_1.txt); do /usr/local/sbin/apf -d $i; done; /bin/rm /tmp/listed_ip_1.*

Espero que os sea útil.

[Actualización]
Acabo de encontrar un plugin para wordpress que utiliza esta lista junto con otras dos:
http://wordpress.org/extend/plugins/stop-spammer-registrations-plugin/

Como os indicaba ayer en el post acerca de la migración de correo, para sincronizar el correo utilizo la herramienta imapsync.

Imapsync es una de las herramientas mas versátiles que he encontrado para realizar este tipo de tareas, permite realizar combinaciones de todo tipo y como esta escrito en perl funciona en prácticamente cualquier sistema operativo.

En mi caso para la migración he preparado un script que me recogía el correo en el servidor origen y me lo guardaba en el destino eliminándolo del origen y autentificandose de forma diferente en cada uno de los servidores.  Algó así:

/usr/bin/imapsync –host1 pop.dominio-origen.com –user1 manuel@dominio-origen.com  –password1 clave1 –host2 imap.dominio-destino.com –user2 manuel@dominio-destino.com  –password2 clave2 –noauthmd5 –ssl2 –delete –expunge1

Recientemente he migrado todos los dominios de correo que administro desde un viejo qmail a un nuevo servidor dedicado con zimbra.

Como cualquier migración de correo hay varios pasos que son imprescindibles si no queremos que se nos pierdan correos  por el camino.

Lo primero de todo es instalar el software del nuevo servidor de correo, yo he elegido zimbra porque me parece el uno de los mejores sistemas integrados de correo bajo software libre que tenemos en la actualidad. En el mismo paquete tengo el mta, pop3/imap, antispam, antivirus, listas de correo y un magnifico webmail con correo, agenda de grupo, libreta de direcciones personal y de grupo, gestor de tareas, block de nota, maletín de documentos, mensajería instantanea para el grupo y versiones avanzadas con ajax, estandar en html y para móvil, todo ello con temas adaptables para adaptar a la imagen corporativa del cliente si fuera necesario.

Utiliza software estandar como postfix, amavis, mysql, apache, etc. y algunos desarrollos propios como el servidor pop3 e imap y el webmail. También tiene conectores para blackberry, outlook y lotunotes pero ya de pago.

La administración básica del día a día la puedes hacer desde un entorno de administración web tan completo como el webmail, aunque para las cosas avanzadas hay que recurrir a nuestra querida línea de comandos.

Zimbra

Para el hardware he vuelto a contratar otro servidor dedicado en ovh, que sigue teniendo muy buenos precios (y no, no tengo comisión).

Bueno, después de describir el nuevo sistema lo mejor es que os cuente como he realizado la migración. Lo primero es aclarar que este servidor va a albergar el correo de varios dominios, en la actualidad ya tiene 11 y para finales de la semana que viene tendré aproximandamente 20.

Como soy un poquito maniatico para instalar el servidor he elegido un nombre de dominio completamente nuevo para el servidor, en este caso compuntoes.com.es, un dominio simpático que había comprado hace tiempo y al que no había dado uso hasta ahora.

Antes de instalar el servidor hay que asegurarse de que las dns están correctamente configuradas:

  • El nombre del dominio resuelve correctamente.
  • Tienes asignado el registro mx.
  • Está bien la resolución inversa de la ip.

Se instala y configura todo el software, se migran las cuentas de correo (esto es lo suficientemente complicado como para merecer un post por separado, aunque hay mucha documentación en el wiki de zimbra) y es cuando empieza el baile. Hay que ir a las dns del dominio y añadir un nuevo registro MX con el nombre del nuevo servidor y ponerle un peso inferior al del MX que se utilizaba hasta ese momento. Por ejemplo:

Antes del cambio para el dominio rastreador.com.es tenía:

MX smtp.rastreador.com.es 10

y pasaría a ser:

MX smtp-nuevo.rastreador.com.es 5

MX smtp.rastreador.com.es 20

de esta forma no se pierde ningún correo mientras se propagan las DNS del nuevo servidor y lo único que tienes que hacer es montar un sistema para sincronizar el correo entre los dos servidores (imapsync en mi caso) para que los usuarios puedan utilizar desde ese mismo momento el nuevo servidor.

Yo ya he realizado varias migraciones de este tipo, algunas más complicadas que otras pero la verdad es que esta es de la que probablemente más contento he quedado.

Hace ya un tiempo que este blog (y otras 33 webs y blogs) las tengo alojadas en un servidor privado en ovh y la verdad es que estoy muy contento con ellos, dan un buen servicio y el panel de gestión del servidor es super útil y no me refiero a plesk o similar, es un panel de gestión del hardware que me permite saber que tráfico sale o entra, reiniciar el servidor cuando todo lo demás deja de funcionar, copias de seguridad y otras opciones.

Además del servidor privado tengo un vps que utilizo para hacer pruebas y hoy he estrenado una opción muy interesante. He reinstalado el server desde el propio panel. Es una pasada, seleccionas sabor de linux y a correr, el sólo se encarga de todo. Al final te envía a tu dirección de email las claves para acceder y ya lo tienes limpito y funcionando. En total 5 minutos.

Al final son estos pequeños detalles los que diferencian a un buen servicio de hosting con otro mediocre.

Acabo de ver una excelente tabla comparativa de servidores dedicados en Kabytes.
Si estáis pensado en contratar uno no podéis dejar de echarle un ojo.

Yo acabo de contratar un privado en OVH, como Gura, y la verdad es que tiene muy buena pinta. Es un Kemsirve con ubuntu y lo voy a utilizar como servidor web de muchos de los dominios que estoy desarrollando en la actualidad. Lo único que no me gusta demasiado de OVH es que los datacenters están en Francia y eso me obliga a no llevar a este servidor ningún servicio que pueda entrar en conflicto con la LSSI o LOPD.

Vuelvo a la carga con el pfsense y la red de Cabranes .

Ayer instalé un pfsense en un paquito (Intel dot station ) para reutilizarlo como punto de acceso. Estos aparatos son un "todo en uno" con pantalla y cpu integrados en una misma carcasa y vienen con una tarjeta de red ethernet y otra wifi, ideales para el uso que le vamos a dar. Son aparatos que te puedes encontrar a la venta en ebay por menos de 100 euros y la verdad es que por ese precio te puedes montar un peazo router, queda por ver que tal se comporta en el día a día.

Hemos pensado en instalarlo en el nodo de la capital del concejo, Santolaya , que es uno de los nodos más saturados con una media de 12 usuarios simultáneos. Ahora utilizan un linksys con dd-wrt y hay días que el pobre no puede más y hay que resetearlo ya que el p2p nos está machacando.

El único problema es que habrá que ponerlo en un tejado a la intemperie y todavía no tengo muy claro como lo vamos a aislar de la lluvia y sobre todo en las fechas en que estamos del sol. Iré poniendo fotos del paquito y de la instalación.

Respecto al pfsense me sorprendió muy gratamente la calidad y lo completa que es la parte de wifi. En las pruebas que hemos hecho se ha portado como un campeón y ha aguantado todas las "perrerías" que le hemos hecho.

La idea es utilizar el módulo de control de ancho de banda que viene en el pfsense para evitar las saturaciones del nodo. Hasta ahora nos ha funcionado muy bien en servidor de comunicaciones.

No os cuento mucho de la instalación por que es trivial. Se arranca con cdrom usb y se instala, el pfsense reconoce todo el hardware y no hay nada que retocar. La única pega es que no admite vlan. Aunque la tarjeta no viene entre las soportadas para vlan lo he intentado y no funciona. Una pena, le podríamos sacar un poco mas de chicha.


Hoy he leido el blog de Chipi que los ISP's españoles han firmado un pacto para utilizar SPF (sender policy framework) para controlar el spam.
Básicamente el SPF funciona insertando una entrada en el servidor dns que indique cuales son los servidores autorizados a enviar los correos de ese dominio para que luego los clientes de correo puedan filtrar los mensajes gracias a una línea en las cabeceras indicando la fiabilidad del emisor del correo en función de la ip desde la que se ha enviado.
Por ejemplo una de mis cuentas de correo está en GMX, un servidor de correo alemán con el que llevo mucho tiempo, y en sus DNS se puede ver la línea:
"v=spf1 ip4:213.165.64.0/23 -all" que viene a decir que sólo envía mensajes desde la red 213.165.61.0/23.

En  postfix hay varias soluciones e incluso un artículo en español muy bueno en: http://www.liberaliatempus.com/articulos/linux/inslacion-de-spf-bajo-postfix.html

Dentro de unos días voy a empezar a utilizarlo aunque dudo mucho que llegue a mejorar el sistema de listas grises que estoy utilizando ahora y que me está quitando practicamente todo el spam y sin carga de servidor como el spamassassin.