Alterar simscan por qmail-scanner

Este pequeno tutorial ensina a alterar o simscan para o qmail-scanner. Este tutorial considera que você tenha o Qmail-LDAP instalado conforme o procedimento em http://qmail.mandiocanet.com.br/install_guide.

O motivo principal desta troca é adicionar algumas características que o qmail-scanner tem e o simscan não. O simscan tem um desempenho melhor considerando que é um software escrito en C e compilado ao contrário do qmail-scanner que é escrito em Perl e interpretado.Um dos motivos de utilizar p qmail-scanner invés do simscan é a capacidade de auditoria que o qmail-scanner tem. Ele permite copiar todos os e-mails de entrada e saída do servidor, e permite usar expressões regulares também para selecionar os domínios ou contas que serão auditados. O qmail-ldap vem com o patch BIGBROTHER que faz auditoria também de e-mails, porém ele não permite adicionar um domínio inteiro, somente contas, em um domínio com 1000 contas, uma a uma devem ser adiocionadas ao arquivo de controle, adicionando mais uma carga administrativa. Com o qmail-scanner isso não é necessário, basta habilitar esta função ou adiocionar uma expressão regular para efetura a auditoria de uma só conta ou domínio.


Para começar precisamos preparar o CentOS para instalar o qmail-scanner. Devemos instalar bibliotecas adicionais do Perl. Seguem bibliotecas a serem adicionadas:

yum install perl-Time-HiRes perl-DB_File perl-suidperl tnef


Agora deve-se adicionar um grupo e usuário para rodar o qmail-scanner:

groupadd qscand
useradd -c "Qmail-Scanner Account" -g qscand  -s /bin/false qscand

Agora vamos baixar e instalar o qmail-scanner:

cd /usr/local/src/tools
wget http://prdownloads.sourceforge.net/qmail-scanner/qmail-scanner-2.06.tgz?download
tar -xzvf qmail-scanner-2.06.tgz
cd qmail-scanner-2.06
./configure --sa-quarantine 5 --lang pt_BR --archive yes --batch --install

O que significa cada uma destas opções:
  • sa-quarantine: Esta opção habilita a função de quarentena de e-mails para e-mails com pontução muito superior a definida por padrão no SpamAssassin que por padrão vem configurada em 5. Neste caso uma mensagem com pontuação de 10 para cima irá ser enviada diretamente para a pasta de SPAM do usuário e não entregue na caixa de entrada.
  • lang: Esta opção define a linguagem em que as mensagens serão enviadas, no caso pt_BR para nós tupiniquins.
  • archive: Esta opção ativa o arquivamento ou auditoria de e-mais, como preferir, para todos os e-mails e domínios registrados neste servidor. Os e-mails são arquivados no diretório /var/spool/qscan/archives/. Caso deseje habilitá-lo para somente uma domínio ou conta utilize da seguinte forma:
    • --archive "joao|manoel", para arquivar somente estas duas contas, independente do domínio.
    • --archive "\@exemplo.com" , para arquivar e-mails somente do domínio exemplo.com
    • --archive "jose|manoel\@exemplo.com" , para arquivar os e-mails de jose@exemplo.com e manoel@exemplo.com
  • batch: Esta opção faz com que o qmail-scanner seja instalado sem pedir confirmações, útil para scripts também.
  • install: Esta opção efetivamente instala o qmail-scanner.
Com isso temos o qmail-scanner instalado mas ainda falta ativá-lo para a fila de e-mails do Qmail-LDAP, para isso devemos alterar o arquivo /service/smtpd/tcp para chamar o qmail-scanner invés do simscan, segue alterações que devem ser feitas:
  • A linha: :allow,RBL="",RCPTCHECK="",SMTPAUTH="AUTHREQUIRED",AUTHPREPEND="Authorized_user:",QMAILQUEUE="/var/qmail/bin/simscan", deve ser alterada para: :allow,RBL="",RCPTCHECK="",SMTPAUTH="AUTHREQUIRED",AUTHPREPEND="Authorized_user:",QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
Agora vamos para o último passo que é compilar o arquivo tcp e finalmente ativar o qmail-scanner:

cd /service/smtpd/
make

Com isso finalizamos a troca do simscan pelo qmail-scanner. Se caso não gostar do qmail-scanner ou tiver problemas de desempenho com ele, basta alterar o arquivo /service/smtpd/tcp novamente para opção do simscan e compilar o arquivo tcp e tudo vai voltar a situação anterior.
Comments