Caso de Estudo: E-mail Server ISP

LDAP + Postfix Virtual + Dovecot (Quotas) + Phamm + Mailwatch + Mailscanner + SpamAssassin + Clamav + Horde IMP Webmail + Gnarwl Auto-reply. Implementação: Fedora 12.

[ Hits: 34.446 ]

Por: LinuxClass Treinamentos em 18/04/2011 | Blog: http://www.linuxclass.com.br


ClamAV Daemon e Mailwatch



ClamAV Daemon

Instale todos os pacotes, clamav, clamav-server etc.

# yum install clamav*

Copie o arquivo e comente a linha: Example

# cp /usr/share/doc/clamav-server-0.95.3/clamd.conf /etc
# vi /etc/clamd.d/scan.conf


Edite o arquivo, comente a linha: Example e adicione as seguintes configurações:

LocalSocket /tmp/clamd.socket
User root

Inicie a daemom:

# service clamd.scan start

Coloque o clamav para inicialização automática no boot:

# chkconfig clamd.scan on

Mailwatch:

# yum install mysql
# yum install mysql-server
# yum install php-gd
# yum install php-mysql
# chkconfig mysqld on
# service mysqld start
# /usr/bin/mysqladmin -u root password 'sua-senha-aqui'


Baixe e descompacte o mailwatch:

# tar xvf mailwatch-1.0.5.tar
# mysql -p < create.sql
# mysql -p

mysql> GRANT ALL ON mailscanner.* TO [email protected] IDENTIFIED BY 'mail';
mysql> GRANT FILE ON *.* TO [email protected] IDENTIFIED BY 'mail';
mysql> FLUSH PRIVILEGES;
mysql> quit

Edite o arquivo MailWatch.pm e mude:

my($db_user) = 'mailwatch';
my($db_pass) = 'mail';

Copie o MailWatch.pm para /usr/lib/MailScanner/MailScanner/CustomFunctions/. Veja abaixo:

# cp MailWatch.pm /usr/lib/MailScanner/MailScanner/CustomFunctions/
# mysql mailscanner -u mailwatch -p
# INSERT INTO users VALUES ('admin',md5('sua-senha-aqui'),'admin','A','0','0','0','0','0');
# quit


Mova o diretório mailscanner para o root do httpd:

# mv mailscanner /var/www/html
# cd /var/www/html
# chown root:apache images
# chmod ug+rwx images
# chown root:apache images/cache
# chmod ug+rwx images/cache
# cp conf.php.example conf.php


No arquivo conf.php:

Ajuste a senha do mysql e usuário nos parâmetros DB_USER E DB_PASS.
Ajuste para True a opção QUARANTINE_USE_FLAG.

# mv /root/mailwatch-1.0.5 /opt/
# echo "/opt/mailwatch-1.0.5/tools/quarantine_maint.php --clean" > /etc/cron.daily/quarantine_maint.sh
# chmod +x /etc/cron.daily/quarantine_maint.sh


Modifique a primeira linha do script db_clean.php para:

#!/usr/bin/php -q

# cp /tools/db_clean.php /etc/cron.daily/

Ajuste o parâmetro Virus Scanner = clamavmodule no arquivo MailScanner.conf (use clamd para quando estiver usando a versão daemon do clamav conforme você instalou/configurou acima).

Ajuste esses parâmetros no arquivo MailScanner.conf.

Always Looked Up Last = &MailWatchLogging
Detailed Spam Report = yes
Quarantine Whole Message = yes
Quarantine Whole Message As Queue Files = no
Include Scores In SpamAssassin Report = yes
Quarantine User = root
Quarantine Group = apache (this should be the same group as your web server)
Quarantine Permissions = 0660
Detailed Spam Report = yes
Include Scores In SpamAssassin Report = yes
Always Include SpamAssassin Report = yes
Spam Actions = store header "X-Spam-Status: Yes" forward [email protected]
High Scoring Spam Actions = store header "X-Spam-Status: Yes" forward [email protected]

Verifique novamente as permissões do diretório /var/spool/MailScanner:

drwxr-xr-x 9 postfix postfix 4096 Ago 10 18:09 incoming
drwxr-xr-x 4 postfix apache 4096 Ago 10 18:08 quarantine
drwxr-xr-x 2 postfix postfix 4096 Jul 28 17:55 spamassassin


Integrando a Whitelist e Blacklist do Mailscanner com o MailWatch

Edite o arquivo: SQLBlackWhiteList.pm.

Configure os seguintes valores:

my($db_user) = '<username>';
my($db_pass) = '<password>';

# cp SQLBlackWhiteList.pm /usr/lib/MailScanner/MailScanner/CustomFunctions/

Edite o MailScanner.conf e configure os valores abaixo:

Is Definitely Not Spam = &SQLWhitelist
Is Definitely Spam = &SQLBlacklist

Página anterior     Próxima página

Páginas do artigo
   1. Preparação
   2. LDAP e Phamm
   3. Postfix e Dovecot
   4. Deletando contas e ajustando valores das quotas
   5. Mailscanner e SpamAssassin
   6. ClamAV Daemon e Mailwatch
   7. Horde IMP e auto-reply para férias
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Entendendo o boot-update

Debian e o Backports

Novo driver Nvidia - Resolvendo travamento Compiz + Ubuntu 7.10

Instalar o driver para ATI Technologies Inc RS482 [Radeon Xpress 200M]

Atualizando o kernel do Slackware de forma segura, sem o famoso "kernel panic"

  
Comentários
[1] Comentário enviado por cleberantonio em 19/04/2011 - 19:47h

Olá gostaria de saber o porque de se utilizar o fedora 12.


Grato pela atenção.

[2] Comentário enviado por doomk em 20/04/2011 - 11:07h

Muito bom o artigo.

Está de parabéns!!!!

[3] Comentário enviado por vbassis em 22/04/2011 - 13:05h

Excelente artigo, nota 1000.

Parabéns!!!!!



[4] Comentário enviado por lpossamai em 27/04/2011 - 17:26h

Muito bom seu artigo!
Parabéns!!!!!

[5] Comentário enviado por marcos.ths em 10/05/2011 - 16:37h

Muito bom mesmo ! vlw

[6] Comentário enviado por linuxclass em 27/06/2011 - 16:51h

Pessoal, atualizações podem ser encontradas em http://www.linuxclass.com.br
Obrigado!

[7] Comentário enviado por dimago em 04/08/2011 - 19:36h

Olá,

Primeiramente parabéns pelo artigo.

Uma dúvida. Acabei nao encontrando, mas se meu domínio for em cima de Active Directory, existe algum problema?

Quando eu crio um novo usuário, ele irá criar este usuário lá dentro do meu AD?

Um abraço

Diego

[8] Comentário enviado por FireBird em 29/12/2011 - 17:59h

Antes de tudo, parabens... Acredito que se eu tivesse feito o que ta nesse artigo e nao o que ta no site do horde, teria funcionado...Mas, agora, fazer tudo do nada nem rola... Me ajuda com 1 parada aqui gente:

Geralmente quando a gente manda 1 email vai lá no campo do "From" ou "De":

Fernandino Mesquita e Silva <[email protected]>

LINDO... NO ENTANTO...

Quando eu envio emails usando o horde, ao inves de ir o nome do cara, ta indo fullname, tipo:

fullname <[email protected]>

Eu ja fiz configuração de prefs, hooks, conf.php e o escambal e mesmo assim nao consigo sair disso... O melhor que consegui foi fazer o pref.php do fullname em lock => true, criar um hook e fazer ele enviar ao invés de "fullname", o nome do login do cara no imap, mas, mesmo assim nao é bom e pode ser ate falha de segurança...Poderia me ajudar?


Contribuir com comentário