Greylisting HOWTO

Greylisting HOWTO

1. Introducción

NOTA: Esta guía ha sido escrita para complementar la base guía Postfix y restricciones postfix guía , pero desde entonces se ha ampliado para su uso con otro MTA.

Postgrey es un servidor de la aplicación de políticas de listas grises para filtrar el spam en servidores de correo Postfix. El principio de la lista gris funciona sobre la base de que la cantidad de spam es enviado por spam y otros MTA no compatibles con RFC.Postgrey rechazará temporalmente el nuevo correo con el error 450 “intentarlo más tarde” por un período determinado de tiempo y registrará el triplete CLIENT_IP / remitente / destinatario en su base de datos. Si el servidor de envío es compatible con RFC, entonces debe volver a enviar el mensaje en ese momento Postgrey comprobará su base de datos para un partido y aceptar el mensaje. El retraso es configurable y Postgrey mantiene una base de datos de tripletes conocidos, de modo electrónico de un remitente dado sólo debe retrasarse la primera vez.

Sin embargo, un anuncio publicitario típico robot de spam es probable que reciba una gran cantidad de correo rebotado o rechazado hasta spammers normalmente no vuelven a enviar los mensajes cuando se rechazan de forma temporal. Por lo tanto, todo el correo recibido de esas fuentes simplemente es eliminado por el servidor de correo. Esto tiene la ventaja adicional de reducir el filtrado y la sobrecarga de procesamiento en el servidor de correo como un gran porcentaje de mensajes simplemente se dejó caer antes de entrar en el MTA y no tendrá que ser filtrado o procesado de otro modo.

 

2. Configuración

Greylisting puede ser configurado para trabajar con un número de diferentes de MTS. Por favor, consulte la sección correspondiente a continuación para el MTA que está utilizando.

 

2.1. Sufijo

Postgrey se instaló desde RPMForge en CentOS 5.1 completamente actualizado, aunque debe aplicarse por igual en otras versiones. Para habilitar el repositorio RPMForge, por favor vea los RPMForge instrucciones. En primer lugar, instale postgrey:

 

# Yum install postgrey

Postgrey está escrito en Perl, por lo que Perl es necesario junto con algunos módulos Perl adicionales. Yum debería resolver automáticamente las dependencias que faltan para usted y usted puede comprobar los requisitos en la página web Postgrey.

Primero necesitamos configurar Postfix para usar Postgrey. Editar / etc / postfix / main.cf para incluir lo siguiente check_policy_service línea dentro del smtpd_recipient_restrictions sección como se muestra a continuación (si usted no tiene un smtpd_recipient_restrictions sección, a continuación, el siguiente ejemplo funciona bien):

 

smtpd_recipient_restrictions =
   permit_mynetworks,
   reject_unauth_destination,
   check_policy_service unix: postgrey / socket,
   permiso

Por defecto, la cantidad de tiempo por el cual Postgrey rechazará los mensajes nuevos se establece en 5 minutos, pero podemos cambiar esto usando el - Retardo de conmutación. No es una solución de compromiso en que el más largo es el tiempo, más posibilidades de rechazar el spam, sino también el correo legítimo ya se retrasará por primera vez. Valdría la pena establecer inicialmente este valor en 1 minuto (60 segundos) y, posteriormente, aumentar el valor de una vez Postgrey ha construido una base de datos de contactos de correo ordinario para su servidor. Configuración de la demora a valores mayores de 300 segundos (5 minutos) en realidad no es recomendable. Para configurar manualmente el retardo (en segundos), lo que necesitamos para crear el archivo de configuración Postgrey en / etc / sysconfig / postgrey y anexar el - Retardo interruptor como se muestra a continuación (ver ‘man postgrey’ para obtener una lista completa de opciones):

 

OPTIONS = "- unix = / var / spool / postfix / postgrey / hembra - delay = 60"

Por último, tenemos que iniciar el servicio Postgrey y vuelva a cargar la configuración de Postfix:

 

# / Sbin / service inicio postgrey
# / Sbin / servicio postfix reload

Asegurar postgrey inicia automáticamente al arrancar la máquina:

 

# / Sbin / chkconfig - levels 345 postgrey sobre

Ahora podemos comprobar nuestros registros del correo y ver postgrey en acción. He aquí un (ofuscado) extracto de mi / var / log / maillog:

 

#
# postgrey cargas:
#
17 de diciembre 21:44:58 jessie postgrey [6844]: proceso en segundo plano
17 de diciembre 21:44:58 jessie postgrey [6844]: 2007/12/17-21: 44:58 postgrey (tipo Net :: Server :: Multiplex) partida! PID (6844)
17 de diciembre 21:44:58 jessie postgrey [6844]: La unión a fichero socket UNIX / var / spool / postfix / postgrey / socket usando SOCK_STREAM
17 de diciembre 21:44:58 jessie postgrey [6844]: Ajuste gid a "101 101"
17 de diciembre 21:44:58 jessie postgrey [6844]: Ajuste el uid para "100"
#
# Postgrey greylisting un mensaje:
#
17 de diciembre 21:23:49 jessie postfix / smtpd [6714]: connect from mk-outboundfilter-4-a-1.mail.uk.tiscali.com [212.74.114.8]
17 de diciembre 21:23:49 jessie postfix / smtpd [6714]: NOQUEUE: rechazar: RCPT de mk-outboundfilter-4-a-1.mail.uk.tiscali.com [212.74.114.8]:
        450 4.2.0 <ned@example.com>: Dirección receptora rechazada: Greylisted, ver https://postgrey.schweikert.ch/help/example.com.html;
        from = to = <bob@example.com> <ned@example.com> proto = ESMTP helo = <mk-outboundfilter-4-a-1.mail.uk.tiscali.com>
17 de diciembre 21:23:54 jessie postfix / smtpd [6714]: desconexión de mk-outboundfilter-4-a-1.mail.uk.tiscali.com [212.74.114.8]
#
# Postgrey aceptar un mensaje:
#
17 de diciembre 22:23:45 jessie postgrey [2218]: action = pasar, razón = triplete encontrado, client_name = mk-outboundfilter-3-a-1.mail.uk.tiscali.com,
        dirección_cliente = 212.74.114.7, sender = bob@example.com, destinatario = ned@example.com

Si ve un mensaje como el siguiente:

 

18 de noviembre 09:39:03 jessie postfix / smtpd [26006]: aviso: conectarse a postgrey / socket: Permiso denegado

no se frustre, que es un problema de SELinux y la solución se discute en la siguiente página wiki: HowTos / SELinux # head-faa96b3fdd922004cdb988c1989e56191c257c01 .

 

2.2. Greylisting en Sendmail

Sendmail utiliza milter-lista gris, que está disponible en RPMForge. Para habilitar el repositorio RPMForge, por favor vea los RPMForge instrucciones. En primer lugar, instale milter-lista gris:

 

# Yum install milter-lista gris

Milter-greylist está escrito en C, por lo que hay pocos, si alguno, dependencias. Yum debería resolver automáticamente las dependencias que faltan para usted y usted puede comprobar los requisitos en la lista gris-milter sitio web .

Agregue lo siguiente al final de la secuencia de comandos sendmail.mc:

 

INPUT_MAIL_FILTER (`lista gris ',` S = local :/ var /-milter lista gris / milter-greylist.sock') dnl
define (`confMILTER_MACROS_CONNECT ',` j, {if_addr}') dnl
define (`confMILTER_MACROS_HELO ',` {verificar}, {cert_subject}') dnl
define (`confMILTER_MACROS_ENVFROM ',` i, {auth_authen}') dnl
define (`confMILTER_MACROS_ENVRCPT ',` {} lista gris') dnl

También puede especificar los tiempos de espera si se quiere, el siguiente ejemplo tiene un tiempo de espera de un minuto al envío de información a la milter y lo mismo espera de una respuesta, los valores predeterminados son sólo 10 segundos cada uno y puede no ser suficiente cuando se utiliza DNSRBL y / o SPF . Lea más en la instalación milter de Sendmail instrucciones .

 

INPUT_MAIL_FILTER (`lista gris ',` S = local :/ var /-milter lista gris / milter-greylist.sock, F =, T = S: 1m; R: 1m') dnl

Hacer que el archivo sendmail.cf de los autos m4. Muchos sistemas tienen un Makefile que hará esto automágicamente.

 

/ Usr/bin/m4 / usr/share/sendmail/cf/m4/cf.m4 sendmail.mc> sendmail

y reinicie sendmail

 

servicio sendmail restart

 

2.3. Exim

Configuración de Exim para ir aquí. Por favor, siéntase libre de ser voluntario si utiliza listas grises con exim (o cualquier otro MTA)

 

3. Informes

Postgrey incluye un postgreyreport llamada herramienta de informes. Su instala por defecto al instalar el rpm postgrey. Postgreyreport analizará una maillog (leer de STDIN), compararlo con el db postgrey y detalles de salida en todas las entradas de la lista gris ‘mortales’. Un anfitrión es considerado como “fatalmente” lista gris cuando no vuelve a intentar dentro de los 300 segundos después de su primer intento de entrega de correo electrónico de un destino específico. Postgreyreport utiliza la completa el triple como candidato. Puede sintonizar este retraso de 300 segundos utilizando la opción de línea de comandos – delay, sin embargo 300 es un buen punto de referencia. La mayoría de los servidores de correo se vuelva a intentar dentro de los 300 segundos.

Uso básico:

 

cat / var / log / maillog | / usr / sbin / postgreyreport - delay = 300

Dependiendo de lo ocupado que su servidor es, el informe puede llegar a ser muy grande. Para obtener sólo los 20 principales fuentes de conseguir Greylisted – usted puede usar algo como esto:

 

cat / var / log / maillog | postgreyreport | awk '{print $ 1}' | sort | uniq-c | sort-nr | head-n20

Para obtener una lista de los 20 primeros dirección de correo electrónico que las fuentes Greylisted están enviando correo electrónico a:

 

cat / var / log / maillog | postgreyreport | awk '{print $ 4}' | sort | uniq-c | sort-nr | head-n20

Para obtener una lista de todas las opciones que postgreyreport soportes y sus funciones:

 

postgreyreport-h

 

4. Consideraciones MX Múltiples

Si su dominio tiene más de un servidor de correo (MX), asegúrese de habilitar la lista gris en todos los servidores o los spammers apuntarán a la copia de seguridad de máquinas MX y enrutar el correo electrónico desde allí. Y puede ser que valga listas blancas las máquinas entre sí. Revise la siguiente sección sobre cómo hacer listas blancas en postgrey.

Para la lista gris a trabajar en las máquinas de copia de seguridad MX, es importante que la comprobación de la lista gris que sucede antes de que el correo acepta! Si bien esto suena como sentido común, es el problema que causa la mayoría de la gente un montón de confusión cuando la configuración de la lista gris de las máquinas de copia de seguridad MX. Como ejemplo, si usted está usando permit_mx_backup en postfix tus smtpd_recipient_restrictions en la copia de seguridad MX debería tener este aspecto:

 

smtpd_recipient_restrictions =
    reject_unauth_destination,
    check_policy_service unix :/ var / spool / postfix / postgrey / socket,
    permit_mx_backup,
    permiso

 

5. Whitelisting

En postgrey su posible lista blanca de remitentes y los receptores. Todo lo que necesita hacer para la lista blanca un anfitrión es añadir el nombre de dominio completo o la dirección IP en el archivo / etc / postfix / postgrey_whitelist_clients.local. por ejemplo:

 

192.168.1.10
mydesktop.office.mydomain.com

Ahora todo el correo electrónico recibido, ya sea 192.168.1.10 o mydesktop.office.mydomain.com no estará lista gris, que será aceptada de inmediato (siempre y cuando su validez, y pasa todas las reglas de sufijo). Por otro lado, si usted quiere la lista blanca un destinatario puede añadir su nombre de usuario parte de la dirección de correo electrónico en el archivo / etc / postfix / postgrey_whitelist_recipients. por ejemplo:

 

postmaster @
abuse @
theboss @

Ahora todos los correos electrónicos que se reciben para cualquiera de estas direcciones de correo electrónico “no será Greylisted, y todos los correos electrónicos serán aceptados de inmediato. Tenga en cuenta que postgrey ya viene con la configuración de lista blanca para postmaster y el abuso.

 

6. Resumen

Lista gris es una forma muy eficaz de lucha contra el spam enviado desde RFC contra spambots no conformes. Postgrey es una herramienta fácil de implementar el servidor de políticas de listas grises que puede ser instalado y configurado en cuestión de minutos en un servidor de correo en funcionamiento en CentOS.

Leave a Reply

Your email address will not be published. Required fields are marked *

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Anti-spam image