Existem basicamente duas maneiras de instalar o
Spamassassin, você pode baixar o arquivo direto do
site oficial e compilar, ou se você possui uma distribuição Conectiva ou Debian, basta apenas digitar:
# apt-get install spamassassin
No Conectiva não tive nenhum problema de dependências.
Configurando o Spamassassin
Por padrão no Conectiva, o arquivo de configuração do Spamassassin fica no diretório /etc/mail/spamassassin.
O arquivo que devemos modificar é o
local.cf, onde temos logo abaixo um exemplo comentado, linha por linha.
Um ótimo site para gerar esse arquivo de configuração é o:
O qual me ajudou muito e tem o gerador de arquivo para a versão 3.XX do Spamassassin, caso você tenha optado por usar essa versão.
Lembrando que você pode e deve personalizar de acordo com a necessidade de seus servidores e corporação.
Veja exemplo do local.cf:
# Quantos pontos o e-mail tem que alcançar para ser considerado como SPAM
required_hits 5.0
# Reescrever o assunto como SPAM? (0=não, 1=sim)
rewrite_subject 1
# Se você optar por remarcar o assunto do e-mail, que assunto colocar?
subject_tag *****POSSIVEL SPAM*****
# Anexar o e-mail suspeito de SPAM? (0=não, 1=sim)
report_safe 1
# Se utilizar para anexar o e-mail suspeito recomenda-se que deixe essa opção como 1
use_terse_report 1
# Utiliza a base de dados que ele ou os usuário vão criando? (0=não, 1=sim)
use_bayes 1
# Auto aprendizado?
auto_learn 1
# Informe os e-mails ou domínios que farão parte da White List
whitelist_from fulano@dominio.com.br *@minhaempresa.com.br
# Mínimo de incidências para Ham e Spam no "Aprendizado"
bayes_min_ham_num 50
bayes_min_spam_num 80
# Habilita ou desabilita as seguintes checagem:
skip_rbl_checks 0
use_razor2 1
use_dcc 1
use_pyzor 1
# E-mail nos idiomas abaixo não serão considerados SPAM:
# Ex: English Portuguese
ok_languages all
# E-mail vindos desses países abaixo não serão considerados SPAM:
ok_locales all
Analisando as linhas acima:
Quando falamos do Spamassassin, temos que entender que ele funciona através de "pontos", ou seja, a cada e-mail que ele analisa, verifica os critérios na sua base de dados que são considerados SPAM ou não, e assim vai pontuando o e-mail.
Na primeira linha, required_hits 5.0, estamos dizendo que o e-mail que ultrapassar 5.0 pontos será considerado como SPAM.
Nas linhas abaixo você irá descrever se irá modificar o assunto do e-mail, é aconselhado que quando optar por remarcar o assunto, sempre remarque como, por exemplo, "Possível SPAM", ou então "Conteúdo Suspeito", pois não podemos esquecer de que o Spamassassin pode considerar um e-mail "Bom" como SPAM ou um e-mail "ruim" como não SPAM, que são os chamados falsos positivos e falsos negativos.
Você pode ainda configurar o Spamassassin para interagir separadamente com cada usuário, o que não entrarei em detalhes neste artigo, trataremos aqui como uma base única de dados criado pelo Spamassassin.
A opção auto_learn é bem interessante ativar, para que possa aprimorar as bases de dados.
O whitelist_from é uma configuração muito útil, pois estamos configurando o Spamassassin para que verifique se o ip que está enviando o e-mail está listado em alguma RBL ou não, porém temos que nos precaver em poder "dizer" que o ip 200.XXX.XXX.XXX não é um servidor de SPAM, pois pode acontecer erros de listagem em algumas RBL. Portanto através do whitelist_from dizemos que o e-mail fulano@dominio.com.br ou todos os e-mails da *@minhaempresa.com.br não são SPAM, criando assim uma "lista permitida".
Já sabemos que o Spamassassin tem uma base de dados onde vai listando os SPAMs e os Ham (E-mail que não é spam), criada a partir de regras lidas nos respectivos e-mails. Podemos enumerar a partir de quando que o Spamassassin vai começar a aplicar essas regras, através do bayes_min_ham_num e bayes_min_spam_num, onde a partir do momento em que ele tiver em sua base esse determinado numero de spam ou ham começará a aplicar conforme o que ele já "aprendeu".
Abaixo você decide se vai utilizar checagem nas RBL ou não e algumas configurações com referente ao país de origem dos e-mails e o idioma nele descrito.