Author Topic: HTTPS con proxy NO transparente  (Read 9814 times)

maurolivero

  • Zen Apprentice
  • *
  • Posts: 13
  • Karma: +0/-0
    • View Profile
HTTPS con proxy NO transparente
« on: June 29, 2011, 05:00:44 pm »
Buenos dias, le comento mi escenario tengo Zentyal (PROXY NO TRANSPARENTE) y esclavo de un Active Directory replicando los usuarios para asignar los permisos a los diferentes grupos. Hasta ahi todo bien, el tema surge cuando quiero bloquear ciertas https como la de facebook, hotmail, etc. Probé varias cosas segun los comentarios de foro, como ser crear Objetos, y asigné las ip de las paginas como las de facebook. otra cosa que probe fue crear un servicio https con el puerto 443. Y luego restringi en Cortafuegos Reglas de filtrado para las redes internas y configure denegar.
Todo lo anterior no solucionaron el problema... Alguien pudo hacerlo con este tipo de Proxy.

Desde ya agradesco su tiempo.

Escorpiom

  • Zen Hero
  • *****
  • Posts: 897
  • Karma: +25/-1
    • View Profile
Re: HTTPS con proxy NO transparente
« Reply #1 on: June 29, 2011, 06:30:54 pm »
Trafico hhtps no va por el proxy, es una conexion directa. El proxy nada tiene que ver con https, sea transparente o no transparente.
La forma correcta para bloquear estas paginas es por el cortafuegos. Si no te funciona fijate que no hay otra regla que autoriza todo el trafico, pues Zentyal por defecto viene configurado de esta manera.

Saludos.
Marcus' Rule:
Blanks & capitals = avoid it and you'll avoid problems...

maurolivero

  • Zen Apprentice
  • *
  • Posts: 13
  • Karma: +0/-0
    • View Profile
Re: HTTPS con proxy NO transparente
« Reply #2 on: June 29, 2011, 10:07:35 pm »
Gracias Escorpiom por comentarme tu experiencia, voy a probar de bloquearla por Firewall. Lo que habia hecho antes, fue crear un Servicio llamado HTTS (Tcp/udp, Pto Origen: Cualquiera, Pto destino: 443). Luego en Firewal filtrado de paquetes Redes Internas (Desicion: Deny, Origen: Cualquiera, Destino: Cualquiera, Servicio HTTPS). De esta forma tampoco me funciona. Ya que esto lo lei en el foro pero sigue sin funcionar... o hay que hacer las reglas con iptables?.
Desde ya muchas gracias. 

sruedat

  • Zen Monk
  • **
  • Posts: 73
  • Karma: +1/-0
    • View Profile
Re: HTTPS con proxy NO transparente
« Reply #3 on: June 29, 2011, 11:34:52 pm »
¿No tendrás ninguna regla anterior que te adminta las conexiones https?... en la reglas el orden es importante.
Un saludo.

maurolivero

  • Zen Apprentice
  • *
  • Posts: 13
  • Karma: +0/-0
    • View Profile
Re: HTTPS con proxy NO transparente
« Reply #4 on: June 30, 2011, 10:22:34 pm »
Sruedat, estuve verificando y no tengo otra regla que admita HTTPS. Te cuento que volvi a crear todas las reglas nuvemante por las dudas... Hice un servicio llamdado https que en su configuracion tengo UTP/UDP pto origen cualquiera, pto destino puerto unico 443. Este esta desmarcado la opcion Interno.
Luego en Cortafuegos agregue la regla filtrado para las redes internas donde en desicion tengo DENNY origen Cualquiera y destino cualquiera y en servicio HTTS.
En Filtrado de paquetes ▸ Tráfico saliente de Zentyal tengo solo una regla que acepta todo el trafico a todo.
En Filtrado de paquetes ▸ Reglas añadidas por servicios de Zentyal (Avanzado) tengo agregada una linea que la debe haber agregado automaticamente que dice    
  Output    HTTP Proxy    -m state --state NEW -p tcp --dport 443    ACCEPT  y la misma tiene un tilde...
Si yo destildo esta el trafico por https se bloquea pero si yo saco esta voy a tener problemas cuando quiera habilitar la ciertas paginas de bancos que usan https.
Desde ya agradezco tu tiempo.

Escorpiom

  • Zen Hero
  • *****
  • Posts: 897
  • Karma: +25/-1
    • View Profile
Re: HTTPS con proxy NO transparente
« Reply #5 on: July 01, 2011, 01:23:24 am »
Es obvio.
Lo que puedes hacer es crear "objetos" en la cual incluyes las ip's que quieres bloquear.
Tambien puedes hacer objetos con las ip's que quieres autorizar.
Luego en el cotrafuegos en vez de aplicar la regla https para todos, aplica la regla para los network objects.

Osea una regla al principio trafico "https accept bancos"
y al final una regla "https deny all"

Saludos.
Marcus' Rule:
Blanks & capitals = avoid it and you'll avoid problems...

maurolivero

  • Zen Apprentice
  • *
  • Posts: 13
  • Karma: +0/-0
    • View Profile
Re: HTTPS con proxy NO transparente
« Reply #6 on: July 01, 2011, 02:06:16 pm »
Señores no se mas que probar... hice como me dijeron amigos.. hasta hice una regla interna en el firewall que deniega todo, Deny/Cualquiera/Cualquiera/Any (deberia bloquear todo) y la ubique arriba o sea primera.. y las https siguen saliendo!!!. Ya pienso que puede ser un problema de mi Zentyal, ya que a ustedes le va bien con esta configuracion... Una pregunta mas... donde puedo sacar todas las reglas de mi firewall por consola asi se las publico.. yo lo vi en iptables -L.
Ahh tambien probé destildando en Filtrado de paquetes ▸ Reglas añadidas por servicios de Zentyal (Avanzado) la ultima regla que se creó Output    HTTP Proxy    -m state --state NEW -p tcp --dport 443    ACCEPT... y el https sigue saliendo...
Saludos!!

maurolivero

  • Zen Apprentice
  • *
  • Posts: 13
  • Karma: +0/-0
    • View Profile
Re: HTTPS con proxy NO transparente
« Reply #7 on: July 01, 2011, 09:00:44 pm »
Estimados Encontré el problema!!!!!!!!!!!!!!!!!. Le comento mi experiencia, talcual como me dijeron ustedes cree el servicio https al puerto 443 y la regla interna que bloquea todo el trafico...
Bueno ahora viene la parte que me tomó tanto tiempo en encontrar.. como estaba trabajando con proxy no transparente tengo que en mi navegador configurar las opciones de ruteo de los diferentes servicios. Este por defecto usaba para todos servicios http, https, ftp etc el mismo servidor para todos los protocolos 3128. Cuando le asigno a Seguro el puerto correspondiente 443  de esa forma se soluciona automaticamente y desde ahi empieza a tomar la regla...
Desde ya agradezco todo su tiempo y aprovecho para dejar acentada la solucion a mi problema por si a algun usuario de Zential le sucede algo similar.

Escorpiom

  • Zen Hero
  • *****
  • Posts: 897
  • Karma: +25/-1
    • View Profile
Re: HTTPS con proxy NO transparente
« Reply #8 on: July 02, 2011, 12:35:12 am »
Hmmm voy a tratar de reproducir tu configuración, por ahora bien que se solucionó el asunto y tal vez esto puede servir para otras personas.

Saludos.
Marcus' Rule:
Blanks & capitals = avoid it and you'll avoid problems...

maurolivero

  • Zen Apprentice
  • *
  • Posts: 13
  • Karma: +0/-0
    • View Profile
Re: HTTPS con proxy NO transparente
« Reply #9 on: July 04, 2011, 04:25:57 pm »
Escorpiom, tenias razon de dudar... no me funciona, el viernes pense que si andaba y hoy cuando retomo el problema sigue... si me cerró el 443, pero porque no encontraba el puerto. No me sirve ya que tengo que dejar pasar ciertas paginas https. Asi que volvi todo como estaba.. Y lo que estoy viendo que si creo una regla en internal, cuando por consola hago un iptables-L no me la muestra... podrá ser que no la esté creando a la misma???.

Escorpiom

  • Zen Hero
  • *****
  • Posts: 897
  • Karma: +25/-1
    • View Profile
Re: HTTPS con proxy NO transparente
« Reply #10 on: July 05, 2011, 10:25:32 am »
A ver,
Las reglas van en "Filtering rules for internal networks" osea reglas para redes internas. Alli por defecto hay una regla que admite todo tipo de trafico. Si quieres bloquear alguna pagina https, deberias tener un servicio llamado "https" con puerto 443, y no es "interno".
Luego en filtrado de paquetes colocas la primera regla: Decision DENEGAR - Fuente CUALQUIERA - Destino Objeto LISTA DE BLOQUEO - Servicio HTTPS. (Mi Zentyal esta en Ingles, perdon)
En la lista de bloqueo colocas las IP que quieres bloquear.   

Asi deberia funcionar.

Saludos.
Marcus' Rule:
Blanks & capitals = avoid it and you'll avoid problems...

maurolivero

  • Zen Apprentice
  • *
  • Posts: 13
  • Karma: +0/-0
    • View Profile
Re: HTTPS con proxy NO transparente
« Reply #11 on: July 05, 2011, 03:08:22 pm »
Escorpion tal cual como me lo decis lo tengo configurado.... Ahora describo al maximo detalle mi configuracion....
Cree un objeto con los rangos de IP (69.63.176.0/20, 66.220.144.0/20, 204.15.20.0/22, 204.74.64.0/18) para sacar estos rangos primeramente hice un ping a www.facebook.com y con ese ip que me devuelve lo ingrese en www.whois.arin.net y obtube el CIDR y otros que encontre en internet. Luego hice servicio llamada https con protocolo  TCP port ANY y destination port Single port 443, el cual no esta marcado como interno.
Creo una nueva regla regla en filtering rules for internal network (como vos me dices) con decision DENY, source ANY, Destination objets FACEBOOK (la que creamos) y el servicio https.
Esta regla recientemente creada está por arriba de la regla por defecto ANY/ANY/ANY. O sea
DENY Any    Facebook    https
ACCEPT   Any    Any    any
Por las dudas mi configuracion del resto del Firewal es:
En Internal Network to Zentyal
ACCEPT    Any    usercorner
ACCEPT    Any    ldap    
ACCEPT    Any    ssh        
ACCEPT    Any    eBox administration        
En Trafic coming out from Zentyal
ACCEPT    Any    HTTP software    rule to allow apt updates    
ACCEPT    Any    any
Filtering rules from external networks to Zentyal
No tengo nada creado.
External networks to internal networks
No tengo nada creado.
Rules added by Zentyal services (Advanced)
   Input           HTTP Proxy    -m state --state NEW -p tcp --dport 3128             DROP    
   Input           HTTP Proxy       -m state --state NEW -i eth0 -p tcp --dport 3129    ACCEPT    
   NAT prerouting HTTP Proxy    -i eth0 -d 10.1.5.7 -p tcp --dport 3128                    REDIRECT --to-ports 3129    
   Output           HTTP Proxy    -m state --state NEW -p tcp --dport 80             ACCEPT    
   Output           HTTP Proxy    -m state --state NEW -p tcp --dport 443            ACCEPT    
Ya me da apuros en preguntarte tanto, desde ya muchisimas gracias por tu tiempo.   



Escorpiom

  • Zen Hero
  • *****
  • Posts: 897
  • Karma: +25/-1
    • View Profile
Re: HTTPS con proxy NO transparente
« Reply #12 on: July 06, 2011, 08:01:09 am »
Ok, buscamos un poco mas entonces....Hagale una prueba mientras estas en una maquina que deberia estar bloqueada, abre el facebook por https y luego abre una consola y digita "netstat" sin las comillas (asumo que son maquinas Windows, si son Linux tambien hay algo similar).
Ahi aparecen las conexiones activas. Es para ver si las reglas de bloqueo no tienen efecto, o tal vez se esta conectando a otra IP que aun no ha sido bloqueada.
Con el dato de las conexiones activas podemos volver a intentar. Me cuentas.

Saludos.
 

Marcus' Rule:
Blanks & capitals = avoid it and you'll avoid problems...

maurolivero

  • Zen Apprentice
  • *
  • Posts: 13
  • Karma: +0/-0
    • View Profile
Re: HTTPS con proxy NO transparente
« Reply #13 on: July 06, 2011, 10:04:10 pm »
Escorpiom te paso lo que me pediste.... mis equipos clientes son windows y actualmente estoy usando en esta pc Chrome. En las opciones de configuracion de Proxy lo volvi a poner que use el mismo servidor para todos los protocolos.. como por defecto..
Entro a https://www.facebook.com y la misma ingresa sin problemas. Las reglas estan aplicadas como quedamos anteriormente. Hago un netstat y obtengo lo siguiente:
Proto Dirección local Dirección remota Estado

TCP     pc-122:2238     10.1.5.7:3128     ESTABLISHED
TCP     pc-122:2257     10.1.5.7:3128      TIME_WAIT
TCP     pc-122:2259     10.1.5.7:3128      TIME_WAIT
TCP     pc-122:2261     10.1.5.7:3128      TIME_WAIT
TCP     pc-122:2263     10.1.5.7:3128       ESTABLISHED
TCP     pc-122:2265     10.1.5.7:3128      TIME_WAIT
TCP     pc-122:2267      10.1.5.7:3128      ESTABLISHED
TCP     pc-122:2271      10.1.5.7:3128      ESTABLISHED
TCP     pc-122:1116      localhost:22024      ESTABLISHED
TCP     pc-122:1117      localhost:22024      ESTABLISHED
TCP     pc-122:2237      localhost:30606       ESTABLISHED
TCP     pc-122:2258      localhost:30606       TIME_WAIT
TCP     pc-122:2262      localhost:30606        ESTABLISHED
TCP     pc-122:2266      localhost:30606        ESTABLISHED
TCP     pc-122:2270      localhost:30606        ESTABLISHED
TCP     pc-122:22024     localhost:1116         ESTABLISHED
TCP     pc-122:22024      localhost:1117        ESTABLISHED
TCP     pc-122:30606      localhost:2189       TIME_WAIT
TCP     pc-122:30606      localhost:2203        TIME_WAIT
TCP     pc-122:30606      localhost:2205        TIME_WAIT
TCP     pc-122:30606      localhost:2206        TIME_WAIT
TCP     pc-122:30606      localhost:2209        TIME_WAIT
TCP     pc-122:30606      localhost:2211        TIME_WAIT
TCP     pc-122:30606      localhost:2213        TIME_WAIT
TCP     pc-122:30606      localhost:2229        TIME_WAIT
TCP     pc-122:30606      localhost:2237         ESTABLISHED
TCP     pc-122:30606      localhost:2262         ESTABLISHED
TCP     pc-122:30606      localhost:2266          ESTABLISHED
TCP     pc-122:30606      localhost:2270         ESTABLISHED

La verdad que ya no se que mas probar..
Tambien probé de hacer una regla que bloquee todo el 443, pero con esta configuracion (que use los mismo puertos en la configuracion del navegador) sigue sin bloquearlas.
Cuando le cambio la configuracion que pase el trafico https por el 443, directamente me bloquea como que no me deja entrar al firewall.
Se me estan terminando las nuevas ideas ajajaja.
Aguardo tus comentarios
Saludos
 hoy me puse a ver iptables

Escorpiom

  • Zen Hero
  • *****
  • Posts: 897
  • Karma: +25/-1
    • View Profile
Re: HTTPS con proxy NO transparente
« Reply #14 on: July 07, 2011, 02:08:18 am »
Bueno ahi esta el problema, no hay ninguna conexión directa a una IP publica, casi todo es localhost.
El puerto 3128 es el puerto de Squid.
Lo que puede estar pasando es que por alguna razón el trafico https para el cortafuegos es proveniente del localhost osea el mismo Squid, para comprobarlo haga una prueba modificando el servicio "https" que creaste; en vez de colocar puerto 443 coloca el puerto 3128 o puerto 3129, el resto lo dejas ta cual. Veremos que pasa.

Saludos.
Marcus' Rule:
Blanks & capitals = avoid it and you'll avoid problems...