Usos de DISCARD -- Re: [Postfix espanol] Postfix snapshot 20020822 available

Manuel Samper manuel en samper.dyndns.org
Jue Sep 26 21:21:44 CEST 2002


Wietse Venema, on Thursday, Aug 22, 2002 at 22:58, commented:
> Postfix snapshot 20020822 fixes a few loose ends from 20020819.
> 
> The difference between a snapshot and an official release is as
> follows: the official release does not change except for bugfixes
> and portability patches. New features are tried out in snapshot
> releases.  Code that works and that stops changing becomes part of
> Postfix official version 1.2.
> 
> - The LDAP client has been updated with patches that were posted
>   here in the past two months.
> 
> - The HOLD action (freeze mail in the hold queue) now works in both
>   header/body_checks and in SMTPD access tables.
> 
> - New DISCARD action in header/body_checks and in SMTPD access
>   tables. Mail that triggers this action is silently discarded (it
>   may still trigger SMTPD access actions such as REJECT).

Hola, he estado probando recientemente ésta versión, y dado que veo la
lista muy mustia últimamente, pues os comento una cosilla.

«traducción del último punto»
 - Nueva acción DISCARD disponible para header/body_checks y tablas de
   acceso SMTPD. El correo que provoca esta acción se desecha sin
   ninguna advertencia [al cliente remoto] (todavía puede provocar
   otras restricciones de acceso SMTP, como REJECT)

Esta regla DISCARD es muy útil para filtrar correos con juegos de
caracteres ilegibles (charset), como el SPAM chino/koreano etc. sobre
todo si nos llega de listas de correo (semi)abiertas (las de debian,
por ejemplo) y que por tanto no se puede bloquear con DNSBL (como
blackholes.us) ni resulta útil rechazarlos una y otra vez, cuanto menos
se incordie mejor (ya se sabe que el spam sólo genera más spam).

Para ello, simplemente crear una tabla header_checks (o añadir a la
existente) en main.cf (o como opción a un cleanup de master.cf):

  header_checks = pcre:$config_directory/table/header-filter.re

con las siguientes expresiones:

  # Reject/discard foreign (unreadable) character set encodings
  %^Content-Type: .+/.+;+.*(.+="?.+"?;+.*)* *charset="?GB2312"?%
	DISCARD Chinese charset, sure SPAM
  %^(From|Subject): *=\?GB2312\?.+\?=%
	DISCARD Chinese charset, sure SPAM

Se pueden filtrar varios charset simultáneamente, por ejemplo, poniendo
inicialmente la acción WARN hasta que estemos seguros de que no perdemos
correos legítimos (muy probable con el iso-2022-jp)

  %^Content-Type: .+/.+;+.*(.+="?.+"?;+.*)* *charset="?(koi8-r|iso-2022-jp)"?%
	WARN Foreign charset, sure SPAM
  %^(From|Subject): *=\?(koi8-r|iso-2022-jp)\?.+\?=%
	WARN Foreign charset, sure SPAM

Y un ejemplo real del resultado (con algunas direcciones pelín ofuscadas,
para no ponérselo fácil a los spammers):

Sep 17 22:47:40 alkaid postfix/cleanup[29394]: BBD33F1AA: discard: header
 From: =?gb2312?q?=C2=EA_=D1=C5_ <feilao098343 en 21cn.com>,???=@murphy.debian.org;
 from=<?@lists.debian.org> to=<?@samper.dyndns.org>: Chinese charset, sure SPAM
Sep 19 06:56:48 alkaid postfix/cleanup[9706]: 5207EF181: discard:
 header Content-Type: text/plain;??charset="GB2312";
 from=<?@lists.debian.org> to=<?@samper.dyndns.org>: Chinese charset, sure SPAM
Sep 19 10:12:39 alkaid postfix/cleanup[13518]: C94D2F181: discard:
 header Subject: =?GB2312?B?yta7+rbM0MW3osvN08W73bbgtuCjoQ==?=;
 from=<?@lists.debian.org> to=<?@samper.dyndns.org>: Chinese charset, sure SPAM
Sep 19 12:36:21 alkaid postfix/cleanup[15862]: 085CAF181: discard:
 header Subject: =?gb2312?q?_=D5=FD=B5=C0=D6=C2=B8=BB=B5=C4=C3=D8=C3=DC=A3=BA=C8=E7=BA=CE=CD=DA=BE=F2=C4=E3=B5=C4=B5=DA=B6=FE=CD=B0=BD=F0?=;
 from=<?@lists.debian.org> to=<?@samper.dyndns.org>: Chinese charset, sure SPAM

Sep 15 17:17:23 alkaid postfix/cleanup[30631]: 640DDF182: warning:
 header Content-Type: text/plain;?  charset="koi8-r";
 from=<?@lists.debian.org> to=<?@samper.dyndns.org>: Foreign charset, sure SPAM
Sep 17 08:41:06 alkaid postfix/cleanup[11681]: EF170F1A8: warning:
 header From: =?ISO-2022-JP?B?GyRCREhHTzIwTS04QjJxPFIbKEI=?= <info en soobii.com>;
 from=<?@lists.debian.org> to=<?@samper.dyndns.org>: Foreign charset, sure SPAM

(espero que todo ésto no dispare alguna alarma anti-spam en el servidor
de la lista ;)

Otra idea, filtrar los dominios "sospechosos" en los Received:

  %^Received: from [^ ]+\.cn\)? %
	DISCARD China ccTLD in hop(s), sure SPAM

(parece que les tenga manía a los chinos ;)

Y eso es todo; si alguien sabe de charsets que se puedan filtrar y
despreocuparse (como el gb2312), que me lo haga saber, gracias.

También se me ocurre un uso como restricción smtpd, para descartar sin
miramientos correos de servidores que intenten usar el nuestro como
relay, pero puede parecer que nuestro MTA es un relay abierto, y además
esto no es de buena educación :) pero si es nuestro servidor privado,
quién nos puede decir lo que debemos hacer con él? }:-)

PD: Simon, pienso que sería mejor que reenviases éstos correos a la
    lista en lugar de "rutearlos" directamente el servidor, o que éste
    añada un Reply-To, de modo que se pueda replicar a los mismos sin
    tener que cambiar el destinatario (si no, la respuesta va a
    postfix-users y postfix-announce).
    De paso tambien podías recortar (mejor quitar) el "subject prefix",
    pero ésa es otra historia...
    Ah, y éste correo lo intenté mandar el jueves pasado, pero ya veo
    que la lista sufrió un "apagón" de varios días.
-
Para ENVIAR mensajes a esta lista tienes que estar SUSCRITA a ella.
.
Envía la linea "unsubscribe postfix-espanol" en el cuerpo de un mensaje
a majordomo en WL0.org para quitarte de la lista.



Más información sobre la lista de distribución Postfix-es