Instalación de qmail con vpopmail, qmail-scanner, ClamAV y SpamAssassin (III)
En los artículos anteriores vimos como hacer una instalación básica de qmail y seguimos instalando vpopmail y SpamAssassin. A continuación veremos como instalar ClamAV como motor antivirus y qmail-scan-queue para el análisis de los mensajes con ClamAV y SpamAssassin.
Instalación ClamAV
Primero de todo instalamos los siguientes paquetes:
yum install zlib-devel -y yum install gmp-devel -y
Seguimos con la instalación de ClamAV desde código fuente:
groupadd clamav useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav groupadd qscand useradd -c "Qmail-Scanner Account" -g qscand -s /bin/false qscand cd /usr/local/src
Descargamos la última versión de ClamAV, en este caso la 0.96.2:
wget 'https://downloads.sourceforge.net/project/clamav/clamav/0.96.2/clamav-0.96.2.tar.gz?r=http%3A%2F%2Fwww.clamav.net%2Fdownload%2Fsources%2F&ts=1282649587&mirror=ovh' tar xzf clamav-0.96.2.tar.gz cd clamav-0.96.2 ./configure make && make install mkdir -p /var/lib/clamav/ chown clamav. /var/lib/clamav/ mkdir -p /usr/local/supervise/clamd/ mkdir -p /usr/local/supervise/freshclam/
Creamos el fichero /usr/local/etc/clamd.conf definiendo las siguientes directivas:
cat > /usr/local/etc/clamd.conf <<EndOfFile LogSyslog yes DatabaseDirectory /var/lib/clamav LocalSocket /tmp/clamd.socket FixStaleSocket yes SelfCheck 3600 User qscand Foreground yes DetectPUA yes IncludePUA PwTool IncludePUA NetTool IncludePUA RAT IncludePUA Tool IncludePUA Spy IncludePUA Server IncludePUA Script AlgorithmicDetection yes ScanPE yes ScanELF yes ScanOLE2 yes ScanPDF yes ScanMail yes PhishingSignatures yes PhishingScanURLs yes HeuristicScanPrecedence yes ArchiveLimitMemoryUsage yes EndOfFile
También definimos el fichero /usr/local/supervise/clamd/run:
cat > /usr/local/supervise/clamd/run <<EOF #!/bin/bash exec /usr/local/sbin/clamd 2>&1 >/dev/null EOF
Actualizaciones automáticas de ClamAV con freshclam
Para realizar las actualizaciones de las firmas del motor antivirus lo haremos mediante freshclam. Definimos el fichero /usr/local/etc/freshclam.conf para configurarlo:
cat > /usr/local/etc/freshclam.conf <<EOF DatabaseDirectory /var/lib/clamav LogSyslog yes DatabaseOwner clamav DatabaseMirror db.es.clamav.net DatabaseMirror database.clamav.net NotifyClamd /usr/local/etc/clamd.conf Foreground yes EOF
Creamos el fichero /usr/local/supervise/freshclam/run para usar freshclam con las daemontools:
cat > /usr/local/supervise/freshclam/run <<EOF #!/bin/bash exec /usr/local/bin/freshclam -d EOF
Damos permisos de ejecución y levantamos el daemon:
chmod +x /usr/local/supervise/freshclam/run ln -s /usr/local/supervise/freshclam /service/
A continuación deberemos esperar que descargue la primer versión de la base de datos de firmas de virus. Hacemos un tail del /var/log/messages y esperamos a ver el siguiente mensaje:
tail -f /var/log/messages Aug 21 14:02:09 qapla freshclam[14641]: freshclam daemon 0.96.2 (OS: linux-gnu, ARCH: i386, CPU: i686) Aug 21 14:02:09 qapla freshclam[14641]: ClamAV update process started at Tue Aug 24 14:02:09 2010 Aug 21 14:02:23 qapla freshclam[14641]: Downloading main.cvd [100%] Aug 21 14:02:29 qapla freshclam[14641]: main.cvd updated (version: 52, sigs: 704727, f-level: 44, builder: sven) Aug 21 14:02:31 qapla freshclam[14641]: Downloading daily.cvd [100%] Aug 21 14:02:32 qapla freshclam[14641]: daily.cvd updated (version: 11642, sigs: 113710, f-level: 53, builder: arnaud) Aug 21 14:02:32 qapla freshclam[14641]: Downloading bytecode.cvd [100%] Aug 21 14:02:33 qapla freshclam[14641]: bytecode.cvd updated (version: 39, sigs: 9, f-level: 53, builder: edwin) Aug 21 14:02:33 qapla freshclam[14641]: Database updated (818446 signatures) from db.es.clamav.net (IP: 194.65.79.153) Aug 21 14:02:33 qapla freshclam[14641]: Clamd was NOT notified: Can't connect to clamd through /tmp/clamd.socket Aug 21 14:02:33 qapla freshclam[14641]: --------------------------------------
Con las firmas ya descargadas ya podemos levantar el daemon de ClamAV:
chmod +x /usr/local/supervise/clamd/run ln -s /usr/local/supervise/clamd /service
Instalación de qmail-scanner
Para instalar qmail-scanner necesitaremos instalar TNEF unpacker y ReformatMIME.
Instalación de TNEF unpacker
cd /usr/local/src wget 'https://downloads.sourceforge.net/project/tnef/tnef/v1.4.7/tnef-1.4.7.tar.gz?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Ftnef%2F&ts=1282651492&mirror=ovh' tar xzf tnef* cd tnef* ./configure make && make install
Instalación de ReformatMIME
Para el ReformatMIME necesitaremos el siguiente paquete:
yum install pcre-devel -y
Seguimos con la instalación desde código fuente:
cd /usr/local/src wget 'https://downloads.sourceforge.net/project/courier/maildrop-devel/20100815/maildrop-2.5.0.20100815.tar.bz2?r=&ts=1282652582&mirror=ovh' tar xjf maildrop-2.5.0.20100815.tar.bz2 cd maildrop* ./configure make make install-strip make install-man
Seguimos instalando el qmail-scanner con el parche de Salvatore Toribio:
cd /usr/local/src wget http://toribio.apollinare.org/qmail-scanner/download/q-s-2.08st-20100626.patch.gz wget 'https://downloads.sourceforge.net/project/qmail-scanner/qmail-scanner/2.08/qmail-scanner-2.08.tgz?r=http%3A%2F%2Fqmail-scanner.sourceforge.net%2F&ts=1282653075&mirror=ovh' yum install perl-suidperl -y tar xzf qmail-scanner-2.08.tgz gzip -d q-s-2.08st-20100626.patch.gz patch -p0 < q-s-2.08st-20100626.patch cd qmail-scanner-2.08 cat <<EOF | ./configure --qs-user qscand --admin virusadmin --domain systemadmin.es --admin-description "Virus: systemadmin.es postmaster" --notify psender,nmlvadm --local-domains systemsadmins.es --silent-viruses auto --virus-to-delete 0 --skip-text-msgs 1 --lang es_ES --debug no --minidebug 1 --add-dscr-hdrs 0 --dscr-hdrs-text "X-Qmail-Scanner" --normalize 1 --archive 0 --settings-per-domain 0 --max-scan-size 100000000 --unzip 0 --max-zip-size 1000000000 --max-unpacked-files 10000 --redundant 1 --log-details syslog --log-crypto 0 --fix-mime 1 --ignore-eol-check 0 --sa-delta 0 --sa-alt 0 --sa-debug 0 --sa-report 0 --sa-quarantine 4 --sa-delete 40 --sa-reject 1 --scanners "clamdscan,verbose_spamassassin" --install 1 y y EOF sed -i 's/#\./\./' /var/spool/qscan/quarantine-events.txt /var/qmail/bin/qmail-scanner-queue.pl -g after
A continuación añadimos al cron lo siguiente (mediante crontab -e):
cat >> /var/spool/cron/root <<EOF # qscan 0 0 * * * /var/qmail/bin/qmail-scanner-queue.pl -z 0 * * * * find /var/spool/qmailscan/quarantine -type f -mtime +30 -exec rm '{}' \; EOF pkill -1 cron
Mañana seguiremos levantando esta primera versión de qmail con el analisis antivirus y antispam.
El listado de la serie completa es Instalación de un servidor de correo con qmail/vpopmail/qmail-scanner/ClamAV/SpamAssassin:
- Iniciar la instalación de qmail con las daemontools y MySQL para vpopmail
- Instalación de vpopmail y spamassassin
- Instalación de ClamAV como motor antivirus y qmail-scan-queue para el analisis de los mensajes con ClamAV y SpamAssassin
- Arranque de qmail y sus scripts de inicio
- Instalación del servidor IMAP y POP3 con dovecot
- Instalación de parches para qmail: SMTP-AUTH, CHKUSER y UCSPI-TLS
- Scripts de supervise para los daemons SMTP y POP3 con SSL
Deja un comentario: