[RESUELTO]pfsense 2.3.1 - problemas con el envío de mail con adjuntos



  • Buenas tardes a todos, estoy teniendo un problema con la versión de pfsense 2.3.1, la misma está configurada como firewall y proxy  este último se entrega por medio de wpad. El pfsense se encuentra en la oficina y en un datacenter  externo tengo  el correo con zimbra.
    Anteriormente utilizaba el pfsense con el squid en modo transparente pero este no bloqueaba las web https y es por eso que cambie a la configuración antes mencionada.
    El problema que tengo es que puedo enviar mail siempre y cuando no tenga un adjunto superior a 1 MB. Si salto al pfsense  con una ruta estática en mi maquina estos problemas desaparecen.
    No se que es lo que es lo que está provocando que no salgan los mail  pero imagino que viene por la fragmentación de los paquetes.
    Si alguien puede darme alguna idea se lo voy agradecer

    Saludos



  • Hola

    Aqui hablan de lo mismo:
    https://forum.pfsense.org/index.php?topic=15177.0

    A lo mejor te da una idea.

    Por cierto, no es el pfsense el que se pone en modo transparente , es el proxy :)
    Imagino que squid.

    Salu2



  • Muchas gracias por la info ahora la reviso y ya corregi es verdad es el squid el que se configura en modo transparente.

    Saludos



  • Hola javcasta, gracias nuevamente por tu ayuda revise lo del MTU y lo baje a 1000 para realizar una prueba  y sigo con el mismo problema. Por lo tanto  no creo que sea por ahí el problema. Además esta misma configuración la realice en otro servidor y tuve el mismo resultado .
    Se te ocurre que otra cosa puede ser…

    Saludos



  • Hola.

    No se me ocurre más que podrias aumentar, en squid, el parámetro:

    Proxy Server: Cache Management > Local Cache: Maximum Object Size in RAM

    Ya que por lo visto, si te conectas sin proxy, te deja enviar adjuntos de más de 1MB, y vía proxy no, el meollo debe de estar en la conf de squid.

    Revisa la conf de squid (clamAV si lo tienes activado tb, y si tienes squidGuard tb) intenta enviar via proxy un email con adjunto de más de un MB y mira los logs de squid y del pfSense a ver si indican error o un bloqueo, etc

    Salu2



  • Sugerencias:

    PackageProxy Server: General SettingsGeneral
    Transparent Proxy Settings
    Bypass Proxy for These Source IPs  (PRUEBA con una IP local y manda desde ese equipo un correo con adjunto)

    PackageProxy Server: Cache ManagementLocal Cache
    Squid Cache General Settings
    Do Not Cache  (zimbra.dominio) No necesitas caché para el correo.

    PackageProxy Server: Access ControlACLs
    Squid Access Control Lists
    Unrestricted IPs  (ACA Haces otra prueba como en 1, salvo que no bypaseas el proxy, pasas a través de él con permiso para TODO)
    Whitelist  (zimbra) Asegúrate de tener tu server en whitelist, espero que tengas zimbra con clamav y spamassassing bien configurado.

    PackageProxy Server: Traffic ManagementTraffic Mgmt
    Squid Traffic Managment Settings
    Maximum Download Size [ Debe estar en 0 para ilimitado]
    Maximum Upload Size  [ Debe estar en 0 para ilimitado]

    Puedes hacer combinaciones con todas ellas, de acuerdo a tus necesidades.

    Saludos



  • Hola.

    Pues sí es buena idea que no cachee el proxy el envío de emails.

    Eso me recuerda que tuve que indicarle al squid que no me cacheara el dominio donde tenia un wordpress, pues presentaba problemas al publicar posts (hacer previews, etc). Parece que ciertas páginas dinámicas con php (como wordpress) no tiene mucho sentido hacer proxy cache con ellas.

    Salu2



  • Hola y gracias  a ambos por la ayuda, les comento en principio hasta donde recuerdo squid no realiza proxy de protocolo de mail no se si eso ha cambiado ahora o es distinto en pfsense. Igualmente hice todas las pruebas a continuación las comento.

    "… Proxy Server: Cache Management > Local Cache: Maximum Object Size in RAM...."

    Esta opción la tengo en 8 MB cuando el default es de 4 MB, por lo tanto esto no es

    PackageProxy Server: General SettingsGeneral
    Transparent Proxy Settings
    Bypass Proxy for These Source IPs  (PRUEBA con una IP local y manda desde ese equipo un correo con adjunto)

    Esta prueba no la puedo realizar ya que me traería problemas con la configuración con wpad. Si esto no es así y alguno me confirma que puedo realizar la prueba sin afectar la configuración lo hago

    PackageProxy Server: Cache ManagementLocal Cache
    Squid Cache General Settings
    Do Not Cache  (zimbra.dominio) No necesitas caché para el correo.

    agregue el dominio pero sigue todo igual

    PackageProxy Server: Access ControlACLs
    Squid Access Control Lists
    Unrestricted IPs  (ACA Haces otra prueba como en 1, salvo que no bypaseas el proxy, pasas a través de él con permiso para TODO)
    Whitelist  (zimbra) Asegúrate de tener tu server en whitelist, espero que tengas zimbra con clamav y spamassassing bien configurado.

    Esta configuración la la tengo así  pero sigo sin poder enviar adjuntos. Respecto al zimbra esta configurado con  clamav y spamassassing y funciona bien no es un problema del correo.

    PackageProxy Server: Traffic ManagementTraffic Mgmt
    Squid Traffic Managment Settings
    Maximum Download Size [ Debe estar en 0 para ilimitado]
    Maximum Upload Size  [ Debe estar en 0 para ilimitado]

    Es la configuración que utilizo

    Para mi el problema esta en la ruta que maneja el pfsense para ir al datacenter, si bien funciona perfecto con otros servicios como ssh al zimbra algo esta haciendo con los paquete smtp.
    Otra cosa mas que me olvide de mencionar… Para recibir archivos adjuntos llegan sin problemas sin importar el tamaño es decir la sincronización por imap  funciona sin problemas.
    Cuando comencé con la configuración de la rutas al principio se me caían las conexiones y eso lo solucione activando la siguiente opción  System /Advanced /Firewall & NAT  Static route filtering  --> Bypass firewall rules for traffic on the same interface.
    No se por ahí este dato sirva de algo ...

    Gracias a ambos por la ayuda y si se les ocurre algo mas se los voy a agradecer

    Saludos



  • @emmanuel.romero:

    Hola y gracias  a ambos por la ayuda, les comento en principio hasta donde recuerdo squid no realiza proxy de protocolo de mail no se si eso ha cambiado ahora o es distinto en pfsense. Igualmente hice todas las pruebas a continuación las comento.

    Zimbra tiene un cliente GUI por https, imaginaba que tu problema era por allí, no especificaste que usabas un MUA que no sea por HTTP, presumirpe que es outlook o thunderbird

    PackageProxy Server: General SettingsGeneral
    Transparent Proxy Settings
    Bypass Proxy for These Source IPs  (PRUEBA con una IP local y manda desde ese equipo un correo con adjunto)

    Esta prueba no la puedo realizar ya que me traería problemas con la configuración con wpad. Si esto no es así y alguno me confirma que puedo realizar la prueba sin afectar la configuración lo hago

    Ok, la idea es hacer una prueba para que vayas descartando que sea squid o pfsense, tenía entendido que estabas usando proxy transparente, si no es así, esta opción no te sirve… como comento, es solo a manera de prueba.

    PackageProxy Server: Cache ManagementLocal Cache
    Squid Cache General Settings
    Do Not Cache  (zimbra.dominio) No necesitas caché para el correo.

    agregue el dominio pero sigue todo igual

    Sí, me imagino, pensé que usabas el GUI de zimbra para los usuarios, tengo años que no instalo ni uso zimbra, pero su GUI en AJAX era muy bueno…

    PackageProxy Server: Access ControlACLs
    Squid Access Control Lists
    Unrestricted IPs  (ACA Haces otra prueba como en 1, salvo que no bypaseas el proxy, pasas a través de él con permiso para TODO)
    Whitelist  (zimbra) Asegúrate de tener tu server en whitelist, espero que tengas zimbra con clamav y spamassassing bien configurado.

    Esta configuración la la tengo así  pero sigo sin poder enviar adjuntos. Respecto al zimbra esta configurado con  clamav y spamassassing y funciona bien no es un problema del correo.

    Lo mismo, esto era pensando que usabas el cliente http

    PackageProxy Server: Traffic ManagementTraffic Mgmt
    Squid Traffic Managment Settings
    Maximum Download Size [ Debe estar en 0 para ilimitado]
    Maximum Upload Size  [ Debe estar en 0 para ilimitado]

    Es la configuración que utilizo

    Para mi el problema esta en la ruta que maneja el pfsense para ir al datacenter, si bien funciona perfecto con otros servicios como ssh al zimbra algo esta haciendo con los paquete smtp.
    Otra cosa mas que me olvide de mencionar… Para recibir archivos adjuntos llegan sin problemas sin importar el tamaño es decir la sincronización por imap  funciona sin problemas.
    Cuando comencé con la configuración de la rutas al principio se me caían las conexiones y eso lo solucione activando la siguiente opción  System /Advanced /Firewall & NAT  Static route filtering  --> Bypass firewall rules for traffic on the same interface.
    No se por ahí este dato sirva de algo ...

    Gracias a ambos por la ayuda y si se les ocurre algo mas se los voy a agradecer

    Saludos

    Los clientes de correo tienen cómo configurarse un servidor proxy para salir, si te fijas en el squid debe estar identificado el puerto 993 (IMAPS) tal vez necesites agregar 465 (SMTPS) para zimbra, es cierto que para correo no se usaba proxy, pero con SSL es otro comportamiento.

    Otra cosa que debes probar, es las opciones MIME del squid, aunque no has especificado qué tipo de archivos estás enviando, presumo que algo de eso puede afectar, investiga sobre eso…

    Saludos



  • Hola rodria, no de di cuenta que no aclare ese tema que es importante.
    Te cuento el zimbra web funciona bien no tiene ningún problema el problema lo presenta el zimbra desktop y el outlook.
    Con respecto a los adjuntos es por tamaño no por extensión ya que probé con doc, pdf, fotos, etc.
    Los puertos de zimbra son imap 993 y smtp 587. Los he agregado en ACL SSLPorts sin resultados 
    En outlook me da el error 0x800CCC0F y en zimbra desktop se queda en bandeja de salida
    Pero comente al principio si genero una ruta local en mi maquina saltandome al pfsense los mail salen normalmente.

    Saludos



  • @emmanuel.romero:

    Hola rodria, no de di cuenta que no aclare ese tema que es importante.
    Te cuento el zimbra web funciona bien no tiene ningún problema el problema lo presenta el zimbra desktop y el outlook.
    Con respecto a los adjuntos es por tamaño no por extensión ya que probé con doc, pdf, fotos, etc.
    Los puertos de zimbra son imap 993 y smtp 587. Los he agregado en ACL SSLPorts sin resultados 
    En outlook me da el error 0x800CCC0F y en zimbra desktop se queda en bandeja de salida
    Pero comente al principio si genero una ruta local en mi maquina saltandome al pfsense los mail salen normalmente.

    Saludos

    Ok, desactiva entonces cualquier opción de antivirus en pfSense (squid), es posible que el scaner del antivirus se "sature" porque el archivo es "grande"

    PackageProxy Server: Antivirus / Antivirus

    Si esta prueba te funciona, deberás estudiar/modificar

    PackageProxy Server: Antivirus / Antivirus
    Advanced Features
    Y allí deberás hacerle el tunning a los archivos de configuración.

    Por ejemplo, tienes una opción que por default tiene configurado 1MB

    #MaxZipTypeRcg 1M

    Ojo, no estoy diciendo que sea esa la causa, solo es un ejemplo, tal vez tengas que agregar algo que no esté ##Comentado.

    Saludos



  • Hola rodria, el antivirus de squid esta deshabilitado ….

    Saludos



  • Hola.

    https://social.technet.microsoft.com/Forums/office/en-US/9100a741-1352-44fe-a8ed-2629b74d501d/outlook-2013-365-0x800ccc0f?forum=outlook

    https://social.technet.microsoft.com/Search/es-ES?query=0x800CCC0F&ac=4

    Seria un detalle que mirases los logs (del squid y del firewall, etc) … o es que no ponen nada cuando te corta el envío de un adjunto?

    Por lo que he leido, el problema es más de Outlook que del pfSense, podrias recrear el perfil de Outlook el pst, etc

    Salu2



  • Hola javcasta, no es un problema de outlook ya que tuve que preparar una maquina con este ya que yo no lo uso además me pasa lo mismo con zimbra desktop.
    Esta noche he realizado una prueba nueva que ratifica lo que pienso de que hay un problema cuando rutea y el manejo de los paquetes smtp.
    La prueba que realice fueron las siguientes: baje el squid y squiguard deshabilite las reglas de firewall solo deje las que permiten salida a todos lados (las que vienen por default) probe navegar sin problemas lo único que mantuve fueron las rutas que me permiten llegar al datacenter por una tls y el problema sigue con el mismo error. Cosa que no me pasa cuando genero la ruta local en mi maquina y salto al pfsense.
    Otra cosa que probe fue de pasar un archivo por ssh de 5mb el cual paso sin problemas. Por lo tanto no es el squid ni las reglas de fw el que me esta provocando que los mail no salgan.

    No se si esto sirve para que me den alguna idea a probar

    Saludos



  • Saludos…

    Una consulta, puedes poner al pfSense como default gateway (sin configurarlo como proxy) y envías un correo con un adjunto de menos y de más de 1M?

    La otra prueba que puedes hacer, aprovechando que ssh te sirve... crea un tunel ssh y configuras tu host en modo proxy socks y prueba enviar un correo.

    Saludos



  • Hola rodria, te comento que esa prueba la hice anoche cuando no hay nadie en la oficina mediante escritorio remoto. El pfsense en mi default gateway  y es el que maneja las rutas  por el cual salto, por medio de otro equipo,  al datacenter. Es ahí donde se genera el problema con los paquetes smtp esto es así porque al generar una ruta en mi maquina saltandome al pfsense, es decir que redirecciono el trafico del correo directo al equipo que va al datacenter los mail funcionan sin problema.

    Un poco mas grafico

    (equipo en la oficina)–-------(pfsense)--------(TLS al datacenter)--------------(datacenter - zimbra)  Esta configuración bloquea los adjuntos

    (equipo en la oficina con ruta estática)--------(TLS al datacenter)--------------(datacenter - zimbra)  El correo funciona perfecto

    Hay un problema en el tratamiento de los paquetes smtp en el pfsense que no deja salir los adjuntos, y esto lo digo porque el servicio ssh funciona sin problemas además de otros tantos como http, https, imap y conexiones a diferentes servideres que están en el datacenter

    Saludos



  • Por eso hice la sugerencia de hacer el tunel ssh, si por el tunel funciona, al menos vas a estar 100% seguro que es un problema con el protocolo smtp y el enrutamiento.

    Por otro lado, podrías colocar el esquema de red con el pfsense?  rutas, gateways, rutas estáticas, nics, etc. etc.

    Saludos



  • Hola rodria, el tunel ssh funciono perfecto lo que ratifica lo que te estuve comentado. Respecto a la configuración del pfsense  es muy básica tiene dos placa de red una wan y una lan no uso virtual ip , además tiene configurado squid, squidguard y Lightsquid. Tengo otro equipo que hace de pasarela por medio de tls al datacenter  y la regla funciona correctamente ya que como te comente todos los otros servicios responde bien. Respecto a las reglas de firewall hasta que funcione todo lo único que bloqueo es el 443 y 80  para obligar pasar por el proxy (aunque tengo un aleas con excepciones) las redes internas todas están permitidas no hay restricción de puertos.

    El esquema básico sería así

    (PFsense - gw 192.168.2.2)
              |______________(192.168.2.3 tls  172.16.2.3)_______(Datacenter 172.16.2.0/24)–--(zimbra 172.16.2.21)
            | 
    (ofcina 192.168.2.0/24)

    la ruta en pfsense sería  --->  route add 172.16.2.0 mask 255.255.255.0  192.168.2.3

    Esto funciona bien para todo menos para el smtp

    Saludos



  • Hola

    (nota: no mirais los logs?, por lo que leo,  cualquier bloqueo del firewall se refleja en sus logs en /var/log/filter.log

    monitorizar bloqueos de puertos tcp a host 10.0.0.25

    clog -f /var/log/filter.log | grep block | grep tcp | grep "10.0.0.25"

    Y lo que pase con squid se refleja en

    tail -f /var/squid/logs/access.log

    Y desde gui, por supuesto….)

    A lo mejor ayuda:

    Default rule blocking Outlook RPC and HTTP RPC
    https://forum.pfsense.org/index.php?topic=63448.msg622314#msg622314

    @mattyC:

    I had this same very issue!
    My workaround was to remove the outlook profile then re-add it, all fixed, it took me hours and hours of tinkering to get to this point!

    Los misterios del Outlook :)

    Suerte

    Salu2



  • squid no es proxy de smtp ni pop3 ni imap (solo una aclaracion)



  • Hola

    Yraul, no de forma nativa, pero se puede configurar para que ese tráfico pase por squid

    http://squid-web-proxy-cache.1019090.n4.nabble.com/Can-squid-be-configured-as-SMTP-SMTPS-proxy-td2727188.html

    squid is NOT a native smtp proxy.

    altough, with the CONNECT method, most used by https connection on
    squid context, you can connect in any port and, indeed, you can have a
    SMTP session through squid. For that you would need:

    1. ACLs that allows CONNECT to TCP port 25 … default configurations,
      SSL_Ports acl specifically, do not allow that
    2. your smtp/smtps/whatever client would need to know how to tunnel
      connections through an https proxy

    if you can acchieve both (#1 is easy, it depends only on some few
    configurations), you could successfully tunnel ANY protocol through
    squid using CONNECT method, including your smtp and smtps.

    Salu2



  • Hola, en principio quiero agradecerles a todos por la ayuda prestada. En principio creo haber resuelto el problema mañana lo verificare con los usuarios.
    Respecto de si veo los log si lo hice y también realice captura de paquetes pero en ningún lado decía que estaba bloqueando el paquete, por otra parte hoy vi que después de 40 min o mas el mail terminaba saliendo por lo que me hizo pensar que el firewall estaba realizando algún chequeo del paquete que no hacia con los otros protocolos por lo que decidí bajar por completo el firewall en vez de eliminar todas las reglas. Esto lo realice con el siguiente comando pfctl -d
    Al realizar esto los mail funcionaban sin problemas tanto con outlook como con zimbra desktop entonces realice una regla exclusiva para el correo y  mirando las opciones abanzadas me encontré con el estado Sloppy state (que por cierto vi en varias reglas automáticas que genera el fw)  por default esta opción viene en keep. Y problema solucionado todos los mail funcionan correctamente para ambos clientes de mail.
    Por lo tanto la regla queda como se ve en el adjunto

    Estas fueron las paginas consultadas para realizar  lo antes expuesto

    https://blog.linuxnet.ch/pfsense-important-cli-commands/

    https://www.pfsense.org/about-pfsense/features.html

    Nuevamente gracias a todo y mañana confirmo si no surgió otro problema

    Espero le sirva a alguien mas

    Saludos








  • Hola.

    Pues me alegro que se haya aclarado el "misterio".

    La solución que has implementado, parece ser que en escenarios con "Asymmetric Routing" (enrutamiento asimétrico) es lo que recomienda este doc de la doc de pfSense:

    https://doc.pfsense.org/index.php/Asymmetric_Routing_and_Firewall_Rules

    Dan dos soluciones ante este escenario:

    Automatic fix: Marcar (check) en System > Advanced > Firewall/NAT: Bypass firewall rules for traffic on the same interface option

    Automatic Fix

    The Bypass firewall rules for traffic on the same interface option located under System > Advanced on the Firewall/NAT tab activates rules for traffic to/from the static route networks which are much more permissive when it comes to creating states for TCP traffic and allowing it to pass. The rules allow any TCP packets, regardless of their flags, to create a state and also have the "sloppy state" type set which performs a less strict state match.

    Manual fix: Lo que ha hecho emmanuel.romero

    Manual Fix

    The same rules may be created manually by adding one on the affected interface tab (e.g. LAN), and a second rule on the Floating tab using the same interface (LAN again) to match the traffic in the out direction. The rule must be set for a protocol of TCP, under TCP flags check Any Flags, and use a State Type of Sloppy State. The options for TCP flags and State Type can be found in the Advanced Features of the rules, under the normal options.

    Salu2



  • Hola javcasta, es correcto lo que decís. La opción de bypass la tuve que marcar debido a que se me caían las conexiones ssh a los pocos segundos de iniciarla pero esta no es efectiva para el problema del mail.
    Hoy ya hice varias pruebas y todo funciona perfecto.

    Saludos y nuevamente gracias a todos



  • hola.

    disculpa me puedes ayudar con mas detalle como solucionaste este problema? es que tengo el mismo caso.

    los correos desde outlook no salin ni entran despues que instale el pfsense.

    tengo dos redes:
    1 WAN y 1 LAN, tambien instale squid y squidguard, para navegar por internet estoy bien, el problema es el envio y recepcion de correos por outlook.


Log in to reply