Zentyal Forum, Linux Small Business Server
International => Spanish => Topic started by: maurolivero 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.
-
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.
-
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.
-
¿No tendrás ninguna regla anterior que te adminta las conexiones https?... en la reglas el orden es importante.
Un saludo.
-
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.
-
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.
-
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!!
-
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.
-
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.
-
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???.
-
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.
-
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.
-
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.
-
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
-
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.
-
Scorpiom, esto tampoco funcionó....
Pero bueno encontré otra solución al problema te comento lo que hice...
Edite el archivo /usr/share/ebox/stubs/squid/exceptionsitelist.mas
y dentro del mismo hay una parte que dice:
# Blanket SSL/CONNECT exception. To allow all SSL
# and CONNECT tunnels except to addresses in the
# exceptionsitelist and greysitelist files, remove
# the # from the next line to leave only a '**s':
**s
# Blanket SSL/CONNECT IP exception. To allow all SSL and CONNECT
# tunnels to sites specified only as an IP,
# remove the # from the next line to leave only a '*ips':
*ips
Lo que hice fue comentar las lineas **S y *ips. A partir de ahi pude bloquear con el proxy las paginas como por ej la pagina en cuestion y otras... Sin la utilizacion del Firewal..
Aguardo tus comentarios.
-
Bien!
Entonces Squid tiene mucho que ver con trafico https, es una buena pista.
Esta pregunta surge de vez en cuando, de como bloquear Facebook y otras paginas similares.
Voy a probar tu solucion apenas tengo la oportunidad.
Saludos.
-
Scorpiom o maurolivero,
Que tal te fue con ese cambio para el bloqueo de las https?
salu2