Personalmente, creo que es mejor que teclees algunos países e idiomas que estás seguro de que no quieres y luego los penalices en SpamAssassin usando RelayCountry , TextCat , etc.
He experimentado con datos RIR en las reglas de SpamAssassin en el pasado. Mi conclusión fue que no había nada terriblemente útil, incluso como funciones dentro de un entorno de aprendizaje automático.
Los criterios son un poco antiguos (no estoy actualizando los CIDR que se comercializan con los RIR y esto es solo IPv4), pero esto debería ser aproximadamente representativo:
S/O Flow% RIR
0.282 50.052 ARIN
0.785 26.186 RIPE
0.845 16.274 APNIC
0.129 9.983 Legacy Class A
0.915 1.348 LACNIC
0.763 0.744 AFRINIC
("S / O" es una precisión relativa utilizando una muestra equilibrada de correo no deseado y correo legítimo. muy aproximadamente se correlaciona con las probabilidades de correo no deseado. "% de flujo" es el porcentaje del flujo de tráfico que vio en este período de muestra (e incluye cierta superposición). Cuanto más bajo es el% de flujo, menos debe confiar en el S / O, es decir, no bloquee América Latina.)
Esto obviamente refleja mi muestreo, que es un subconjunto muy pequeño de los datos que tengo disponibles. Como puede ver, tengo muchos más datos de América del Norte y Europa que en América Latina o África. Esto no necesariamente refleja la vida real (o incluso mi propio conjunto de datos; ¡he tomado muestras de forma aleatoria!).
Si conoce sus canales de comunicación muy íntimamente, puede considerar algo como esto, pero es demasiado amplio para implementarlo de manera segura .
Debido a que mis datos son tan antiguos, no los voy a descartar todos aquí, pero a modo de ejemplo, aquí está mi definición del espacio Legacy Class A (el ^
debería eliminar el problema de superposición experimentado anteriormente):
header __RCVD_VIA_LEGACY X-Spam-Relays-External =~ /^\[ ip=(?:[689]|2(?:[025689]|1[45]?)|1[12356789]|3[023458]?|5[1234567]|4[0478]?)\b/
Si recuerdo correctamente, simplemente fui al sitio web de cada uno de los cinco Registros Regionales de Internet y encontré su anuncio bloques Generé cada expresión regular de RIR utilizando Regexp :: Assemble (que no logra crear rangos de clases de caracteres). Esto usa un pseudo-header especial de SpamAssassin para una definición más clara.
Hay otros aspectos muy útiles de whois para la detección de spam, pero hay un gran obstáculo que superar: es demasiados datos para hacer algo en una implementación local. Necesitas los principales servicios de nube que llenan las bases de datos casi en tiempo real para detectar cosas como granizada (nota al margen: mi equipo hizo esto .).
Otro servicio que se basa en los datos de whois es la Day Old Bread List , que simplemente lista cualquier dominio que sea 0- 5 días de antigüedad en el supuesto de que vale la pena penalizar el envío de correo electrónico desde (o enlazar a) dichos dominios.