Spam Filter · 5 min read · Sep 27, 2025

El SpamSnake Perfecto - Ubuntu Jaunty Jackalope

El SpamSnake Perfecto - Ubuntu Jaunty Jackalope

Autor: Mohammed Alli

Postfix w/Filtro Bayesiano y Anti-Backscatter (Destinatarios de Relay), Apache, Mysql, Dnsmasq, MailScanner (Spamassassin, ClamAV, Pyzor, Razor, DCC-Client), MailWatch, Comprobaciones SPF, FuzzyOcr, Firmas de Sanesecurity para PDF/XLS/Phishing, Postfix-GLD (Greylisting Opcional), Informes Estadísticos de Logwatch (Opcional), Aviso de Salida con alterMIME (Opcional), FireHOL (Cortafuegos Iptables)

Versión 2.5

Este tutorial muestra cómo configurar un servidor basado en Ubuntu Jaunty Jackalope como un filtro de spam en modo Gateway. Al final, tendrás un Gateway SpamSnake que retransmitirá correos electrónicos limpios a tu MTA. También podrás ver tu cola de entrada, entrenar tu SpamSnake y realizar algunas operaciones más avanzadas a través de MailWatch.

No puedo ofrecer ninguna garantía de que esto funcione para ti, de la misma manera que está funcionando para mí.

Utilizaré el siguiente software:

  • Servidor Web: Apache 2 con PHP 5
  • Servidor de Base de Datos: MySQL 5.0
  • Servidor de Correo: Postfix
  • Servidor DNS en Caché: Dnsmasq
  • MailScanner: MailScanner v4.76
  • MailWatch: MailWatch v1.0.4

El crédito va para los chicos de HowtoForge y los desarrolladores de MailScanner, MailWatch, ClamAV, Apache, Mysql y Postfix.

Instalar el sistema base usando la opción mínima.

1. Obtener privilegios de root

Habilita el inicio de sesión como root ejecutando lo siguiente y dando una contraseña a root. Luego podrás iniciar sesión directamente como root:

sudo passwd root

2. Instalar vim-nox (Opcional)

Usaré vi como mi editor de texto en este tutorial. El programa vi predeterminado tiene un comportamiento extraño en Ubuntu y Debian; para solucionar esto, instalamos vim-nox:

aptitude install vim-nox

(No tienes que hacer esto si usas un editor de texto diferente como joe o nano.)

3. Configurar la Red

Debido a que el instalador de Ubuntu ha configurado nuestro sistema para obtener sus ajustes de red a través de DHCP, tenemos que cambiar eso ahora porque un servidor debe tener una dirección IP estática. Edita /etc/network/interfaces y ajústalo a tus necesidades (en este ejemplo usaré la dirección IP 192.168.0.100):

vi /etc/network/interfaces
# Este archivo describe las interfaces de red disponibles en tu sistema
# y cómo activarlas. Para más información, consulta interfaces(5).

# La interfaz de red de loopback
auto lo
iface lo inet loopback

# La interfaz de red principal
auto eth0
iface eth0 inet static
        address 192.168.0.100
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1

Luego reinicia tu red:

/etc/init.d/networking restart

Luego edita /etc/hosts. Haz que se vea así:

127.0.0.1       localhost.localdomain   localhost
192.168.0.100   server1.example.com     server1

# Las siguientes líneas son deseables para hosts capaces de IPv6
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Ahora ejecuta:

echo server1.example.com > /etc/hostname   
/etc/init.d/hostname.sh start

Después, ejecuta:

hostname   
hostname -f

Ambos deberían mostrar server1.example.com ahora.

4. Actualiza tu instalación de Linux

Edita /etc/apt/sources.list. Comenta o elimina el CD de instalación del archivo y asegúrate de que los repositorios universe y multiverse estén habilitados. Debería verse así:

#
# deb cdrom:[Ubuntu-Server 9.04 _Jaunty Jackalope_ - Release amd64 (20090421.1)]/ jaunty main restricted

#deb cdrom:[Ubuntu-Server 9.04 _Jaunty Jackalope_ - Release amd64 (20090421.1)]/ jaunty main restricted
# Consulta http://help.ubuntu.com/community/UpgradeNotes para cómo actualizar a
# versiones más nuevas de la distribución.

deb http://de.archive.ubuntu.com/ubuntu/ jaunty main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty main restricted

## Actualizaciones de corrección de errores importantes producidas después de la liberación final de la
## distribución.
deb http://de.archive.ubuntu.com/ubuntu/ jaunty-updates main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty-updates main restricted

## N.B. el software de este repositorio es TOTALMENTE NO SOPORTADO por el equipo de Ubuntu.
## Además, ten en cuenta que el software en universe NO RECIBIRÁ ninguna
## revisión o actualizaciones del equipo de seguridad de Ubuntu.
deb http://de.archive.ubuntu.com/ubuntu/ jaunty universe
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty universe
deb http://de.archive.ubuntu.com/ubuntu/ jaunty-updates universe
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty-updates universe

## N.B. el software de este repositorio es TOTALMENTE NO SOPORTADO por el equipo de Ubuntu,
## y puede no estar bajo una licencia libre. Por favor, asegúrate de tus
## derechos para usar el software. Además, ten en cuenta que el software en
## multiverse NO RECIBIRÁ ninguna revisión o actualizaciones del equipo de seguridad de Ubuntu.
deb http://de.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb http://de.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse

## Descomenta las siguientes dos líneas para agregar software del repositorio 'backports'
## N.B. el software de este repositorio puede no haber sido probado tan
## extensamente como el contenido en la liberación principal, aunque incluye
## versiones más nuevas de algunas aplicaciones que pueden proporcionar características útiles.
## Además, ten en cuenta que el software en backports NO RECIBIRÁ ninguna revisión
## o actualizaciones del equipo de seguridad de Ubuntu.
# deb http://de.archive.ubuntu.com/ubuntu/ jaunty-backports main restricted universe multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty-backports main restricted universe multiverse

## Descomenta las siguientes dos líneas para agregar software del
## repositorio 'partner' de Canonical.
## Este software no es parte de Ubuntu, pero es ofrecido por Canonical y los
## respectivos proveedores como un servicio a los usuarios de Ubuntu.
# deb http://archive.canonical.com/ubuntu jaunty partner
# deb-src http://archive.canonical.com/ubuntu jaunty partner

deb http://security.ubuntu.com/ubuntu jaunty-security main restricted
deb-src http://security.ubuntu.com/ubuntu jaunty-security main restricted
deb http://security.ubuntu.com/ubuntu jaunty-security universe
deb-src http://security.ubuntu.com/ubuntu jaunty-security universe
deb http://security.ubuntu.com/ubuntu jaunty-security multiverse
deb-src http://security.ubuntu.com/ubuntu jaunty-security multiverse

Luego ejecuta lo siguiente para actualizar la base de datos de paquetes apt:

aptitude update

Ejecuta lo siguiente para instalar las últimas actualizaciones:

aptitude safe-upgrade

Si ves que se instala un nuevo kernel como parte de las actualizaciones, deberías reiniciar el sistema después:

5. Cambiar el shell predeterminado

/bin/sh es un enlace simbólico a /bin/dash, sin embargo necesitamos /bin/bash, no /bin/dash. Por lo tanto, hacemos esto:

dpkg-reconfigure dash

¿Instalar dash como /bin/sh? <– No

6. Deshabilitar AppArmor

AppArmor es una extensión de seguridad (similar a SELinux) que debería proporcionar seguridad extendida. En mi opinión, no lo necesitas para configurar un sistema seguro, y generalmente causa más problemas que ventajas (piensa en ello después de haber hecho una semana de resolución de problemas porque algún servicio no estaba funcionando como se esperaba, y luego descubres que todo estaba bien, solo AppArmor estaba causando el problema). Por lo tanto, lo deshabilito (esto es un requisito si deseas instalar ISPConfig más adelante).

Podemos deshabilitarlo así:

/etc/init.d/apparmor stop   
update-rc.d -f apparmor remove   
aptitude remove apparmor apparmor-utils

7. Instalar algún software

Ahora instalamos algunos paquetes que se necesitan más adelante:

aptitude install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libdb4.6-dev libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules unzip zip zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ build-essential unrar

8. Sincronizar el reloj del sistema

Es una buena idea sincronizar el reloj del sistema con un servidor NTP (protocolo de tiempo de red) a través de internet. Simplemente ejecuta:

apt-get install ntp ntpdate

9. Dnsmasq en caché

apt-get install dnsmasq

Edita /etc/dnsmasq.conf y haz que Dnsmasq escuche en localhost:

listen-address=127.0.0.1 

Edita /etc/resolv.conf y añade lo siguiente en la parte superior de la lista:

nameserver 127.0.0.1 
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.