Instalar servidor anti-spam, parte 3

linux Varios

Ahora nos toca configurar Postfix.
Hacemos una copia del fichero /etc/postfix/main.cf

#cp main.cf main.cf_old

Y lo dejamos tal que:

myhostname = antispam.craem.net
mydomain = craem.net
myorgin = $mydomain
masquerade_domain = $mydomain
mydestination = $myhostname, localhost.$mydomain, $mydomain
mynetwork_style = host
######################################################
mynetworks = 192.168.2.0/24
relay_domains = craem.net, craem.cat, craem.es
transport_maps = hash:/etc/postfix/transport
append_at_myorigin = no
local_recipient_maps =
header_checks = regexp:/etc/postfix/header_checks
Disarmed_Modify_Subject = no
# Medidas antispam (anti-UCE)
smtpd_helo_required = yes
disable_vrfy_command = yes
strict_rfc821_envelopes = yes
smtpd_recipient_restrictions =
reject_invalid_hostname,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
reject_rbl_client dul.dnsbl.sorbs.net,
reject_rbl_client dnsbl.sorbs.net,permit
smtpd_data_restrictions =
reject_unauth_pipelining,
permit
bounce_notice_recipient = postmaster@craem.net
delay_notice_recipient = postmaster@craem.net
2bounce_notice_recipient = postmaster@craem.net
error_notice_recipient = postmaster@craem.net
default_destination_concurrency_limit = 10
smtpd_recipient_limit = 100
maximal_queue_lifetime = 2d
fallback_relay =
smtp_destination_recipient_limit = 200
smtp_destination_concurrency_limit = 10

Ahora crearemos el fichero transport, que tendrá las ip’s a las cuales entregaremos el correo después de filtrarlo:

# nano /etc/postfix/transport

y añadimos:

craem.net smtp:[192.168.2.4]
craem.cat smtp:[192.168.2.4]
craem.es smtp:[192.168.2.4]

Si nuestro servidor de correo corporativo, tiene más dominios, hemos de tener una entrada con cada una de ellas o, si queremos filtrar el correo para otras personas (servicio de pago :-)), pues eso, a añadir más.
Una vez creado el fichero, creamos la DB del transport, para ser consultada por el postfix

# postmap /etc/postfix/transport

Con ésto, nos creará el fichero transport.db. Reiniciamos postfix

# /etc/init.d/postfix restart

Ahora toca descargar mailscanner…

# cd /usr/src
# wget -c https://www.mailscanner.info/files/4/tar/MailScanner-install-4.84.5-2.tar.gz
# tar -zxvf MailScanner-install-4.84.5-2.tar.gz
# cd MailScanner-install-4.84.5/
# ./install.sh

Y tras un rato, tendremos instalado (que no configurado) el mailscanner.
Ahora, tal y como nos pide MailScanner, creamos las entradas en el Crontab, para las actualizaciones:

# crontab -e

Y le añadimos lo siguiente:

37 5 * * * /opt/MailScanner/bin/update_phishing_sites
07 * * * * /opt/MailScanner/bin/update_bad_phishing_sites
58 23 * * * /opt/MailScanner/bin/clean.quarantine
42 * * * * /opt/MailScanner/bin/update_virus_scanners
3,23,43 * * * * /opt/MailScanner/bin/check_mailscanner

Editamos el fichero /etc/default/spamassassin y cambiamos:

ENABLED=0 to ENABLED=1
CRON=0 to CRON=1

Y lo arrancamos;

# /etc/init.d/spamassassin start

Ahora, editamos el fichero /opt/MailScanner/etc/MailScanner.conf y cambiamos

Run As User = postfix
Run As Group = postfix
MTA = postfix
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming
Virus Scanners = clamav
Spam List = SBL+XBL
SpamAssassin User State Dir = /var/spool/MailScanner/spamassassin

Ahora, editamos el fichero:
/etc/postfix/header_checks
Y añadimos lo siguiente:

/^Received:/ HOLD

Reiniciamos el postfix y arrancamos el mailscanner

# /etc/init.d/postfix restart
# cd /opt/MailScanner/bin
# ./check_mailscanner

Ahora instalaremos mailwatch , que será la «interfaz» gráfica del mailscanner.

# cd /usr/src/
# wget -c https://downloads.sourceforge.net/project/mailwatch/mailwatch/1.1.5.1/mailwatch-1.1.5.1.tar.gz?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fmailwatch%2F&ts=1330981577&use_mirror=garr

Descomprimes el tar.gz y importamos el *.sql

# mysql -p < create.sql

Creamos el usuario:

# mysql -p
> GRANT ALL ON mailscanner.* TO mailscanner@localhost IDENTIFIED BY 'mailscanner';

Creamos el usuario para loguear en la web de mailwatch:

mysql -u root -pPASSWORD
mysql> INSERT INTO users VALUES ('root',md5('password'),'root','A','0','0','0','0','0');

Movemos el directorio mailscanner a la raiz del webServer:

# mv mailscanner /var/www/

1 comentario en «Instalar servidor anti-spam, parte 3»

  1. Excelente informacion, estare pendiente a la proxima entrada sobre este tan interesante tema! Gracias por compartir tus conocimientos!
    Saludos!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *