viernes, 13 de diciembre de 2019

Pfsense Squid SquidGuard Modo Transparente MITM vs Office365 Outlook.

He escuchado varios casos en distintas fuentes, en la redes sociales sobre el problema que a muchos les esta causando tener configurado PfSense con Squid+SquidGuard en modo transparente MITM.

Si es lo que uno desea, ya que el otro modo cuando hay equipos mobiles que no saben hablar con el protocolo WPAD se complican las cosas, se entiende, yo en lo personal prefiero este modo por que hay mas control y menos dolores de cabeza.

Pero el cliente lo que pida, claro que antes de explicandoles los pros y contras, y listo. Ahora regresando a el encabezado, a muchos los trae de cabeza cuando en las organizaciones usan office 365 en especial Outlook.

A unos les funciona sin problemas de estos me olvido, esto va para el resto que tienen intermitencia en el servicio, por de repente funciona para unos usuarios, para otros no y es una moneda al aire.

Cuando ya de plano quieren lanzar por la ventana a PfSense aqui les dejo una manera de atacar el problema, y esta es dejando salir a todos los IP's de la red de Outlook, a que me refiero?

Microsoft esta conciente que en muchos lugares hay proxies de por medio, por lo tanto ellos recomiendan sacar el trafico de sus servidores sin el proxy, como muchos sabemos, en el GUI de PfSense, Squid en especifico pestaña General hay una opcion asi:


En esta opcion nosotros podemos ingresar ya sea los IP(s), aliases, hostname, redes completas que no cruzaran por el proxy, lo que esta opcion hace es, cuando squid recibe los datos y uno de los paquetes que va a procesar cae en algunos de esos ya sea IP, hostname, alias, etc etc, si esto sucede no lo procesa, si no que le envia directo esa comunicacion a el firewall para que el decida que hacer.

De esta manera estamos brincando el proxy para esos destinos, ya nosotros tendremos que encargarnos de ya sea permitir o denegar su salida con el Firewall.

Outlook Office 365

Como les mencioe arriba, si ya de plano se las estan viendo dificil en su red, dejen salir el trafico de Outlook de esta manera.

Un detalle importante, muchos lo han tratado de hacer usando un Alias a los dominios de que usa Microsoft para el servicio de correo como:

  • outlook.office.com
  • outlook.office365.com
  • smtp.office365.com

La tecnica es buena, pero hay un detalle que se nos olvida, ahi voy...

Microsoft  y muchos otros grandes manejan miles de IP's para montar toda su infraestructura de servicios, llamese:

  • www.microsoft.com
  • www.office365.com
  • www.outlook.com
  • etc etc
Cuando uno accesa a uno de esos sitios, el dns nos puede regresar un IP distinto cada que uno de nuestros clientes trata de accesar, el DNS pregunta:

Dame el IP de smtp.office365.com ===> Respuesta 147.47.127.10

Llega otro cliente de tu red y hace la misma pregunta:

Dame el IP de smtp.office365.com ===> Respuesta 191.234.140.25

Y asi sucesivamente, que hace Pfsense cuando le damos ese alias?

El consulta el DNS y lo mismo, este le regresa un IP, nosotros en el firewall agregamos una regla donde le decimos que deje salir a ese destino llamado: smtp.office365.com, el tiene ya una IP que la mantiene un determinado tiempo en una tabla de memoria, pero o sorpresa.

No contabamos con que el dns nos puede dar otro IP distinto y cliente bloqueado, espero me haya explicado, si no me dicen y lo explico de otra manera.

Por que sucede esto? Como les comente Microsoft usa bloques de IP's donde ellos montan sus servicios para poder proporcionar todos los servicios que ellos venden, correo, azure, su portal, hotmail, etc etc, solo imaginense si solo tuviera un solo IP...seria imposible brindar el servicio,

Por eso ellos tienen muchos IP's disponibles para balancear toda su red y poder dar un buen servicio a su clientes o quien accese sus servicios.

Bloques de IP's

Ahora, con toda la novela que llevo viene la parte importante, donde estan todos los IP's para el servicio de correo de Microsoft? Bien como ellos estan concientes de los proxies, ellos mismos en esta pagina proporcionan la informacion:


Hechenle un ojo.

Que hacer con todo eso?

Ahora si podemos hacer nuestro alias con todo esos IP's para ahora si decirle a PfSense que todos esos IP's los brinque en el proxy y nosotros con el firewall ya sabremos que hacer.

Alias Pfsense

Yo encontre todos estos bloques, de favor no tomen esto como fuente, por ello les puse arriba la pagina oficial de microsoft para que ustedes los tomen de los creadores de office365.

13.107.6.152/31
13.107.18.10/31
13.107.128.0/22
23.103.160.0/20
40.96.0.0/13
40.104.0.0/15
52.96.0.0/14
131.253.33.215/32
132.245.0.0/16
150.171.32.0/22
191.234.140.0/22
204.79.197.215/32
40.92.0.0/15
40.107.0.0/16
52.100.0.0/14
52.238.78.88/32
104.47.0.0/17


Ahora todos estos bloques pueden crecer o sea aparecer nuevos, cuando esto suceda volveran a tener problemas, pero esto se solucionara facil, revisando la pagina fuente y sus logs de pfsense :-).

Nuestro alias quedarias mas o menos asi:


Pongan atencion, no salen todos, ustedes asegurense de agregar todos los bloques que encuentren de la pagina fuente, yo le llame a mi alias 'Outlook'.

Una vez hecho esto, lo que sigues es que puertos se deben abrir en el firewall? En la pagina nos dice esos detalles, yo le llame a este alias 'MAIL_PORTS':

  • 80
  • 443
  • 143
  • 993
  • 995
  • 587
Ahora como consejo, a estas alturas de la novela el puerto 143 ya no lo usen es un puerto que no se encripta, por ellos olvidense de el, si tienen clientes aun con esos puertos, ahi les dejo mi punto de vista.

Con esos puertos hacemos otro alias, este quedaria asi en mi PfSense, ustedes puede ponerle el nombre que gusten:


Estamos preparando el camino, ahora sigue Squid para decirle que el primer alias en mi caso llamado 'Outlook' no lo procese y se lo mande a el firewall.


Cuidado, al final lleva ';'. buzos caperuzos.

Regla en el Firewall

Ya con lo anterior hecho, lo que sigue es la regla para esos alias puedan nuestros clientes comunicarse con esos destinos en la LAN.


Configuracion Squid(By Pass)

Lo que sigues es ahora si decirle a Squid que todos los IP's que dimos de alta en el Alias en mi caso llamado 'Outlook' se los salte y se los pase a el firewall para que el no los procese quedando asi el campo: Bypass Proxy for These Destination IPs.


Salvamos y ahora si a probar de nuevo, ya no deberian tener problemas con su servicio de correo con Office365 por que el Squid ya no procesa esos paquetes, se los entrega directamente a el firewall y este tiene la orden de que fluya esa comunicacion a los puertos que le indicamos.

Algo que si les quiero mencionar es que no se confien 100% con estos bloques, a lo que voy es que pueden aparecer mas, por ello si esto les arregla su dolor de cabeza y posteriormente regresa el demonio, notan que de nuevo empiezan a perder comunicacion con sus usuarios, les recomiendo visitar de nuevo la pagina que les proporcione donde sacamos todos los IP's y ver si aparece algun bloque nuevo, ya que Microsoft puede comprar mas IP's sin problema, por dinero no paran ellos, y si no ven ningun IP nuevo, a lo mejor no han actulizado la pagina, entonces es hora de ir a Pfsense y analizar los logs, de todos modos Pfsense nos puede decir rapidamente si esta pasando esto, nada mas es cuestion de ponerse a revisar los logs, un buen TCPDUMP y listo.

Espero esto le quite el dolor de cabeza a uno que otro con eso me conformo, no se les olvide visitar mi canal y darle like a los videos si les ayudan y compartirlos con sus colegas.


Si requieren soporte comercial no duden en visitar mi pagina www.bajaopensolutions.com y contactarme, nos vemos hasta la siguiente novela, saludos banda!!!

1 comentario:

  1. Excelente post!

    Definitivamente es toda una novela que se torna de terror entre tantas IP y ante el desconocimiento.

    Gracias, pues tu publicación me curó un dolor de cabeza 👍🏼 

    ResponderEliminar