Este pequeno tutorial ensina a alterar o
simscan para o
qmail-scanner. Este tutorial considera que você tenha o
Qmail-LDAP instalado conforme
este procedimento. Este tutorial também está disponível em
qmail.mandiocanet.com.br/qmailscanner.
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 em C e compilado, ao contrário do qmail-scanner que é escrito em Perl e interpretado.
Um dos motivos de utilizar o qmail-scanner ao 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 adicionadas ao arquivo de controle, adicionando mais uma carga administrativa.
Com o qmail-scanner isso não é necessário, basta habilitar essa função ou adicionar uma expressão regular para efetuar 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: essa opção habilita a função de quarentena de e-mails para e-mails com pontuaçã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: essa opção define a linguagem em que as mensagens serão enviadas, no caso pt_BR para nós tupiniquins;
- archive: essa 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 ao invés do simscan. Seguem 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.