Informática Numaboa - Linux
Debian + Postfix + PostfixAdmin + SquirrelMail
Sab 16 Mai 2009 01:19 |
- Detalhes
- Categoria: Como fazer instalações
- Atualização: Quinta, 28 Janeiro 2010 21:08
- Autor: vovó Vicki
- Acessos: 59434
- Debian + Postfix + PostfixAdmin + SquirrelMail
- A lista de fontes
- Iptables e logcheck
- MySQL, Postfix e Dovecot
- Certificados SSL (Autoridade)
- Certificados SSL (Requisições)
- phpMyAdmin
- SquirrelMail e PostfixAdmin
- SquirrelMail e PostfixAdmin II
- SquirrelMail e PostfixAdmin III
- Configurar SASL e TLS
- Amavis e SpamAssassin
- Amavis, SpamAssassin, ClamAV, Razor, Pyzor
- Amavis
- Amavis II
- Tabelas Bayes e AWL
- Personalizar o SquirrelMail
- Razor, pflogsumm e BIND
- Configurações Postfix adicionais
- Férias no PostfixAdmin
- Quotas, MailGraph e mysql-zrm
- O problema dos Aliases
- Todas as Páginas
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
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.
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 'spamassassinContinuamos 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-weeklyVeja 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.