[Postfix-es] Problemas con Postfix y Amavis-new

Simon J Mudd sjmudd en pobox.com
Lun Jul 18 20:02:35 CEST 2005


dgrvedado at gmail.com (David González Romero) writes:

> Despues de volver a decidirme a usar Postfix me he encontrado con un
> sin numero de problemas. Les planteo lo que quiero hacer y despues lo
> que hice, como lo hice y que software estoy usando.
> 1- Quiero recivir mensajes para dos dominios snap.cu y snap.co.cu.
> Ambos dominios son controlados por mi y sus MX respectivos apuntan al
> mismo servidor de correo mx1.snap.co.cu y mx1.snap.cu --->
> 200.55.173.194, como alternativo tengo el mx2.snap.co.cu y mx2.snap.cu
> ---> 200.55.173.195, pero este no esta online ahora ya que algun error
> encontre en el Sendmail que tenia puesto y estoy tenidendo un trafico
> saliente muy elevado y no logro detectar que es, pero esto no es para
> discutir en esta lista.

Primero si usas el mismo servidor como registro MX no le des 2 nombres. Usa uno.

En el DNS haz algo como:

snap.cu.        IN MX 10        mx1.snap.cu.
                IN MX 20        mx2.snap.cu.

...

snap.co.cu.     IN MX 10        mx1.snap.cu.
                IN MX 20        mx2.snap.cu.

Da igual que el MX esta en otro dominio y te simplificaria luego el
mantenimiento si tienes que cambiar de ip o cualquier otra cosa.

> 2- Quiero pasarles todos los mensajes que llegan a mx1... a un
> servidor el cual no tiene acceso directo a internet y que se comunica
> con mx1 por medio de una interface interna. mx1 y este server (intra)
> se ven perfectamente bien, o sea se hacen ping e intra tiene un
> postfix que funciona muy bien y que envia correo al esterior por medio
> de mx1, por medio de la funcion relay = necro, donde necro esta puesto
> en el /etc/hosts como numero.ip   necro.

Postfix no usa /etc/hosts pero puedes facilmente configurar una entrada en transport_maps para tus dominios:

main.cf

transport_maps =
        hash:/etc/postfix/transport

/etc/postfix/transport

snap.cu        smtp:[ip.interna.algo]
snap.co.cu     smtp:[ip.interna.algo]

Si tienes un DNS interno, puedes configurar registros MX internos y solo tendrias que hacer:

/etc/postfix/transport

#esto usar los registros MX para determinar a donde enviar el correo.
snap.cu        smtp:snap.cu
snap.co.cu     smtp:snap.co.uk

> 3s - Quiero revizar/chequear/analizar/filtrar con Amavis-new, ClamAV y
> Spamassasin toda la mensajeria que entra y sale de mx1.
> 

[snip]

Siempre es mejor mostrar la salida de postconf -n (para que podamos
ver las configuraciones en main.cf que no son las determinadas).

[snip]

> #IDENTIFICACION DE LOCAL USERS
> local_recipient_maps = $alias_maps unix:passwd.byname

Si esta maquina solo actua como "relay", esta opcion esta mal.
No debes tener usuarios locales.

> #smtpd_helo_restrictions = (Esto lo tengo comentariado pues en mi pais)
>         #reject_invalid_hostname (muchas zonas inversas no estan configuradas)
>         #reject_unknown_hostname (y me puede traer problemas a la hora de)
>         #reject_non_fqdn_hostname (aceptar mensajes de dominios .cu)

Efectivamente, _mucha_ gente no sabe configurar sus servidores, pero
es mejor al menos habilitar la ultima comprobacion.

> #VERSION
> mail_name = Postfix+TLS+SASL/CNAP-v1.0/Firewall
> smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)

No muestras a proposito el software que estas usando.

Normalmente se puede "ver" que usas Postfix pero es mejor no "ofrecer"
la informacion sobre version y software instalado.

Mejor:

smtpd_banner = $myhostname ESMTP

> Ahora bien en el amavis.conf modifique esto parametros, guiandome por
> el articulo de Bulma de Fernando J. Pereda:
> $mydomain = 'snap.co.cu';
> $sa_tag_level_deflt  = 4.0;  
> $sa_tag2_level_deflt = 5.0; 
> $sa_kill_level_deflt = $sa_tag2_level_deflt;
> $notify_method  = $forward_method;
> $forward_method = 'smtp:127.0.0.1:10025'; 
> $final_spam_destiny       = D_PASS;
> # ### http://www.clamav.net/
>  ['ClamAV-clamd',
>    \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.sock"],
>    qr/\bOK$/, qr/\bFOUND$/,
>    qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
> 
> Aqui pase un poco de trabajo porque Clamav viene preparado para
> escuchar por un puerto TCP y no por un Socket. En el clamd.conf
> modifique eso:
> TCPAddr 127.0.0.1
> #TCPSocket 3310
> LocalSocket /var/run/clamav/clamd.sock

No. Amavisd habla con clamav.  No debes tener que cambiar la
configuracion. (creo).  Al menos clamav no debe escuchar a un puerto
tcp.

> Yo imagino que todo esta bien, pues no. Sucede que pasa esto en el log
> /var/log/maillog (solo un fragmento):
> 
> Jul 18 11:43:11 firewall postfix/qmgr[28425]: 8AF0995200: removed
> Jul 18 11:43:17 firewall postfix/smtpd[28488]: A20B295200:
> client=libertad.velug.org.ve[150.188.8.196]
> Jul 18 11:43:21 firewall postfix/cleanup[28503]: A20B295200:
> message-id=<42DBB04E.5000401 at nextj.com>
> Jul 18 11:43:21 firewall postfix/qmgr[28425]: A20B295200:
> from=<l-linux-admin at velug.org.ve>, size=5116, nrcpt=1 (queue active)
> Jul 18 11:43:21 firewall postfix/smtp[28529]: A20B295200:
> to=<dgr at snap.co.cu>, relay=172.16.0.4[172.16.0.4], delay=6,
> status=sent (250 Ok: queued as 262F315AAAD)
> Jul 18 11:43:21 firewall postfix/qmgr[28425]: A20B295200: removed
> Jul 18 11:43:54 firewall amavis[28511]: (28511-03) FWD via SMTP:
> <jcecil at audubon.org> -> <susy at snap.co.cu>, 450 4.4.1 Can't connect to
> 127.0.0.1 port 10025, Bad file descriptor at /usr/sbin/amavisd line
> 4217, <GEN36> line 1786., MTA([127.0.0.1]:10025), id=28511-03

Postfix no escucha al puerto 10025. Desactiva amavis hasta que ves que
Postfix escucha en los puertos 25 y 10025.  Despues puedes activar amavisd.

> Jul 18 11:43:54 firewall postfix/master[28421]: warning: process
> /usr/libexec/postfix/smtpd pid 28544 killed by signal 11
> Jul 18 11:43:54 firewall postfix/master[28421]: warning:
> /usr/libexec/postfix/smtpd: bad command startup -- throttling

Mira la causa de este problema. Algo esta mal con smtpd.

> Jul 18 11:43:54 firewall amavis[28497]: (28497-06) FWD via SMTP:
> <unaaldia-admin at hispasec.com> -> <dgr at snap.cu>, 450 4.4.1 Can't
> connect to 127.0.0.1 port 10025, Bad file descriptor at
> /usr/sbin/amavisd line 4217, <GEN80> line 10478.,
> MTA([127.0.0.1]:10025), id=28497-06
> Jul 18 11:43:54 firewall postfix/master[28421]: warning: process
> /usr/libexec/postfix/smtpd pid 28545 killed by signal 11
> Jul 18 11:43:54 firewall amavis[28497]: (28497-06) Blocked CLEAN,
> [62.15.230.161] <unaaldia-admin at hispasec.com> -> <dgr at snap.cu>,
> Message-ID: <20050718151805.1A647951FE at mx1.snap.co.cu>, mail_id:
> b2kuektEgpia, Hits: 2.004, 60379 ms
> Jul 18 11:43:54 firewall amavis[28511]: (28511-03) Blocked CLEAN,
> [38.136.24.21] <jcecil at audubon.org> -> <susy at snap.co.cu>, Message-ID:
> <CB4985851F313A47B583FFC7DE4F9FE1093F01E9 at cardinal.int.audubon.org>,
> mail_id: fReSw9RDdaLg, Hits: 4.12, 120168 ms
> Jul 18 15:43:54 firewall postfix/smtp[28427]: 1A647951FE:
> to=<dgr at snap.cu>, relay=127.0.0.1[127.0.0.1], delay=1549,
> status=deferred (host 127.0.0.1[127.0.0.1] said: 450 4.4.1 Can't
> connect to 127.0.0.1 port 10025, Bad file descriptor at
> /usr/sbin/amavisd line 4217, <GEN80> line 10478.,
> MTA([127.0.0.1]:10025), id=28497-06 (in reply to end of DATA command))
> Jul 18 15:43:54 firewall postfix/smtp[28426]: 0011B951D3:
> to=<susy at snap.co.cu>, relay=127.0.0.1[127.0.0.1], delay=5608,
> status=deferred (host 127.0.0.1[127.0.0.1] said: 450 4.4.1 Can't
> connect to 127.0.0.1 port 10025, Bad file descriptor at
> /usr/sbin/amavisd line 4217, <GEN36> line 1786.,
> MTA([127.0.0.1]:10025), id=28511-03 (in reply to end of DATA command))
> 
> Segun logro identificar todos los mensajes estan en el Amavis porque
> Postfix no levanto el puerto 10025 para recepcionar los mensajes y
> segun veo da un error con el comando smtpd.

Efectivamente.  Desactivar amavisd "content_filter = " y solucionar el
problema de Postfix primero.

Mira los cambios que has hecho (postconf -n) y determinar por que
smtpd no puede arrancar correctamente. (quiza es solo la entrada en :10025?)

?Funciona Postfix correctamente si desactivas amavis y desactivas la entrada de :10025 en master.cf?

Simon


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