Postfix check_policy_service: solo verifica el correo entrante, ignorando el interno y el saliente

Postfix check_policy_service: solo verifica el correo entrante, ignorando el interno y el saliente

Estoy intentando configurar un servidor con políticas en Centos x64 (selinux deshabilitado), lo que me permitirá limitar la cantidad de mensajes entrantes de diferentes servidores y (más importante) salientes de diferentes cuentas de usuario. Por el momento, creo que tengo una configuración funcional para limitar el correo entrante (por ejemplo, de Google), pero no puedo hacer que Postfix realice las mismas comprobaciones de políticas para el correo interno y saliente.

Aquí está el problema (por el momento solo estoy intentando que Postfix utilice el servicio de políticas)

Agregué las siguientes líneas a main.cf

smtpd_recipient_restrictions = check_policy_service inet:127.0.0.1:10031,   reject_unauth_destination
smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10031

Y política deshabilitada (para prueba)

Al enviar correo desde otro host (de Gmail, por ejemplo) a esta máquina, en los registros de Postfix hay un error que indica que no se puede acceder al servidor con políticas.

Sep 10 10:40:23 centosvbox1 postfix/smtpd[9378]: connect from unknown[IP_ADDRESS]
Sep 10 10:40:23 centosvbox1 postfix/smtpd[9378]: warning: connect to 127.0.0.1:10031: Connection refused
Sep 10 10:40:23 centosvbox1 postfix/smtpd[9378]: warning: problem talking to server 127.0.0.1:10031: Connection refused
Sep 10 10:40:24 centosvbox1 postfix/smtpd[9378]: warning: connect to 127.0.0.1:10031: Connection refused
Sep 10 10:40:24 centosvbox1 postfix/smtpd[9378]: warning: problem talking to server 127.0.0.1:10031: Connection refused

lo que significa que postfix intenta acceder al servidor con políticas (que funciona como se esperaba)

Sin embargo, cuando intento enviar correo desde la consola (con mailx) al usuario raíz (cuenta local) o a otro lugar (gmail), no se realizan tales búsquedas: el correo simplemente se desliza, sin siquiera intentar acceder a la política.

echo "ksfdhjksf" | mail -s "kjfhkjsfkjsfd" root

Sep 10 10:42:03 centosvbox1 postfix/cleanup[9386]: 9B606417D9: message-id=<20130910084203.9B606417D9@domain>
Sep 10 10:42:03 centosvbox1 postfix/qmgr[9342]: 9B606417D9: from=<root@domain>, size=458, nrcpt=1 (queue active)
Sep 10 10:42:03 centosvbox1 postfix/local[9388]: 9B606417D9: to=<root@domain>, orig_to=<root>, relay=local, delay=0.04, delays=0.03/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to mailbox)
Sep 10 10:42:03 centosvbox1 postfix/qmgr[9342]: 9B606417D9: removed

Lo que me hace preguntarme: ¿por qué check_policy_service no funciona? (creo que esto es un problema de postfix)

¿Alguien tiene alguna idea de cómo limitar los usuarios del sistema (por ejemplo, la aplicación web) en el envío de correos electrónicos?

Respuesta1

Usted definió la política de registro smtpd_*_restrictions, por lo tanto, nunca se consultará el correo generado localmente, porque este tipo de correo se inyecta en la cola de Postfix utilizando el pickup(8)servicio. Para evitar esto, necesitarás modificar master.cfy agregar una content_filterinstancia al pickup(8)servicio (y por supuesto, también necesitarás agregar dicha instancia de filtrado de contenido, echa un vistazo aFiltrado de contenido.

FWIW, no creo que valga la pena el esfuerzo de hacer esto. Nadie debería poder generar correo local en una puerta de enlace de correo, y esnola puerta de enlace de correo central, de todos modos estás limitando en el lugar equivocado.

información relacionada