[Postfix espanol] Configuracion contra SPAM

Simon J Mudd sjmudd en pobox.com
Mie Ene 30 17:34:39 CET 2002


Espero que no te importa que lo vuelva a mandar a la lista.
No veo información secreta y creo que a lo mejor te has olviado contestar 
"a la lista".

On Wed, 30 Jan 2002, Administrador wrote:

> >>   - Cualquier persona que se conecte con ciertas IPs puede enviar a
> >>   quien quiera, pero solo si su FROM coincide con los que tenemos
> >>   almacenados.
> 
> SJM> Hablas aquí del envelope sender (lo que se usa en el MAIL FROM: en el
> SJM> intercambio SMTP), ¿no?
> 
> Si.

OK.

> SJM> Este punto es el que lo tienes que tener muy claro.  Si las ips son
> SJM> fijas y de tus clientes, puedes incluirlas en mynetworks.  Si son dinamicas no vale.
> 
> Como no vale? Si son dinámicas pero dentro de una red, no puedo
> autentificar directamente a la red (ej: 1.2.3.0/255.255.255.0)?

Depende. Si quieres incluir TODAS las direcciones ip dentro de la red que 
asignas entonces no haya problemas y defines mynetworks con el rango 
correspondiente.

$ /usr/sbin/postconf | grep mynetworks
mynetworks = 127.0.0.0/8, 44.133.0.0/16
mynetworks_style = subnet

Aquí considero mis redes 44.133.0.0/16 (debe estar más cerrado pero la red 
44.x.x.x no existe en Internet) y 127.0.0.0/8.

Tu incluirías tu 1.2.3.0/24 si fuera con la mascara que has indicado.

> SJM> Ten en cuenta que yo, y 100,000 personas más podemos mentir a tu MTA y
> SJM> así que el "envelope from" solo no vale al menos de clientes SMTP
> SJM> fuera de tu red.  La manera habitual de arreglar este problema es
> SJM> mediante una de varias tecnicas: pop-before-smtp o el uso de SASL o
> SJM> TLS.  El primero funciona modificando el servidor pop, para que cuando
> SJM> alguien conecta y se identifica via pop, se modifica otro fichero con
> SJM> su IP y un "TTL" tiempo que la conexión valga.  Postfix usa este
> SJM> fichero para comprobar si él que envía lo hace de una de estas ips.
> SJM> Periodicamente se limpia el fichero basado en el TTL.
> 
> Y sin caer en esas soluciones? Permitir solo cierto from al ser
> enviado desde cierto rango. Y además permitir CUALQUIER FROM si es un
> MX.

Serías un open-relay y con esto te meterían en las spam lists en 2 
minutos.  Esto, si te entiendo bien, que quieres aceptar corro con 
cualquier destino desde un cliente SMTP cuyo envelope from coincide con un 
dominio que tu actuas como MX relay.  No te explicas bien o te comprendo 
mal.

> SJM> Esto es muy fácil: relay_domains.  Incluyes una lista de los dominios
> SJM> para que recibirás correo. ¿O hablas de otra cosa?
> 
> Hablo de eso, pero en que lugar va? Lo puse en el
> smtpd_recipient_access pero no iba. En que lugar y en que orden?

Pues relay_domains va así:

relay_domains =
	$mydestination
	$mydomain
	localhost
	dominio1.com
	dominio2.com
	dominio3.com
	...

Si no recuerdo mal puedes poner la lista en /etc/postfix/algun-fichero

y hacer

relay_domains =
	file:/etc/postfix/algun-fichero

Y luego el uso de relay_domains va así:

smtpd_recipient_restrictions =
        permit_mynetworks
        reject_unauth_pipelining
        check_helo_access ldap:ldap_global_access
        check_sender_access ldap:ldap_global_access
        check_recipient_access ldap:ldap_global_access
        check_recipient_access hash:$config_directory/access
        ldap:ldap_global_access
        reject_invalid_hostname
        reject_non_fqdn_hostname
        reject_unknown_sender_domain
        reject_unknown_recipient_domain
        reject_non_fqdn_sender
        reject_non_fqdn_recipient
        reject_maps_rbl
        check_relay_domains

Como ves se puede mezclar el smtpd_xxxx_restrictions y es recomendable 
dear todas las restricciones en smtpd_recipient_restriccions.

La orden de la lista es importante ya que en principio el primer "macheo"
es el que cuenta.  Hay otras maneras de hacer las cosas, y esta 
configuración es sencilla pero me funciona y me permite restringir las 
cosas.  Tu seguramente tendrías más restricciones debido a ser un 
proveedor.  En mi caso son mis restricciones internas y porque comparto 
la configuración entre varias maquinas.

> SJM> Pues lo ideal sería enseñarnos el postconf -n, y _solo si es
> SJM> necesario_ limitando, o "manejando la salida".
> 
> Va el trozo relevante. Aunque es una de las pruebas que hice, no la
> que estoy usando actualmente.
> 
> maps_rbl_domains = inputs.orbz.org, outputs.orbz.org
> relay_domains = $mydestination, /etc/postfix/relay-domains

Creo que el formato de relay_domains lo tienes mal. Mira la documentacion.

> smtpd_client_restrictions = check_client_access hash:/etc/postfix/access, permit

el permit al final está mal.

> smtpd_helo_required = yes
> smtpd_recipient_limit = 200
> smtpd_recipient_restrictions = check_sender_access mysql:/etc/postfix/sender_access.sql, reject_unauth_destination
> smtpd_sender_restrictions = reject_unknown_sender_domain, check_sender_access mysql:/etc/postfix/sender_access.sql, permit

el "permit" final es preocupante.


Si fuera tu lo simplificaría

smtpd_client_restrictions =
smtpd_sender_restrictions =
smtpd_recipient_restrictions =
	check_client_access hash:/etc/postfix/access
	check_sender_access mysql:/etc/postfix/sender_access.sql
	reject_unauth_destination
	reject_unknown_sender_domain

Realmente como ves no estás comprobando la dirección de destino, ni estás 
usando rbl, ni comprobando las "relay_domains".

Echa un vistazo a lo que he hecho yo: quizá ayude.

Simon
-- 
Simon J Mudd,   Tel: +34-91-408 4878,  Mobile: +34-605-085 219
Madrid, Spain.  email: sjmudd en pobox.com,  Postfix RPM Packager

-
Para quitarte de la lista enviar la linea "unsubscribe postfix-espanol" en
el cuerpo de un mensaje a majordomo en ea4els.ampr.org



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