
Muchos de nosotros hemos utilizado el Proxy Squid en el sistema operativo GNU/Linux y sabemos que se puede bloquear el acceso a diferentes sitios web a través de la creación de ACLs y dar privilegios a unos usuarios mas que a otros, sin embargo no podemos analizar las conexiones seguras debido a su naturaleza.
Cabe indicar que está publicación esta basada en la distribución Linux Debian Squeeze y Squid 2.6.
Problema
Hoy en día existen programas como el Ultrasurf que le permite a un usuario pasar por alto los controles establecidos desde una ACL en el PROXY, esto lo realiza este programa utilizando la conexión del puerto 443 (HTTPS) lo que se refiere a las conexiones seguras, con esto este programa garantiza que no se analizará el tráfico que circula por el proxy y se podrá conectar a servidores proxy anónimos en Internet y navegar con toda libertad, muchos pensarán que seria mejor bloquear las direcciones de esos servidores anónimos pero creanme es muy larga la lista.Lo podemos observar de la siguiente manera:
tcpdump -i eth0 host 192.168.1.10 and port 443
Antes de proseguir es necesario especificar que debemos instalar el paquete tcpdump. La interface eth0 se refiere a la conexion de intranet que da el servicio de Internet a nuestros usuarios.
Solución
Quiza para algunos la solución que voy a sugerir no es una de las mejores sin embargo funciona a la perfección, la solución pasa por deshabilitar el puerto 443 a traves de IPTABLES con el siguiente comandoiptables -A FORWARD -p tcp --dport 443 -j DROP
Con la regla antes mencionada evitamos que se realice cualquier conexión segura, sin embargo existen sitios en donde si queremos que se pueda accesar, sitios de instituciones de gobierno y bancos.
para esto podemos habilitar antes de la regla antes mencionada los IPs que tendrán acceso al cualquier sitio seguro, esto lo podemos hacer con la siguiente regla:
iptables -A FORWARD -s 192.168.1.10 -p tcp --dport 443 -j ACCEPT
Pero talvez se nos presenta otro problema el tener que ingresar muchas direcciones para que tengan acceso a sitios seguros, entonces para esto habilitamos los sitios que necesitan los usuarios en general y que son de competencia de su trabajo, esto lo hacemos de la siguiente manera:
iptables -A FORWARD -s www.iess.gob.ec -p tcp --dport 443 -j ACCEPT
Muchos diran que quieren habilitar servicios para los correos electrónicos como gmail, hotmail y yahoo y que estos disponen de muchas direcciones y es tedioso tener que ingresar todas, para esto podemos habilitar un rango de direcciones utilizando lo siguiente:
iptables -A FORWARD -p tcp -m iprange --dst-range 74.17.204.1-74.17.204.200 --dport 443 -j ACCEPT
Es decir identificamos las IPs que utiliza el gmail y habilitamos su rango con esto garantizamos el acceso al servicio y en una sola linea.
Identificando IPs a habilitar
La forma en como podemos identificar las IPs que esta accesando el usuario y son necesarias se lo puede hacer de la siguiente manera:tcpdump -i eth0 host 192.168.1.10 and port 443
y obtendremos algo como lo siguiente:
09:01:44.090970 IP 192.168.1.123.47708 > by132oim.mail.services.live.com.https: S 2047155850:2047155850(0) win 5840 09:01:50.091610 IP 192.168.1.123.47708 > by132oim.mail.services.live.com.https: S 2047155850:2047155850(0) win 5840 09:02:02.094537 IP 192.168.1.123.47710 > by132oim.mail.services.live.com.https: S 2369713159:2369713159(0) win 5840 09:02:05.093104 IP 192.168.1.123.47710 > by132oim.mail.services.live.com.https: S 2369713159:2369713159(0) win 5840 09:02:11.093700 IP 192.168.1.123.47710 > by132oim.mail.services.live.com.https: S 2369713159:2369713159(0) win 5840 09:02:23.096878 IP 192.168.1.123.47711 > by132oim.mail.services.live.com.https: S 2698426699:2698426699(0) win 5840 09:02:26.095191 IP 192.168.1.123.47711 > by132oim.mail.services.live.com.https: S 2698426699:2698426699(0) win 5840
Luego que nos obtenemos el dominio como en algunos casos el gmail procedemos a copiar esa linea y hacemos lo siguiente:
host by132oim.mail.services.live.com
Espero esta publicación sirva para aliviar el dolor de cabeza de mas de un administrador, cualquier sugerencia o comentario es bienvenida.
PD: Al final voy a adjuntar un archivo con reglas de iptables para habilitar gmail, hotmail, yahoo.
Secciones
Excelente aporte, voy a
Dudas ...
En respuesta a Dudas ... por Teófilo Silves… (no verificado)
Es con iptables
no puedo descargar el archivo
He intentado en diferentes ocasiones pero no puedo descargar el archivo, me lo podrias mandar a mi correo?
armando_afmx@yahoo.com.mx
En respuesta a no puedo descargar el archivo por moltenuaem (no verificado)
Intentalo nuevamente
Buen aporte
buen aporte, el problema es que en organizaciones grandes la lista de sitios seguros (https) se te hace interminable, entonces el trabajo es muy tedioso! una solucion definitiva es la implementacion de layer 7 en tu kernel y listo!
En respuesta a Buen aporte por falcom (no verificado)
Gracias a ti
Excelente , solo tengo un
Excelente , solo tengo un ligero problema. . . he cerrado satisfactoriametne el puerto 443 abriendo despues el acceso solo a algunos sitios seguros, me permite conectarme si coloco la IP pero, si pongo URL no se conecta ¡sabes a que pueda deberse esto?
Espero puedas orientarme, muchas gracias!!!!
Aqui también está explicado
Aqui también está explicado con mucho detalle usando una ACL
http://www.maravento.com/2013/03/firewall.html