Postfix: Guía de Configuración - UCE - Unsolicited Commercial Email a.k.a. SPAM
Tutorial creado por Juan Carlos Inostroza. Extraido de: http://www.tux.cl/articulos.php?id=6
14 de Diciembre de 2004
Servidores de correo
8 - UCE - Unsolicited Commercial Email a.k.a. SPAM
Para alegria nuestra, Postfix viene configurado para no ser un Open Relay.
Ahora que tenemos instalada la maquina, queremos evitar que la maquina sea usada para hacer SPAM. Las opciones que tenemos son las siguientes:
Para lograr estos objetivos, tenemos las siguientes herramientas:
Filtrado de cabeceras
La directiva header_checks restringe que cabeceras se permiten en un mensaje. Debe estar acompañada por una tabla lookup, generalmente una expresion regular.
header_checks = regexp:/etc/postfix/header_check
y creamos el archivo /etc/postfix/header_check con
/^to: *amigo@publico\.com$/ REJECT
Esto evita que direcciones del tipo miamigo@publico.com, noamigo@publico.com, amigo@publico.com puedan o enviar o recibir o usar el servidor.
Filtrado de contenido
La directiva body_checks permite hacer un filtrado del cuerpo del mensaje. Para su uso es necesario una tabla lookup, generalmente (y para facilidad) se usan tablas regexp. Por ejemplo, teniendo un archivo /etc/postfix/body_checks con lo siguiente:
/keyword/ REJECT
Esto evitara que alguien envie un correo que contenga en alguna parte del BODY del mensaje la palabra "keyword". Por defecto, las tablas regexp NO son sensitivas a las mayusculas.
Si se necesita que sea sensitivo a las mayusculas, se puede agregar "/i".
Restricciones de hostname/direccion
El parametro smtpd_client_restriction restringe que clientes aceptar.
Valores posibles :
check_client_access tabla:/file/name: generalmente se usa una tabla de tipo HASH. Contiene la forma de acceso del cliente al conectarse a MAILSVR.
reject_unknown_client : rechaza cualquier conexión desconocida o que no tenga un registro PTR en el DNS.
permit_mynetworks : Permitir las peticiones que provengan de cualquier IP que este en $mynetworks
reject_maps_rbl : rechaza la peticion si la direccion de red esta en $maps_rbl_domains.
permit
reject
reject_unauth_pipelining
smtpd_client_restriction = check_client_access hash:/etc/postfix/access, reject_maps_rbl, permit_mynetworks, reject_unknown_client, reject
Requerir el Comando HELO
El parametro smtpd_helo_required determina si los clientes DEBEN enviar un HELO (o EHLO) al servidor antes de comenzar una sesion SMTP. Al requerir esto, se detiene gran parte del software usado para UCE.
Posee dos valores, yes y no. Por defecto, esta el valor no.
Restriccion de host para comando HELO
smtpd_helo_restrictions restringe aquellos hosts que pueden enviar el comando HELO.
Las restricciones posibles son:
reject_invalid_hostname : rechaza la peticion cuando HELO es enviado con una mala sintaxis de host. Retorna el error 501 por defecto.
permit_naked_ip_address : permite que la peticion contenga un numero ip sin uso de corchetes en vez de un hostname. Desafortunadamente, muchos programas UCE funcionan con este procedimiento
reject_unknown_hostname : equivalente a reject_unknown_client
reject_non_fqdn_hostname rechaza cuando el hostname en el comando HELO no esta de la forma especificada en el RFC821
check_helo_access maptype:mapname : exactamente igual a check_client_access
reject_maps_rbl reject_unknown_client : ya explicado
permit_mynetworks : ya explicado
check_client_access maptype:mapname : ya explicado
permit
reject
reject_unauth_pipelining
smtpd_helo_restrictions = permit_mynetworks, reject_invalid_hostname
RFC821
El parametro strict_rfc821_envelopes controla que tan tolerante es Postfix con respecto a las direcciones dadas en MAIL FROM o RCPT TO. Desafortunadamente, Sendmail permite mucho de los comportamientos no standard, asi que un software UCE explota este error. Siendo estricto con la forma del RFC821 no solo detiene correo no solicitado, sino que bloquea correo enviado por aplicaciónes mal desarrolladas.
Valores posibles son yes y no.
Restricciones del emisor
El parametro smtpd_sender_restriction restringe las direcciones que el sistema acepta cuando se ingresa el comando MAIL FROM.
Parametros:------**reject_unknown_sender_domain : rechaza una peticion cuando la direccion de correo del emisor no posee un registro A o MX en un DNS.
check_sender_access maptype:mapname : exactamente igual a check_helo_access
reject_non_fqdn_sender : ya explicado
permit_naked_ip_address
reject_invalid_hostname
reject_unknown_hostname
reject_non_fqdn_hostname
check_helo_access maptype:mapname
reject_maps_rbl
reject_unknown_client
permit_mynetworks
check_client_access maptype:mapname
permit
reject
reject_unauth_pipelining
Restricciones de destinatarios
El parametro smtpd_recipient_restrictions restringe los recipientes o destinatarios que acepta MAILSVR cuando se ejecuta RCPT TO.
Valores:
check_relay_domains : permite la peticion si la direccion del cliente esta
La direccion resuelta (DNS) corresponde a una maquina que pertenece a $relay_domains
cualquier maquina que este en $mydestination, $inet_interfaces o $virtual_maps
permit_auth_destination : ignora el hostname cliente. Permite la peticion si:
cualquier maquina que este en $mydestination, $inet_interfaces o $virtual_maps
reject_unauth_destination : Ignora el host cliente. Rechaza la peticion si NO concuerda con lo siguiente:
Postfix tiene la ultima palabra: cualquier destino que este en $mydestination, $inet_interfaces o $virtual_maps
permit_mx_backup : permite la peticion cuando el sistema de correo local resuelve un host MX. Esto incluye el caso que el sistema de correo local es el destino final. Sin embargo, el MAILSVR no enviara correo con rutas especificas de usuario (usuario@maquina@dominio)
check_recipient_address maptype:mapname : funciona exactamente igual que check_client_access.
reject_unknown_recipient_domain : rechaza la peticion cuando la direccion de correo si no posee un registro A o MX.
reject_non_fqnd_recipient : igual que reject_non_fqnd_sender
reject_unknown_sender_domain
reject_non_fqnd_sender
check_sender_access maptype:mapname : igual que check_client_access
permit_naked_ip_address
reject_invalid_hostname
reject_unknown_hostname
reject_non_fqdn_hostname
check_helo_access maptype:mapname
reject_maps_rbl
reject_unknown_client
permit_mynetworks
check_client_access maptype:mapname
permit
reject
reject_unauth_pipelining
Restriccion ETRN
El parametro smtpd_etrn_restrictions restringe los dominios que pueden ejecutar comandos ETRN.
Valores:------**check_etrn_access maptype:mapname : igual que check_client_access
permit_naked_ip_address
reject_invalid_hostname
reject_unknown_hostname
check_helo_access maptype:mapname
reject_maps_rbl
reject_unknown_client
permit_mynetworks
check_client_access maptype:mapname
permit
reject
reject_unauth_pipelining
Restricciones genericas
permit : permite la peticion
reject : rechaza la peticion
reject_unauth_pipelining : rechaza la peticion cuando el cliente envia comandos SMTP antes de tiempo sin saber que postfix soporta command pipelining. Esto detiene a programas de correo masivo que usan command pipelining para acelerar entregas.
Restricciones adicionales UCE
maps_rbl_domains : controla el comportamiento de reject_maps_rbl que aparece como parte de una lista de nombres/direcciones de un cliente. Estan desabilitadas por defecto.
maps_rbl_domains = rbl.maps.vix.com, dul.maps.vix.com
relay_domains : controla el comportamiento de check_relay_domains, reject_unauth_destination y permit_auth_destination.
relay_domains = $mydestination
Ahora que tenemos instalada la maquina, queremos evitar que la maquina sea usada para hacer SPAM. Las opciones que tenemos son las siguientes:
- Permitir a las maquinas locales poder hacer relay
- No permitir a las maquinas externas hacer relay
- Permitir a los clientes confiables hacer relay
- Denegar a los clientes no confiables a hacer relay
Para lograr estos objetivos, tenemos las siguientes herramientas:
- filtrado de cabeceras
- filtrado de contenido
- restricciones de hostnames/direcciones
- requerir el comando HELO
- restringir el comando HELO
- requerir direcciones de correo RFC821
- restricciones de emisores
- restricciones de destinatarios
- restricciones de ETRN
- restricciones genericas
- parametros UCE
Filtrado de cabeceras
La directiva header_checks restringe que cabeceras se permiten en un mensaje. Debe estar acompañada por una tabla lookup, generalmente una expresion regular.
header_checks = regexp:/etc/postfix/header_check
y creamos el archivo /etc/postfix/header_check con
/^to: *amigo@publico\.com$/ REJECT
Esto evita que direcciones del tipo miamigo@publico.com, noamigo@publico.com, amigo@publico.com puedan o enviar o recibir o usar el servidor.
Filtrado de contenido
La directiva body_checks permite hacer un filtrado del cuerpo del mensaje. Para su uso es necesario una tabla lookup, generalmente (y para facilidad) se usan tablas regexp. Por ejemplo, teniendo un archivo /etc/postfix/body_checks con lo siguiente:
/keyword/ REJECT
Esto evitara que alguien envie un correo que contenga en alguna parte del BODY del mensaje la palabra "keyword". Por defecto, las tablas regexp NO son sensitivas a las mayusculas.
Si se necesita que sea sensitivo a las mayusculas, se puede agregar "/i".
Restricciones de hostname/direccion
El parametro smtpd_client_restriction restringe que clientes aceptar.
Valores posibles :
check_client_access tabla:/file/name: generalmente se usa una tabla de tipo HASH. Contiene la forma de acceso del cliente al conectarse a MAILSVR.
reject_unknown_client : rechaza cualquier conexión desconocida o que no tenga un registro PTR en el DNS.
permit_mynetworks : Permitir las peticiones que provengan de cualquier IP que este en $mynetworks
reject_maps_rbl : rechaza la peticion si la direccion de red esta en $maps_rbl_domains.
permit
reject
reject_unauth_pipelining
smtpd_client_restriction = check_client_access hash:/etc/postfix/access, reject_maps_rbl, permit_mynetworks, reject_unknown_client, reject
Requerir el Comando HELO
El parametro smtpd_helo_required determina si los clientes DEBEN enviar un HELO (o EHLO) al servidor antes de comenzar una sesion SMTP. Al requerir esto, se detiene gran parte del software usado para UCE.
Posee dos valores, yes y no. Por defecto, esta el valor no.
Restriccion de host para comando HELO
smtpd_helo_restrictions restringe aquellos hosts que pueden enviar el comando HELO.
Las restricciones posibles son:
reject_invalid_hostname : rechaza la peticion cuando HELO es enviado con una mala sintaxis de host. Retorna el error 501 por defecto.
permit_naked_ip_address : permite que la peticion contenga un numero ip sin uso de corchetes en vez de un hostname. Desafortunadamente, muchos programas UCE funcionan con este procedimiento
reject_unknown_hostname : equivalente a reject_unknown_client
reject_non_fqdn_hostname rechaza cuando el hostname en el comando HELO no esta de la forma especificada en el RFC821
check_helo_access maptype:mapname : exactamente igual a check_client_access
reject_maps_rbl reject_unknown_client : ya explicado
permit_mynetworks : ya explicado
check_client_access maptype:mapname : ya explicado
permit
reject
reject_unauth_pipelining
smtpd_helo_restrictions = permit_mynetworks, reject_invalid_hostname
RFC821
El parametro strict_rfc821_envelopes controla que tan tolerante es Postfix con respecto a las direcciones dadas en MAIL FROM o RCPT TO. Desafortunadamente, Sendmail permite mucho de los comportamientos no standard, asi que un software UCE explota este error. Siendo estricto con la forma del RFC821 no solo detiene correo no solicitado, sino que bloquea correo enviado por aplicaciónes mal desarrolladas.
Valores posibles son yes y no.
Restricciones del emisor
El parametro smtpd_sender_restriction restringe las direcciones que el sistema acepta cuando se ingresa el comando MAIL FROM.
Parametros:------**reject_unknown_sender_domain : rechaza una peticion cuando la direccion de correo del emisor no posee un registro A o MX en un DNS.
check_sender_access maptype:mapname : exactamente igual a check_helo_access
reject_non_fqdn_sender : ya explicado
permit_naked_ip_address
reject_invalid_hostname
reject_unknown_hostname
reject_non_fqdn_hostname
check_helo_access maptype:mapname
reject_maps_rbl
reject_unknown_client
permit_mynetworks
check_client_access maptype:mapname
permit
reject
reject_unauth_pipelining
Restricciones de destinatarios
El parametro smtpd_recipient_restrictions restringe los recipientes o destinatarios que acepta MAILSVR cuando se ejecuta RCPT TO.
Valores:
check_relay_domains : permite la peticion si la direccion del cliente esta
- en
permit_auth_destination : ignora el hostname cliente. Permite la peticion si:
- la direccion resuelta (DNS) esta en
reject_unauth_destination : Ignora el host cliente. Rechaza la peticion si NO concuerda con lo siguiente:
- la direccion resuelta esta en
permit_mx_backup : permite la peticion cuando el sistema de correo local resuelve un host MX. Esto incluye el caso que el sistema de correo local es el destino final. Sin embargo, el MAILSVR no enviara correo con rutas especificas de usuario (usuario@maquina@dominio)
check_recipient_address maptype:mapname : funciona exactamente igual que check_client_access.
reject_unknown_recipient_domain : rechaza la peticion cuando la direccion de correo si no posee un registro A o MX.
reject_non_fqnd_recipient : igual que reject_non_fqnd_sender
reject_unknown_sender_domain
reject_non_fqnd_sender
check_sender_access maptype:mapname : igual que check_client_access
permit_naked_ip_address
reject_invalid_hostname
reject_unknown_hostname
reject_non_fqdn_hostname
check_helo_access maptype:mapname
reject_maps_rbl
reject_unknown_client
permit_mynetworks
check_client_access maptype:mapname
permit
reject
reject_unauth_pipelining
Restriccion ETRN
El parametro smtpd_etrn_restrictions restringe los dominios que pueden ejecutar comandos ETRN.
Valores:------**check_etrn_access maptype:mapname : igual que check_client_access
permit_naked_ip_address
reject_invalid_hostname
reject_unknown_hostname
check_helo_access maptype:mapname
reject_maps_rbl
reject_unknown_client
permit_mynetworks
check_client_access maptype:mapname
permit
reject
reject_unauth_pipelining
Restricciones genericas
permit : permite la peticion
reject : rechaza la peticion
reject_unauth_pipelining : rechaza la peticion cuando el cliente envia comandos SMTP antes de tiempo sin saber que postfix soporta command pipelining. Esto detiene a programas de correo masivo que usan command pipelining para acelerar entregas.
Restricciones adicionales UCE
maps_rbl_domains : controla el comportamiento de reject_maps_rbl que aparece como parte de una lista de nombres/direcciones de un cliente. Estan desabilitadas por defecto.
maps_rbl_domains = rbl.maps.vix.com, dul.maps.vix.com
relay_domains : controla el comportamiento de check_relay_domains, reject_unauth_destination y permit_auth_destination.
relay_domains = $mydestination
Valora este capítulo:
Autor y licencia de 'Postfix: Guía de Configuración - UCE - Unsolicited Commercial Email a.k.a. SPAM'
|
Opiniona sobre 'Postfix: Guía de Configuración - UCE - Unsolicited Commercial Email a.k.a. SPAM' (3)
Tu nombre debe tener tres caracteres como mínimo.
Es necesario que te des de alta con una cuenta de correo válida.
Es necesario que te des de alta con una cuenta de correo válida.
El contenido del título de tu opinión debe tener tres caracteres como mínimo.
Es obligatorio que selecciones una valoración del recurso.
El contenido del comentario de tu opinión debe tener tres caracteres como mínimo.
Opina sobre este tutorial |
Wikis relacionados con 'Postfix: Guía de Configuración - UCE - Unsolicited Commercial Email a.k.a. SPAM'
Desde que existe la publicidad, los mercadologos hemos tratado de identificar a nuestros clientes reales...
Más »
Juan Carlos Inostroza en sección Redes
DHCP es un servicio usado en redes para a)...
Más »
Para proteger nuestra navegación y filtrar la publicidad disponemos en el mundo windows de los...
Más »
Cómo funciona la sindicación de contenidos web, el sistema que está revolucionando internet y que...
Más »
La idea de este curso surgió de varias conversaciones entre amig@s de la cuadrilla y...
Más »

