Spam Filter · 5 min read · Sep 27, 2025

O SpamSnake Perfeito - Ubuntu Jaunty Jackalope

O SpamSnake Perfeito - Ubuntu Jaunty Jackalope

Autor: Mohammed Alli

Postfix w/Filtro Bayesiano e Anti-Backscatter (Destinatários de Relay), Apache, Mysql, Dnsmasq, MailScanner (Spamassassin, ClamAV, Pyzor, Razor, DCC-Client), MailWatch, Verificações SPF, FuzzyOcr, Assinaturas Sanesecurity PDF/XLS/Phishing, Postfix-GLD (Greylisting Opcional), Relatório Estatístico Logwatch (Opcional), Aviso de Saída com alterMIME (Opcional), FireHOL (Firewall Iptables)

Versão 2.5

Este tutorial mostra como configurar um servidor baseado em Ubuntu Jaunty Jackalope como um filtro de spam em modo Gateway. No final, você terá um Gateway SpamSnake que irá retransmitir e-mails limpos para o seu MTA. Você também poderá visualizar sua fila de entrada, treinar seu SpamSnake e realizar algumas operações mais avançadas via MailWatch.

Não posso oferecer garantias de que isso funcionará para você, da mesma forma que está funcionando para mim.

Usarei o seguinte software:

  • Servidor Web: Apache 2 com PHP 5
  • Servidor de Banco de Dados: MySQL 5.0
  • Servidor de E-mail: Postfix
  • Servidor DNS em Cache: Dnsmasq
  • MailScanner: MailScanner v4.76
  • MailWatch: MailWatch v1.0.4

Créditos vão para o pessoal do HowtoForge e os desenvolvedores do MailScanner, MailWatch, ClamAV, Apache, Mysql e Postfix.

Instale o sistema base usando a opção mínima.

1. Obtenha privilégios de root

Ative o login de root executando o seguinte e dando uma senha ao root. Você pode então fazer login diretamente como root:

sudo passwd root

2. Instale vim-nox (Opcional)

Usarei vi como meu editor de texto neste tutorial. O programa vi padrão tem um comportamento estranho no Ubuntu e Debian; para corrigir isso, instalamos vim-nox:

aptitude install vim-nox

(Você não precisa fazer isso se usar um editor de texto diferente, como joe ou nano.)

3. Configure a Rede

Como o instalador do Ubuntu configurou nosso sistema para obter suas configurações de rede via DHCP, precisamos mudar isso agora, pois um servidor deve ter um endereço IP estático. Edite /etc/network/interfaces e ajuste conforme suas necessidades (neste exemplo, usarei o endereço IP 192.168.0.100):

vi /etc/network/interfaces
# Este arquivo descreve as interfaces de rede disponíveis em seu sistema
# e como ativá-las. Para mais informações, veja interfaces(5).

# A interface de rede de loopback
auto lo
iface lo inet loopback

# A interface de rede primária
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

Então reinicie sua rede:

/etc/init.d/networking restart

Depois edite /etc/hosts. Deixe assim:

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

# As seguintes linhas são desejáveis para hosts compatíveis com 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

Agora execute:

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

Depois, execute:

hostname   
hostname -f

Ambos devem mostrar server1.example.com agora.

4. Atualize sua Instalação do Linux

Edite /etc/apt/sources.list. Comente ou remova o CD de instalação do arquivo e certifique-se de que os repositórios universe e multiverse estão habilitados. Deve ficar assim:

#
# 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
# Veja http://help.ubuntu.com/community/UpgradeNotes para como atualizar para
# versões mais novas da distribuição.

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

## Atualizações de correção de bugs importantes produzidas após o lançamento final da
## distribuição.
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. software deste repositório é TOTALMENTE NÃO SUPORTADO pela equipe do Ubuntu.
## Além disso, observe que o software no universe NÃO receberá qualquer
## revisão ou atualizações da equipe de segurança do 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. software deste repositório é TOTALMENTE NÃO SUPORTADO pela equipe do Ubuntu,
## e pode não estar sob uma licença livre. Por favor, certifique-se de seus direitos para
## usar o software. Além disso, observe que o software no multiverse NÃO receberá
## qualquer revisão ou atualizações da equipe de segurança do 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

## Descomente as duas linhas a seguir para adicionar software do repositório 'backports'
## N.B. software deste repositório pode não ter sido testado tão
## extensivamente quanto o contido no lançamento principal, embora inclua
## versões mais novas de alguns aplicativos que podem fornecer recursos úteis.
## Além disso, observe que o software no backports NÃO receberá qualquer revisão
## ou atualizações da equipe de segurança do 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

## Descomente as duas linhas a seguir para adicionar software do repositório
## 'partner' da Canonical.
## Este software não é parte do Ubuntu, mas é oferecido pela Canonical e pelos
## respectivos fornecedores como um serviço para os usuários do 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

Então execute o seguinte para atualizar o banco de dados de pacotes apt:

aptitude update

Execute o seguinte para instalar as atualizações mais recentes:

aptitude safe-upgrade

Se você ver que um novo kernel é instalado como parte das atualizações, você deve reiniciar o sistema depois:

5. Mude o Shell Padrão

/bin/sh é um symlink para /bin/dash, no entanto, precisamos de /bin/bash, não /bin/dash. Portanto, fazemos isso:

dpkg-reconfigure dash

Instalar dash como /bin/sh? <– Não

6. Desative o AppArmor

AppArmor é uma extensão de segurança (semelhante ao SELinux) que deve fornecer segurança estendida. Na minha opinião, você não precisa disso para configurar um sistema seguro, e geralmente causa mais problemas do que vantagens (pense nisso depois de uma semana de resolução de problemas porque algum serviço não estava funcionando como esperado, e então você descobre que tudo estava ok, apenas o AppArmor estava causando o problema). Portanto, eu o desativo (isso é obrigatório se você quiser instalar o ISPConfig mais tarde).

Podemos desativá-lo assim:

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

7. Instale Alguns Softwares

Agora instalamos alguns pacotes que são necessários mais tarde:

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. Sincronize o Relógio do Sistema

É uma boa ideia sincronizar o relógio do sistema com um servidor NTP (protocolo de tempo de rede) pela internet. Basta executar:

apt-get install ntp ntpdate

9. Cache Dnsmasq

apt-get install dnsmasq

Edite /etc/dnsmasq.conf e faça o Dnsmasq escutar no localhost:

listen-address=127.0.0.1 

Edite /etc/resolv.conf e adicione o seguinte ao topo da lista:

nameserver 127.0.0.1 
Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.