Como es costumbre, cada vez que tengo un poco de tiempo escribo aqui mis memorias por si tengo que consultarlas, aunque por el indice de visitas que ultimamente tengo, veo que ha mas de uno le esta viniendo bien el dichoso blog. ;)
Hoy voy a tratar el gran problema del spam. Este GRAN problema de los administradores de redes y que parece que va para muyyy largo. Si buscais la solucion final a estos estupidos correos que nos ofrecen duros por pesetas, os dire que no lo hay, la unica forma de evitarlos es creando complicados filtros de entrada de correo, aunque tampoco hay que ser paranoico y con esta pequeña formula y un poco de paciencia veremos que nuestros spammers no veran la luz en nuestro correo.
Aunque ya son las 02:14 de la mañana voy a intentar escribir en condiciones, esto es un recopilatorio de todos los howto y demas docs que fui leyendo hasta que di con la solucion. Empieza la funcion.
Como siempre doy por sentado que usamos UBUNTU y que ya POSTFIX funciona correctamente y lo que queremos es añadir un poco de seguridad al MTA y un control de antivirus con filtro antispam.
Si, si a instalar:
#apt-get install amavisd-new
#apt-get install spamassassin
#apt-get install clamav
Una vez instalados vamos a editar los ficheros de configuracion de cada programa para hacerlos funcionar entre si. El primero en caer es...
#vi /etc/default/spamassassin
Editamos el fichero y modificamos
ENABLED=1
CRON=1
Todo lo demas lo dejamos como esta, guardamos el fichero y salimos.
Ahora editamos /etc/spamassassin/local.cf
#vi /etc/spamassassin/local.cf
Y modificamos los siguientes parametros
#Mensaje que aparece en el encabezado de los correos basura
rewrite_header Subject ***** CORREO BASURA [SPAM] *****
report_safe 0
use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1
skip_rbl_checks 0
use_razor2 0
use_dcc 0
use_pyzor 0
Ahora nos toca editar los ficheros de amavis
#vi /etc/amavis/conf.d/50-user
Y modificamos los siguientes parametros
$mydomain = 'pontudominioaqui.com';
$max_servers=10;
$forward_method = 'smtp:127.0.0.1:10025';
$final_virus_destiny = D_DISCARD;
$final_spam_destiny = D_PASS;
$sa_mail_body_size_limit = 64*1024;
$sa_tag_level_deflt = 4.0;
$sa_tag2_level_deflt = 5.0;
$sa_kill_level_deflt = $sa_tag2_level_deflt;
Y editamos tambien el fichero 20-debian_defaults
#vi /etc/amavis/conf.d/20-debian_defaults
Aqui hay que buscar la siguiente linea y dejarla como esta puede que el puerto cambie al 10025 pero si sigues este manual cambialo al 10024
inet_socket_port = 10024;
Y tambien hay que buscar la linea
$virus_admin = "spam\@pontudominioaqui.com"; #Hay respetar el \@
Como antes salvamos y cerramos el fichero y a por otro, esta vez es
#vi /etc/postfix/master.cf
Buscamos la linea
smtp inet n - - - - smtpd
Y la modificamos para que quede asi
smtp inet n - - - - smtpd
[aquivauntabulador] -o content_filter=spamassassin
Sin salir del fichero añadimos al final las siguientes lineas.
smtp-amavis unix - - y - 10 smtp
-o smtp_data_done_timeout=1200
-o smtp_never_send_ehlo=yes
-o disable_dns_lookups=yes
localhost:10025 inet n - y - - smtpd
-o content_filter=
-o local_recipient_maps=
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
En el mismo fichero al final del todo añade esta linea, "ojo es una sola linea"
spamassassin unix - n n - - pipe user=spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
Por ultimo pero no menos importante añadimos unas opciones a nuestro main.cf para proteger nuestro SMTP de manos ajenas y la linea de oro que hace que todo el tinglado funcione.
#vi /etc/postfix/main.cf
Y añadimos
smtpd_recipient_restrictions =
reject_invalid_hostname,
reject_non_fqdn_hostname,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_unauth_pipelining,
permit_mynetworks,
permit_sasl_authenticated,
reject_rbl_client domain-name,
reject_unauth_destination
#spam
smtpd_helo_required = yes
disable_vrfy_command = yes
maps_rbl_domains =
opm.blitzed.org,
list.dsbl.org,
sbl-xbl.spamhaus.org,
cbl.abuseat.org
Y sin salir del fichero al final del todo añadimos
content_filter = smtp-amavis:[localhost]:10024
Una vez guardado el fichero, en consola y con el usuario root vamos a crear el usuario que se ocupara de nuestro sistema spam.
#groupadd -g 5001 spamd
#useradd -u 5001 -g spamd -s /sbin/nologin -d /var/lib/spamassassin spamd
#mkdir /var/lib/spamassassin
#chown spamd:spamd /var/lib/spamassassin
Con todo esto ya solo queda reiniciar los servicios y...
#/etc/init.d/spamassassin restart
#/etc/init.d/amavis restart
#/etc/init.d/clamav-freshclam restart
#/etc/init.d/postfix restart
Es hora de abrir nuestro correo secundario (YAHOO, GMAIL, MSN...) y envianos un correo con el siguiente sujeto
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
Y con esto termino por hoy que ya tengo sueño y no quiero seguir escribiendo.
Un saludo a todos los que me visitan.
8 comentarios:
Hola Gracias por el guia.
El problema es que al reiniciar postfix me reclama lo sgte. (y justo es lo que escribí de tu guia.
postfix: fatal: /etc/postfix/main.cf, line 62: missing '=' after attribute name: "reject_invalid_hostname,"
postfix: fatal: /etc/postfix/main.cf, line 62: missing '=' after attribute name: "reject_invalid_hostname,"
Ojo uso ubuntu server 8.04 lts.
El resto resultó ok, gracias
eso es porque tienes que escribirlo en el archivo /etc/postfix/master.cf y no en /etc/postfix/main.cf
Hola el tutorial, esta muy bueno, la unica pregunta que tengo es como envio los corres malos a la carpeta basura, pues el sistema los marca como spam, pero siguen guardandose en el buzon, quisiera que los marcara como spam y los mandara a la carpeta basura, donde realizo dicha configuracion
muy bueno tutorial, hasta ahora parece q funciona.
pero como dice rolando, estaria bueno saber donde se va todo ese spam, por si se filtran mensajes q no son spam.
Gracias y saludos
hola muy interesante tus notas. Yo tengo instalado postfix y spamassassin que aunque no es lo mejor me a funcionado bien, estoy intenta establecer politicas de filtrado de correos por cada uno de los usuarios debido a que cada usuario tiene sus propias necesidades si tienes algo de informacion acerca de esto te agradeceria mucho que me la compartieras, paginas web, revistas, libros. De antemano muchas gracias. mi correo es ivan_ma773@hotmail.com
Hola Ivan,
Muchos administradores de servidores utilizan Spamassassin para filtrar los mensajes de correo electrónico que llegan a sus servidores. Si embargo, son muy pocos los que conocen y utilizan la herramienta sa-learn, incluida con Spamassassin, misma que sirve para entrenar y enseñar a identificar spam (o correo chatarra) al propio Spamassassin.
Esencialmente, el mandato sa-learn sirve para entrenar al componente clasificador Bayesiano de Spamassassin.
mas info en
http://www.alcancelibre.org/staticpages/index.php/como-spamassassin
Hola, me gustaría saber por qué no logro que me funcione el postfix; ya que a la hora de reiniciarlo me sale el siguiente error: Stopping Postfix Mail Transport Agent: postfixpostfix: fatal: /etc/postfix/main.cf, line 57: missing '=' after attribute name: "reject_rbl_client domain-name ="
failed!
Espero vuestra respuesta
Saludos,
Hola.
Luego de realizar todo paso a paso, trato de enviar correos y los envia correctamente, pero los destinatarios NO LOS RECIBE, desinstalar los antispam, antivirus y configuracion y volvio a la normalidad, ¿que puede ser?
Publicar un comentario