Necesito crear un servidor proxy de sólo cifrado. Con esto quiero decir que, desde cualquier parte del mundo, me gustaría que todo el tráfico de Internet de las computadoras portátiles de la empresa se cifrara y se enrutara a través de este único servidor. El almacenamiento en caché sería bueno, pero no obligatorio; El cifrado entre la computadora portátil y el servidor es el único requisito.
¿Cuáles son algunas formas de lograr esta configuración? He estado leyendo sobre Squid, pero no encontré demasiada información sobre cifrado. Supongo que habría algo de SSL o SSH involucrado, pero soy realmente nuevo en esta área. Los navegadores serían el usuario principal de la conexión, aunque también sería bueno admitir clientes de mensajería instantánea y correo electrónico. Los clientes serían Windows y nix, mientras que el servidor podría ser cualquier cosa de código abierto.
Editar:Ha quedado claro que una VPN sería una mejor solución que un proxy. Antes de aceptar una respuesta, ¿alguien podría comentar sobre esto?
¿Qué sucede cuando las computadoras portátiles se conectan a otra red corporativa? Por ejemplo, los consultores se sientan en la oficina de la empresa ABC. Necesitan abrir un sitio de intranet como myabc.internal.com por cualquier motivo. Creo que los servidores DNS de la intranet normalmente resolverían esto correctamente. Si estoy conectado a esta VPN, ¿funcionaría? Entiendo que un navegador que se conecte a un proxy tendría el mismo problema, pero podría tener dos navegadores: uno a través de proxy y otro no. ¿O esto no sería un problema con la VPN?
Respuesta1
Estoy de acuerdo con pjz. Parece que estás buscando una VPN.
OpenVPN es un método excelente y gratuito para comenzar con las VPN. Es estable y está listo para su uso en producción, pero incluso si no terminas usándolo, es una buena herramienta para familiarizarte con las VPN. Es realmente fácil de configurar con claves estáticas (para jugar) y solo un poco más difícil de configurar con certificados (para uso en producción).
- http://openvpn.net/static.html- Mini-COMO de clave estática. No se recomienda por razones de seguridad, pero es una excelente manera de tener una idea de cómo funciona OpenVPN antes de sumergirse en una PKI simple.
- http://openvpn.net/howto.html
Dice "tráfico de Internet" en su pregunta, pero no está claro si eso significa solo navegar por sitios web o, literalmente, todo el tráfico IP a Internet. Puede pasar una ruta de "puerta de enlace predeterminada" al cliente con OpenVPN de modo que su tráfico vinculado a Internet se enrute por la "tubería" de OpenVPN hasta el servidor, que luego podría enviarlo a Internet.
Si solo desea que HTTP/HTTPS se enrute a través de OpenVPN (es decir, si hacen PING, ejecutan Skype, etc., ese tráfico puede ir directamente a Internet), podría considerar implementar algo como Squid Cache también y luego configurar los navegadores del cliente. usar ese servidor proxy de modo que el tráfico al proxy se enrute solo por la "tubería" OpenVPN (es decir, coloque el proxy en una dirección IP accesible por VPN, pero deje la puerta de enlace predeterminada del cliente en paz). (Creo que incluso podría hacer 'push "dhcp-option 252 ..." para enviar una URL de configuración automática de proxy a los clientes a través de OpenVPN).
Tienes algunas opciones, dependiendo de lo que quieras hacer.
re: su comentario a pjz sobre el acceso al sitio de intranet
Vas a tener que "pagar el flautista" por esto de alguna manera.
Si simplemente está enrutando todo su tráfico de Internet a través de la VPN a través de un cambio de puerta de enlace predeterminada, cualquier tráfico a los servidores web en la subred con ellos aún sería "directo". Sin embargo, si el servidor web de la intranet estuviera en una subred diferente, su tráfico a esa subred pasaría por el canal OpenVPN en lugar de ir al enrutador del sitio. Eso sería malo.
Si siguió mi sugerencia anterior de enviar un script de configuración automática de proxy a los clientes a través de OpenVPN (o algún otro medio), podría poner "excepciones" en ese archivo para hacer que los clientes "vayan directamente". Normalmente hago esto en archivos de configuración automática de proxy con:
if ( isPlainHostName(host) ) { return "DIRECT"; }
Esto hace que se pueda acceder directamente a los nombres de host sin puntos.
Si conoce un host en particular (o un patrón de coincidencia de comodines) al que se debe acceder directamente:
if ( shExpMatch(url,"http://*.customer.com")) { return "DIRECT"; }
if ( shExpMatch(url,"http://known-intranet-server.customer.com")) { return "DIRECT"; }
Si sabe dónde van a trabajar sus usuarios, puede incluir excepciones en el archivo de configuración automática del proxy antes de hacerlo. Sin embargo, si no es así, tendrás que afrontar estos problemas de forma reactiva. Sin embargo, si no lo sabe de antemano, está pidiendo una solución que pueda "hacer lo correcto" automáticamente. Desafortunadamente, las computadoras hacen un trabajo horrible con eso. >sonríe<
Me tomaría más tiempo con lo que implemente para usar archivos de configuración automática de proxy. Le brinda un método centralizado (que se puede actualizar "sobre la marcha" sin tocar las computadoras cliente) para controlar el desvío del tráfico HTTP a un servidor proxy o dejarlo ir directamente a Internet. Son increíblemente útiles para este tipo de aplicaciones.
Respuesta2
Parece que quieres una VPN más que un servidor proxy, o al menos, lo que quieres se logra más fácilmente con un servidor VPN al que se conectan todas las computadoras portátiles. Un servidor proxy no cifra (excepto algunos servidores de aplicaciones específicos) el tráfico entre sus clientes y él mismo, aunque esa es la razón de ser de un servidor VPN.
En lo que respecta a los servidores VPN, he tenido buena suerte ejecutandoopenvpncon clientes linux, windows y mac.
Respuesta3
"Me gustaría que todo el tráfico de Internet de los portátiles de la empresa se cifrara y se enrutara a través de este único servidor".
"Los navegadores serían el usuario principal de la conexión, aunque también sería bueno admitir clientes de mensajería instantánea y correo electrónico".
El servicio y la funcionalidad que usted describió es una VPN, aunque algunas personas piensan que su VPN es un hardware de red que brinda un servicio a nivel de red y no se refieren a ella como un "servidor".
La VPN es el camino a seguir, porque se trata de proteger todo el tráfico a nivel de red y redirigirlo a un único host proveedor de servicios.
La VPN funcionará en redes corporativas privadas cuando visite su sitio, siempre que esa red permita el acceso a la red pública (y no bloquee el acceso a las direcciones IP de su host VPN).
La única limitación es que la mayoría del software de cliente VPN es "todo o nada", envuelven todo el tráfico de su sistema (esencialmente, se niegan a confiar en los servicios de red local de nadie más). Si necesita trabajar en la red local y en su red, la solución alternativa más sencilla y moderna es ejecutar su conexión VPN en un pequeño sistema virtualizado (como VMWare) y hacer que su sistema operativo principal/host acceda al acceso local normalmente.
En cuanto a los servidores proxy (web):
Hace mucho tiempo, existían varios tipos de aplicaciones proxy, pero Internet ha convertido el uso común de "proxy" en "proxy web". Estos servidores proxy generalmente no utilizan cifrado, aunque podrían hacerlo. Pero están centrados en "web/internet", por lo general utilizan proxy HTTP, HTTPS, FTP y Gopher. No pueden enviar correos electrónicos ni mensajería instantánea.