A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa - Linux

Debian + Postfix + PostfixAdmin + SquirrelMail

Sab

16

Mai

2009


01:19

(19 votos, média 4.53 de 5) 


Configure o Pyzor para usar um mirror:

pyzor discover
su amavis -c 'pyzor discover'
echo "82.94.255.100:24441" > /var/lib/amavis/.pyzor/servers
echo "82.94.255.100:24441" > /root/.pyzor/servers
su amavis -c 'pyzor ping'

O Ping do Pyzor deve mostrar 'OK'. Se não, então é possível que seu firewall esteja bloqueando respostas UDP de 82.94.255.100.

O SpamAssassin, por padrão, vai tentar descobrir automaticamente quais cabeçalhos recebidos foram inseridos por servidores de email da sua rede e quais foram inseridos por servidores de email fora da sua rede. Entretanto, por uma questão de segurança, é melhor configurar manualmente o caminho confiável (trust path). Os endereços IP listados em internal_networks e trusted_networks devem ser os endereços IP (ou endereços de rede) de hosts da sua rede. Se você estiver atrás de uma box NAT, isto incluirá sua rede interna, sua rede pública e a interface loopback. Se mensagens são supridas (relay) para você por um terceiro de confiança (pode ser que você use algo como Postini para filtrar suas mensagens), então estes servidores devem ser adicionados a trusted_networks (mas não a internal_networks).

vi /etc/spamassassin/local.cf

Aqui está um exemplo do que deve ser inserido:

# determinar explicitamente nossas redes internas (pode ser o mesmo ou semelhante ao mynetworks)
clear_internal_networks
internal_networks 222.222.222.222/24
internal_networks 10.10.10.10/24
# adicionar o mesmo a trusted_networks e, possivelmente, outros computadores/redes nos quais confiamos
clear_trusted_networks
trusted_networks 222.222.222.222/24
trusted_networks 10.10.10.10/24

Sempre lint o SpamAssassin depois de modificar ou adicionar arquivos:

spamassassin --lint

Assim que você tiver configurado corretamente estas opções:

/etc/init.d/amavis restart
tail -f /var/log/mail.log

Teste enviando uma mensagem e observando o mail.log. O processamento da mensagem pode levar de 1 a 30 segundos (ou até mais). Se você obtiver erros do clamd, faça um /etc/init.d/clamav-daemon stop, espere um momento e faça um /etc/init.d/clamav-daemon start. Depois espere um minuto antes de continuar.

Eu coloco os vírus numa quarentena local em /var/lib/amavis/virusmails por 14 dias, depois são deletados. Se você quiser realizar esta tarefa de deleção, pegue meu script:

cd /etc/cron.daily
wget -U NoSuchBrowser/1.0 http://www.numaboa.com/debian/rmvirusquar.txt
mv rmvirusquar.txt rmvirusquar
chmod +x rmvirusquar
./rmvirusquar

info Veja o script baixado: rmvirusquar.

Criar tabelas Bayes e AWL no MySQL

Colocar dados Bayes e AWL no MySQL vai aumentar a carga no servidor MySQL, mas, como você foi razoavelmente generoso com innodb_buffer_pool_size e innodb_log_file_size, a performance do Bayes vai ser muito aumentada (faça isto por partes):

cd /etc/spamassassin/
wget -U NoSuchBrowser/1.0 http://www.numaboa.com/debian/gv-bayes-awl.sql.txt
sed -i 's/paSSw0rd/sa_password/' gv-bayes-awl.sql.txt
mysql -u root -p < gv-bayes-awl.sql.txt

Entre a senha_do_root para completar o processo.

rm gv-bayes-awl.sql.txt
wget -U NoSuchBrowser/1.0 http://www.numaboa.com/debian/local.cf-bayes-awl.txt
cp local.cf local.cf-before-mysql
cat local.cf-bayes-awl.txt local.cf-before-mysql > local.cf
sed -i 's/paSSw0rd/sa_senha/' local.cf
chmod 0640 local.cf
chown root:amavis local.cf
spamassassin --lint
/etc/init.d/amavis restart
cd
wget -U NoSuchBrowser/1.0 http://www.numaboa.com/debian/sample-spam.txt
sa-learn --spam sample-spam.txt
sa-learn --dump magic
spamassassin --lint

Isto deve mostrar que a contagem de nspam (número de spams) é 1 e o --lint não deve mostrar erros ou alertas.

info Veja os scripts baixados: gv-bayes-awl.sql, local.cf-bayes-awl e sample-spam.

Também precisamos criar o diretório .spamassassin e o arquivo user_prefs:

su amavis -c 'spamassassin 

Continuamos adicionando um script de manutenção AWL e bayes_seen (fique de olho nos erros):

cd /etc
wget -U NoSuchBrowser/1.0 http://www.numaboa.com/debian/trim-awl.sql.txt
mv trim-awl.sql.txt trim-awl.sql
cd /usr/sbin
wget -U NoSuchBrowser/1.0 http://www.numaboa.com/debian/trim-awl.txt
mv trim-awl.txt trim-awl
sed -i 's/paSSw0rd/sa_senha/' trim-awl
chmod 0750 trim-awl
cd /etc/cron.weekly/
wget -U NoSuchBrowser/1.0 http://www.numaboa.com/debian/trim-sql-awl-weekly.txt
mv trim-sql-awl-weekly.txt trim-sql-awl-weekly
chmod +x trim-sql-awl-weekly
./trim-sql-awl-weekly

info Veja os scripts baixados: trim-awl.sql, trim-awl e trim-sql-awl-weekly.

Mais uma vez garanta que o amavisd-new está processando as mensagens. Envie pelo menos uma mensagem como teste e depois verifique os cabeçalhos da mensagem recebida. Ela deve mostrar cabeçalhos X-Spam e coisas do tipo. Ela ainda não vai mostrar qualquer BAYES hits (pontuação Bayes) - o Bayes precisa primeiro aprender com pelo menos umas 200 mensagens ham (não spam). Eu uso autolearn (autoaprendizado), com uma alimentação manual ocasional para sa-learn. Não vou explicar outras formas de alimentar o SpamAssassin com spam e ham neste HOWTO - veja man sa-learn. O plugin Spam Buttons para o SquirrelMail permite que os usuários marquem mensagens como 'Spam' ou 'Not Spam' e, com isto, alimenta o sa-learn; mas é bom lembrar que numa base de dados que dá suporte a todo(s) o(s) site(s), "o lixo de um é o tesouro do outro" e que "cozinheiros demais estragam o refeição". Além disto, precisamos considerar uma carga adicional imposta ao servidor - o sa-learn é CPU intensivo.

Seria uma boa ideia testar o clamd. Depois de desabilitar temporariamente o antivírus no seu desktop, envie uma mensagem de teste contendo APENAS a string eicar no corpo da mensagem (absolutamente sem nenhum espaço em branco antes ou depois da string). Você pode parar o amavisd-new e fazer um debug com 'amavisd-new debug' ou 'amavisd-new sa-debug', ou você pode elevar o nível do $log_level ou configurar temporariamente o @debug_sender_maps.

Informações adicionais