correos spam que se originan desde botnet

0

Background

Estoy trabajando en la detección de spam en el lado del receptor, es decir, donde se entregan todos los correos, es decir, en el lado del servidor de correo. Los spammers son capaces de enviar correos no deseados a través de Bots, Open relés y muchas otras fuentes.

Query

¿Existe alguna forma o método para decir que un correo no deseado recibido se envía a través de bots?

    
pregunta user10012 01.07.2016 - 05:17
fuente

2 respuestas

2

Como administrador del sistema de correo, supongo que sabe que los mensajes de correo electrónico no contienen nada que le permita identificar si los envía un humano o una máquina. El BOT no indicará que sea un BOT en el mensaje o incluso en los encabezados.

Los métodos de detección de SPAM comunes se aplican a cualquier mensaje enviado por BOT o no.

Le sugiero que consulte las soluciones de detección de SPAM existentes, como SpamAssassin, junto con los diferentes complementos disponibles para él. Como verá, con una capacitación adecuada, realmente hace un muy buen trabajo.

    
respondido por el Julie Pelletier 01.07.2016 - 06:11
fuente
0

Además de las formas estándar (verificación de encabezados, clientes rotos, filtros de spam, etc.) para detectar spammers, y dependiendo de qué tan estricta sea su configuración, puede intentar limitar sus correos electrónicos a dominios completamente calificados e ignorar cualquier "Desconocido" Fuentes (eso es lo que hago).

Personalmente, creo que todos los correos electrónicos deben enviarse desde los servidores de correo y no directamente desde los clientes. Sin embargo, en el mundo real, eso no siempre sucede.

Además, puede probar si la dirección IP del dominio del servidor (no del dominio de la dirección) coincide con la dirección que recibe el servidor (búsqueda de IP inversa). Puede probar si dicho servidor es un servidor de correo o no verificando los puertos y los registros MX.

Si los correos de spam provienen de servidores de correo auténticos, puede indicar que es un caso de retransmisión abierta. Si no, podemos asumir que es una red de bots.

Estas son algunas de las restricciones que uso en Postfix (para dar una idea):

smtpd_helo_restrictions =
    reject_invalid_helo_hostname,

smtpd_client_restrictions =
    reject_unauth_pipelining
    reject_unknown_reverse_client_hostname

smtpd_sender_restrictions =
    reject_non_fqdn_sender,
    reject_unknown_sender_domain,

smtpd_recipient_restrictions =
    reject_non_fqdn_recipient,
    reject_unknown_recipient_domain,
    reject_unauth_destination,
    reject_unverified_recipient,
    reject_rbl_client ...,

Por ejemplo, este es un registro que rechaza una fuente desconocida:

NOQUEUE: reject: RCPT from unknown[***.***.***.235]: 450 4.7.1 Client host rejected: cannot find your reverse hostname, [***.***.***.235]; from=<ret_2016@*******.com> to=<*****@******.com> proto=ESMTP helo=<www.*******.com>

Actualización: explicación ampliada (responder al comentario)

@ user10012: su pregunta es cómo verificar si el spam se origina desde botnets, por lo que una forma es: ¿cómo sabe que un correo proviene de un servidor SMTP? (entonces podrías tratar el resto como botnets, si quieres ser estricto).

Explicación 1:

  

puede probar si la IP del dominio del servidor (no el dominio de la dirección)   la dirección coincide con la que recibe el servidor (búsqueda de IP inversa).

De los registros:

postfix/smtpd[21173]: 929DB18E7E8D8: client=mail-pa0-f66.google.com[209.85.220.66]

En este caso, viene de algún SMTP de google. Si ejecuta host 209.85.220.66 , devolverá mail-pa0-f66.google.com. . Cual es correcta. Esos deberían funcionar si el servidor de correo está configurado correctamente. Si alguien envía directamente desde una computadora, el resultado de host ***.***.***.235 será: not found: 3(NXDOMAIN) o mostrará un dominio diferente al enviado.

Explicación 2:

  

Puede probar si dicho servidor es un servidor de correo o no, marcando el   puertos y los registros MX.

Este solo puede funcionar para servidores "pequeños", por ejemplo:

host -t mx example.com devolverá algo como: example.com mail is handled by 10 mail.example.com . En ese caso, puede verificar si mail.example.com corresponde a la IP recibida. Puedes probar el puerto con: nmap -p 25,465 mail.example.com . Si responden "abierto", confirma que es un servidor de correo.

Dije que funciona con servidores "pequeños" porque las empresas medianas y grandes usan diferentes servidores para recibir y diferentes para enviar. También tienen un grupo de servidores que manejan el correo, lo que hace que las pruebas anteriores sean poco prácticas o imposibles. Por ejemplo, host -t google.com devolverá: google.com mail is handled by 10 aspmx.l.google.com. (de 10 a 50). Ninguno de esa lista incluye el que vimos antes: mail-pa0-f66.google.com (esos son el conjunto de 'receptores'). Ahora, si verifica los puertos con nmap ese servidor (mail-pa0 ...), no tendrá ningún puerto abierto (lo que significa que es solo un remitente).

Solo como nota al margen, si un correo proviene de un servidor SMTP que no significa que fue enviado por un humano. Puede ser enviado por un bot también. Solo le ayuda a identificar qué correos electrónicos provienen de los servidores de correo. Muchos de los SPAM se envían directamente desde computadoras infectadas, y ese método ayuda a limpiarlos. Si un servidor SMTP está comprometido o está configurado con las malas intenciones de entregar SPAM, este método fallará. Necesitará otras formas de bloquearlo (como una lista negra: RBL).

En mi experiencia personal, puede filtrar el 90% o más de su SPAM utilizando un servicio RBL (hay algunos de uso gratuito si su servidor tiene poco tráfico: bl.spamcop.net , zen.spamhaus.org , etc).

    
respondido por el lepe 01.07.2016 - 06:33
fuente

Lea otras preguntas en las etiquetas