Webmail Squirrelmail e Roundcubemail, Clamav e SpamAssassin integrados no MTA Postfix

Aprenderemos a instalar dois tipos de webmail, Squirrelmail e Roundcubemail, também aprenderemos a instalar o antivírus Clamav e um dos mais conhecidos antispam, o SpamAssassin, ambos integrados ao MTA Postfix.

[ Hits: 36.697 ]

Por: André Costa em 14/03/2010


Instalação e configuração do antivírus Clamav



Instalação do antivírus Clamav:

# tar -zxvf clamav-0.95.1.tar.gz
# cd clamav-0.95.1


Criar grupo:

# groupadd clamav

Criar usuário e ingressar ao grupo clamav:

# useradd clamav -g clamav -s /dev/null

Vamos compilar:

# ./configure --prefix=/usr --sysconfdir=/etc
# make
# make install


Configurar clamd.conf:

# vi /etc/clamav.conf

## clamd.conf
LogFile /var/log/clamav/clamd.log
LogFileMaxSize 16M
LogTime yes
LogClean yes
LogSyslog yes
LogVerbose yes
PidFile /var/run/clamav/clamd.pid
TemporaryDirectory /var/tmp
DatabaseDirectory /var/lib/clamav
LocalSocket /var/run/clamav/clamd.sock
FixStaleSocket yes
MaxThreads 20
ReadTimeout 600
MaxDirectoryRecursion 20
FollowFileSymlinks yes
SelfCheck 600
User clamav
ScanPE yes
ScanOLE2 yes
ScanMail yes
ScanHTML yes
ScanArchive yes
#ScanRAR
MaxFileSize 10M
MaxRecursion 5
MaxFiles 3000
#ArchiveMaxCompressionRatio 300
#ArchiveLimitMemoryUsage

Criar pastas:

# mkdir /var/log/clamav
# mkdir /var/run/clamav
# mkdir /var/lib/clamav


Permissões para as pastas:

# chown clamav.clamav /var/log/clamav/ -R
# chown clamav.clamav /var/run/clamav/ -R
# chown clamav.clamav /var/lib/clamav/ -R


Agora iremos configurar o freshclam.conf, que é o responsável pelas atualizações do banco de dados de vírus do clamav.

# vi /etc/freshclam.conf

##
## freshclam.conf
##
## Arquivo de exemplo para o freshclam
## com lista completa de mirrors para os servidores *.clamav.net
##
## Autor: Luciano Pereira Areal
## Data: 16/01/2006
##
## Viva o Linux!!
## Porque nós amamos a liberdade.
##


# You can change the default database directory here.
DatabaseDirectory /var/lib/clamav

# Path to the log file (make sure it has proper permissions)
UpdateLogFile /var/log/clamav/freshclam.log

# Enable verbose logging.
LogVerbose yes

# By default when freshclam is started by root it drops privileges and
# switches to the "clamav" user. You can change this behaviour here.
#DatabaseOwner clamav

# The main database mirror is database.clamav.net (this is a round-robin
# DNS that points to many mirrors on the world) and in most cases you
# SHOULD NOT change it.
DatabaseMirror database.clamav.net

# General ClamAV mirrors
# Choose one and uncomment the '#' in each desired lines. If you wish, uncomment all. :)
# In each line, you will find the specified ClamAV mirror for each country.
# You can uncomment one or more lines. When you run 'freshclam', it will search for updates
# in the first mirror. If it doesn't find the files for the update, it will search until the nth
# mirror listed below.

DatabaseMirror db.ar.clamav.net
DatabaseMirror db.at.clamav.net
DatabaseMirror db.au.clamav.net
DatabaseMirror db.be.clamav.net
DatabaseMirror db.bg.clamav.net
DatabaseMirror db.ca.clamav.net
DatabaseMirror db.ch.clamav.net
DatabaseMirror db.cn.clamav.net
DatabaseMirror db.cz.clamav.net
DatabaseMirror db.de.clamav.net
DatabaseMirror db.dk.clamav.net
DatabaseMirror db.ec.clamav.net
DatabaseMirror db.ee.clamav.net
DatabaseMirror db.es.clamav.net
DatabaseMirror db.fr.clamav.net
DatabaseMirror db.gr.clamav.net
DatabaseMirror db.hk.clamav.net
DatabaseMirror db.hu.clamav.net
DatabaseMirror db.id.clamav.net
DatabaseMirror db.ie.clamav.net
DatabaseMirror db.it.clamav.net
DatabaseMirror db.jp.clamav.net
DatabaseMirror db.kr.clamav.net
DatabaseMirror db.lt.clamav.net
DatabaseMirror db.mx.clamav.net
DatabaseMirror db.nl.clamav.net
DatabaseMirror db.pl.clamav.net
DatabaseMirror db.pt.clamav.net
DatabaseMirror db.ro.clamav.net
DatabaseMirror db.ru.clamav.net
DatabaseMirror db.se.clamav.net
DatabaseMirror db.sg.clamav.net
DatabaseMirror db.sk.clamav.net
DatabaseMirror db.tr.clamav.net
DatabaseMirror db.tw.clamav.net
DatabaseMirror db.ua.clamav.net
DatabaseMirror db.uk.clamav.net
DatabaseMirror db.us.clamav.net

# Argentina
DatabaseMirror clamav.md5.com.ar

# Australia
DatabaseMirror clamav.island.net.au
DatabaseMirror clamav.mirror.pacific.net.au
DatabaseMirror clamavdb.planetmirror.com

# Austria
DatabaseMirror clamav.inode.at
DatabaseMirror xarch.clamav.net

# Belgium
DatabaseMirror clamav.edpnet.net

# Bulgaria
DatabaseMirror clamav.host.bg
DatabaseMirror clamav.paralax.org

# Canada
DatabaseMirror clamav.mirror.rafal.ca
DatabaseMirror clamav.gossamer-threads.com

# China
DatabaseMirror clamav.ialfa.net

# Czech Rrepublic
DatabaseMirror clamav.iol.cz
DatabaseMirror clamav.skynet.cz
DatabaseMirror clamav.mirror.vutbr.cz

# Denmark
DatabaseMirror clamav.dif.dk
DatabaseMirror clamav.mirrors.webpartner.dk

# Ecuador
DatabaseMirror clamav.ecualinux.com

# Estonia
DatabaseMirror clamav.infonet.ee

# France
DatabaseMirror clamav.easynet.fr
DatabaseMirror clamav.inet6.fr
DatabaseMirror clamav.univ-nantes.fr
DatabaseMirror clamav.ovh.net
DatabaseMirror clamav.mirror.waycom.net

# Germany
DatabaseMirror clamav.mirror.fizzelpark.com
DatabaseMirror clamav.informatik.fh-furtwangen.de
DatabaseMirror clamav.lug-norderstedt.de
DatabaseMirror clamav.mcs.de
DatabaseMirror clamav.mirror.myebs.de
DatabaseMirror clamav.pcn.de
DatabaseMirror clamav.power-netz.de
DatabaseMirror clamav.savework.de
DatabaseMirror fuxhausen.tiscali.de
DatabaseMirror clamav.ftpproxy.org
DatabaseMirror clamav.kgt.org

# Greece
DatabaseMirror clamav.forthnet.gr
DatabaseMirror clamav.uoc.gr

# Hong Kong
DatabaseMirror clamav.meiwing.com
DatabaseMirror clamavdb.hostlink.com.hk
DatabaseMirror clamav.cpss.edu.hk

# Hungary
DatabaseMirror clamav.crysys.hu
DatabaseMirror clamav.dc.hu
DatabaseMirror clamav.fisher.hu
DatabaseMirror clamavdb.ikk.sztaki.hu

# Indonesia
DatabaseMirror clamav.cbn.net.id
DatabaseMirror db.clamav.or.id

# Ireland
DatabaseMirror clamavdb.heanet.ie

# Italy
DatabaseMirror clamav.oltrelinux.com
DatabaseMirror clamav.mirror.garr.it
DatabaseMirror clamav.linux.it
DatabaseMirror idea.sec.dico.unimi.it

# Japan
DatabaseMirror clamav.nara.wide.ad.jp
DatabaseMirror clamav-mirror.wiseknot.co.jp
DatabaseMirror clamavdb.ml-club.jp
DatabaseMirror clamav.mtcnet.jp
DatabaseMirror clamav.begi.net
DatabaseMirror clamavdb.osj.net
DatabaseMirror clamav.s-lines.net
DatabaseMirror clamav.yukiguni.net
DatabaseMirror clamavdb.mithril-linux.org

# Republic of Korea
DatabaseMirror clamav.hanbiro.com

# Lithuania
DatabaseMirror clamav.vtu.lt

# Mexico
DatabaseMirror clamav.mpsnet.com.mx

# Netherlands
DatabaseMirror clamav.essentkabel.com
DatabaseMirror clamav.fx-services.com
DatabaseMirror clamav.prolocation.net
DatabaseMirror clamav.mirror.transip.nl
DatabaseMirror clamav.unnet.nl
DatabaseMirror clamav.xs4all.nl
DatabaseMirror clamav.packetstorm.nu

# Poland
DatabaseMirror database.clamav.ps.pl

# Portugal
DatabaseMirror clamav.linux.pt

# Romania
DatabaseMirror clamav.iasi.roedu.net

# Russian Federation
DatabaseMirror clamav.citrin.ru
DatabaseMirror clamav.eastweb.ru
DatabaseMirror clamav.unix.su

# Singapore
DatabaseMirror clamav.acnova.com

# Slovakia
DatabaseMirror clamav.hq.alert.sk

# Spain
DatabaseMirror clamav.talika.eii.us.es

# Sweden
DatabaseMirror clamav.kratern.se
DatabaseMirror clamav.df.lth.se
DatabaseMirror clamav.mainloop.se

# Switzerland
DatabaseMirror switch.clamav.net

# Taiwan
DatabaseMirror clamav.cs.pu.edu.tw
DatabaseMirror clamav.stu.edu.tw

# Turkey
DatabaseMirror clamav.enderunix.org
DatabaseMirror clamav.ubak.gov.tr

# Ukraine
DatabaseMirror clamav.intercom.net.ua

# United Kingdom
DatabaseMirror clamav.mirror.camelnetwork.com
DatabaseMirror clamav.dbplc.com
DatabaseMirror clamav.spod.org
DatabaseMirror clamav.public-internet.co.uk

# United States
DatabaseMirror clamav.catt.com
DatabaseMirror clamav.clearfield.com
DatabaseMirror clamav.devolution.com
DatabaseMirror clamav.edebris.com
DatabaseMirror clamav.edgescape.com
DatabaseMirror clamav.infotex.com
DatabaseMirror clamav.irontec.com
DatabaseMirror clamav.liquidweb.com
DatabaseMirror clamav.pathlink.com
DatabaseMirror avmirror2.prod.rxgsys.com
DatabaseMirror clamav.theshell.com
DatabaseMirror clamav-du.viaverio.com
DatabaseMirror clamav-sj.viaverio.com
DatabaseMirror clamav.walkertek.com
DatabaseMirror clamav.westlinks.com
DatabaseMirror clamav.xyxx.com
DatabaseMirror clamav.pinna.cx
DatabaseMirror clamav.unet.brandeis.edu
DatabaseMirror clamav.bridgeband.net
DatabaseMirror clamav.inoc.net
DatabaseMirror clamav-000.mirrors.nks.net
DatabaseMirror clamav-001.mirrors.nks.net
DatabaseMirror clamav-002.mirrors.nks.net
DatabaseMirror clamav-003.mirrors.nks.net
DatabaseMirror clamav-004.mirrors.nks.net
DatabaseMirror clamav-005.mirrors.nks.net
DatabaseMirror clamav.oc1.mirrors.redwire.net
DatabaseMirror clamav.securityminded.net
DatabaseMirror clamav.securitywonks.net
DatabaseMirror clamav.sonic.net

# How many attempts to make before giving up.
MaxAttempts 3

# How often check for a new database. We suggest checking for it every
# two hours.
Checks 12

# Proxy settings
#HTTPProxyServer myproxy.com
#HTTPProxyPort 1234
#HTTPProxyUsername myusername
#HTTPProxyPassword mypass

# Send the RELOAD command to clamd.
#NotifyClamd [/optional/config/file/path]

# Run command after database update.
#OnUpdateExecute command

# Run command if database update failed.
#OnErrorExecute command

Comando freshclam para atualizar as bases de antivírus:

# freshclam

Adicionar no crond para atualizar automaticamente:

# crontab -e

00 00 * * * root /usr/bin/freshclam

Agora vamos ao script:

Crie o arquivo /opt/clamav com o seguinte conteúdo:

#!/bin/sh

#Script de inicialização do Clamav

case "$1" in
start)
echo -n "Iniciando o Clamav aguarde..."
/usr/sbin/clamd
echo "Clamav rodando."
;;
stop)
echo -n "Parando o Clamav"
kill -TERM `cat /var/run/clamav/clamd.pid`
echo "OK"
;;
*)
echo "Usage $0 {start | stop}"
exit 1
;;
esac
exit 0

Permissão ao arquivo para ser um executável:

# chmod +x /opt/clamav

Agora vamos iniciar o serviço do Clamav:

# /opt/clamav start

Integração, instalação e configuração do filtro Clamav Filter

Baixar filtro em
Descompacte o script no diretório:

# cd /usr/libexec/postfix/
# gunzip clamav-filter.sh.gz


Permissão para o arquivo:

# chmod 0755 clamav-filter.sh

Criar pasta:

# mkdir /var/spool/filter
# chown clamav:clamav /var/spool/filter


Integrar o Clamav Filter com Postfix:

Dentro do arquivo master.cf insira as seguintes linhas:

# vi /etc/postfix/master.cf

smtp  inet    n       -       n       -       -       smtpd
      -o content_filter=clamav:clamav

clamav unix    -       n       n       -       -       pipe
      flags=Rq user=clamav argv=/usr/lib/postfix/clamav-filter.sh -f ${sender}  --  ${recipient}

Efetuar "reload" no Postfix para atualizar as configurações:

# postfix reload

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação e configuração do Roundcubemail
   3. Instalação e configuração do antivírus Clamav
   4. Instalação e integração do SpamAssassin com Postfix + Clamav
Outros artigos deste autor

Servidor de e-mail Postfix + MySQL + Dovecot + Cyrus

Cluster MySQL - Instalação e configuração

Leitura recomendada

Servidor de emails com Dovecot e MTA Sceo (projeto brasileiro)

Configurando servidor IMAP

Solução completa de serviço de correio baseado em software livre (Debian GNU/Linux)

Dividindo carga de saída de servidor SMTP (MTA Selor)

Servidor de e-mails vinculado ao AD (Postfix + Courier)

  
Comentários
[1] Comentário enviado por removido em 14/03/2010 - 15:51h



Excelente artigo!

[2] Comentário enviado por lpossamai em 29/11/2010 - 15:29h

Boa tarde.. Tudo bem?

Estou com um problema. Quando executo o "freshclam" ele me retorna um erro:

[root@mail init.d]# freshclam
ERROR: Please edit the example config file /etc/freshclam.conf
ERROR: Can't open/parse the config file /etc/freshclam.conf

Sabe me dizer o que pode estar acontecendo?

Estou usando CENTOS 5.5 32 Bits, clamav-0.96.4 postfix 2.3.3-2.1



Obrigado.

[3] Comentário enviado por andrecostall em 29/11/2010 - 16:45h

Boa tarde psyscrew !!!

Tudo beleza cara !!

Você chegou alterar o conteúdo do arquivo "etc/freshclam.conf" conforme explicado no artigo?

Abraço


[4] Comentário enviado por andrecostall em 02/12/2010 - 15:48h

Boa tarde psyscrew !!

E ai cara conseguiu resolver o problema do freshclam ?

Qualquer coisa me add ai no msn andreclsilva@hotmail.com

Abraço

[5] Comentário enviado por eliasxd em 20/11/2013 - 03:30h

É possivel usar POP3 no squirrelmail?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts