Proxies y redes privadas virtuales (VPN)
Los servidores proxy y las VPN difieren en naturaleza, aunque pueden proporcionar algunos de los mismos servicios. Una VPN enruta todo el tráfico de red en una computadora cliente a través de un túnel a otra computadora servidor. No se requiere configuración de aplicación individual. Por el contrario, el uso de un proxy requiere que cada aplicación se configure individualmente para garantizar que su tráfico pase por el proxy.
La intención de una VPN es permitir que una computadora cliente remota acceda a los recursos de la red en alguna otra ubicación como si estuviera físicamente ubicada en la misma oficina. Uno de esos recursos de red puede ser el acceso a Internet, que enmascara la dirección IP de la computadora remota. Por esta razón, las VPN han visto recientemente un aumento en la popularidad como una herramienta de geo-ofuscación para acceder a contenido no disponible en el país de la computadora del cliente (como Netflix de EE. UU. Desde fuera de los EE. UU.), Y como una herramienta de privacidad para evitar la IP del cliente dirección de ser descubierto. Un proxy es más limitado porque no puede proporcionar acceso a recursos remotos, pero puede enmascarar su dirección IP y proporcionar servicios de geo-ofuscación.
Tipos de proxies
Los dos tipos más comunes de servidores proxy son HTTP (Protocolo de transferencia de hipertexto) y SOCKS5 (Sockets seguros 5). Los protocolos SOCKS4 y SOCKS4a no admiten UDP o autenticación. Los servidores proxy actuales SOCKS5 y HTTP difieren de las siguientes maneras:
- En términos generales, el proxy HTTP solo puede proxy el tráfico HTTP (TCP) mientras que un proxy SOCKS5 puede manejar cualquier tipo de tráfico utilizando TCP o UDP.
- Un proxy SOCKS5 no interpreta el tráfico enviado a través de él de ninguna manera, mientras que un proxy HTTP generalmente lo hace. Esto significa que un proxy SOCKS5 es más universal y puede usarse con más aplicaciones.
- Un proxy HTTP solo se puede usar con clientes HTTP, como un navegador web, pero dado que conoce el contenido HTTP, puede hacer cosas inteligentes como el almacenamiento en caché o la reescritura de encabezados además del servicio de proxy. Con el fin de mantener el anonimato y la privacidad, un proxy SOCKS5 es una mejor opción, ya que puede usarse de forma más general..
En esta publicación, veremos cómo configurar el tipo de proxy SOCKS5 más simple usando SSH (Secure Shell). Configuraremos un VPS económico en Digital Ocean, configuraremos el servidor SSH y configuraremos algunas aplicaciones cliente para usar el proxy.
Configurar el servidor proxy
Casi cualquier tipo de VPS funcionará para esto. Algunas cuentas de alojamiento web también pueden funcionar, ya que todo lo que necesita es acceso SSH no root, pero el uso de una cuenta de alojamiento web como servidor proxy puede violar los términos de servicio de algunos hosts. Digital Ocean es un proveedor de nube conocido y asequible y uno de sus servidores de $ 5 / mes funcionará bien para un proxy SSH.
Digital Ocean es un proveedor de Virtual Private Cloud (VPC), lo que significa que no compra un servidor en particular. Por el contrario, crea una cuenta y le vincula un método de pago. Una vez que haya hecho eso, puede crear tantos servidores virtuales como desee. Los VPC tienden a ofrecer más control sobre las especificaciones del sistema y pueden costar mucho menos que un VPS tradicional. Aquí hay una buena explicación de las diferencias entre un VPS y VPC.
Para crear un droplet, haga clic en el elemento del menú Droplets y haga algunas selecciones para personalizarlo. He seleccionado Ubuntu 16.04 LTS (Soporte a largo plazo) como sistema operativo y el tamaño más pequeño (menos costoso). Las gotas se cargan por hora. La opción menos costosa funcionará bien y solo costará alrededor de $ 5 por todo el mes.
Ahora querrá seleccionar una ubicación para su Droplet. Tenga en cuenta que cuando use su proxy, su tráfico se verá como proveniente de la dirección IP de su Droplet. Si está configurando un proxy específicamente para propósitos de geo-ofuscación, debe elegir una ubicación en o cerca del país del que desea aparecer..
Una vez que se haya creado su Droplet, recibirá un correo electrónico de confirmación de Digital Ocean con su dirección IP e información de inicio de sesión.
Configure OpenSSH en el VPS
Digital Ocean Droplets viene con SSH instalado y listo para funcionar. La contraseña del usuario raíz se proporciona en el correo electrónico de bienvenida, por lo que no se requiere ninguna configuración adicional en el servidor. Pero la mejor práctica es cambiar la contraseña predeterminada y crear un usuario específicamente para proxy.
Conéctese a Droplet usando SSH en MacOS (OSX) o Linux
Abra una terminal y escriba el siguiente comando para conectarse usando la dirección IP de su correo electrónico de bienvenida:
ssh 66.77.88.99 -l raíz
Se le pedirá que acepte la clave. Ingrese la contraseña de su correo electrónico de bienvenida y luego cambie la contraseña.
Conéctese a Droplet usando PuTTY en Windows
Si está utilizando Windows, necesitará un cliente SSH para conectarse a su Droplet. El cliente SSH más utilizado es PuTTY..
Ingrese la dirección IP de su Droplet en el campo Nombre de host y haga clic en el botón Abrir.
Asegúrese de que el sistema esté actualizado
Es una buena idea asegurarse de que el software del sistema esté actualizado. El software desactualizado es una de las principales causas de piratería del sistema. Los dos comandos para hacer esto en Ubuntu son:
apt-get update
actualización apt-get
Había muy poco que actualizar en mi Droplet, lo que significa que Digital Ocean mantiene sus imágenes actualizadas.
Agregar un usuario
Droplet viene con un usuario: el usuario root todopoderoso. Es una buena práctica de seguridad agregar un usuario menos privilegiado al sistema y conectarse a su proxy con esa cuenta.
Emita el siguiente comando para agregar un usuario normal llamado myuser:
adduser myuser
Establezca una contraseña y al menos un nombre de usuario adecuado. No necesita completar ninguna otra información.
Ahora tenemos todo lo que necesitamos para usar el proxy.
Conectarse al proxy
Para usar el proxy para hacer un túnel del tráfico, debe estar conectado. Los sistemas operativos tipo Unix tienen un cliente SSH incorporado, mientras que Windows necesitará una aplicación de terceros como PuTTY
Usando SSH en MacOS (OSX) o Linux
El método para conectarse al proxy es el mismo para Linux y MacOS (OSX). Abra una terminal y use SSH para conectarse así:
ssh 66.77.88.99 -l myuser -D 12345
Reemplace 66.77.88.99 con la dirección IP de su carta de bienvenida de Digital Ocean.
El modificador -D le dice al cliente SSH que reenvíe el tráfico enviado al puerto 12345 en su máquina local a su proxy. Puede usar cualquier número de puerto que desee siempre que sea superior a 1024. Desde el archivo de ayuda, el interruptor -D:
Especifica un reenvío de puertos a nivel de aplicación “dinámico” local. Esto funciona mediante la asignación de un socket para escuchar el puerto en el lado local, opcionalmente vinculado a la dirección de enlace especificada. Cada vez que se realiza una conexión a este puerto, la conexión se reenvía a través del canal seguro y el protocolo de aplicación se utiliza para determinar dónde conectarse desde la máquina remota. Actualmente, los protocolos SOCKS4 y SOCKS5 son compatibles, y ssh actuará como un servidor SOCKS.
No desconecte esta sesión SSH. Puede minimizarlo para quitarlo de en medio, ya que no necesitará hacer nada más con él, pero déjelo en funcionamiento hasta que termine de usar el proxy.
Usando PuTTY en Linux o Windows
Cuando abras PuTTY, estarás en la pestaña Sesión. Ingrese la dirección IP de su Droplet y deje el puerto como 22.
Navega a la SSH -> Pestaña Túneles. Ingrese 12345 (o cualquier puerto que desee) en el campo Puerto de origen. Seleccione el botón de opción Dinámico y haga clic en el botón Agregar.
Si no desea tener que hacer esto cada vez que abra PuTTY, vuelva a la pestaña Sesiones, resalte la línea Configuración predeterminada en la lista Sesiones guardadas y haga clic en el botón Guardar.
Configure su navegador y otras aplicaciones para usar el proxy
Ahora que está conectado al proxy, hay tres formas básicas de usarlo:
- Establezca la configuración de red de cada aplicación para usar el proxy. No todas las aplicaciones admiten proxies, pero los navegadores web sí.
- Use un complemento como el complemento FoxyProxy para Firefox y Chrome para hacer la configuración de la aplicación por usted.
- Configure el sistema operativo para usar el proxy para todas las aplicaciones..
La segunda opción es la más fácil porque puede habilitar o deshabilitar rápidamente el proxy, y puede configurar el navegador para que solo use el proxy para ciertos sitios. Las otras dos opciones requieren muchos cambios de un lado a otro cuando desea habilitar o deshabilitar el proxy.
Usar la configuración de red integrada de la aplicación
Cualquier aplicación que admita SOCKS5 proxies debería poder usar el túnel SSH. Simplemente use la IP del host proxy de 127.0.0.1 (la IP localhost) y el puerto de 12345 (o cualquier número de puerto que haya seleccionado).
En Firefox, la configuración del proxy se encuentra en las Preferencias -> Avanzado -> Red -> Configuraciones.
En Chrome, deberá hacer clic en el enlace Configuración avanzada en la parte inferior de la página Configuración y luego navegar a Red -> Cambiar la configuración del proxy. Chrome no tiene su propia configuración de proxy, por lo que esto solo abrirá el panel de configuración de proxy de su sistema operativo.
Si usa Internet Explorer, encontrará la configuración de su proxy en Opciones de Internet -> Pestaña Conexiones -> Botón de configuración de LAN. Esto abre el applet del panel de control de configuración del proxy de Windows. Al igual que Chrome, no hay configuraciones dedicadas de Internet Explorer para servidores proxy.
Usando un complemento para Firefox o Chrome.
Existen varios complementos proxy para Firefox y Chrome. Uno popular es FoxyProxy. Se encuentra en la barra del navegador y puede habilitar o deshabilitar el proxy haciendo clic en él, lo cual es mucho más fácil que buscar en su sistema operativo o la configuración del navegador.
FoxyProxy también se puede configurar para excluir ciertos sitios del uso del proxy. Esto es útil si desea mantener el proxy funcionando todo el tiempo, pero no quiere tropezar con las defensas de su banco al aparecer repentinamente en otro país..
Descargue FoxyProxy para su navegador.
Cuando inicia FoxyProxy por primera vez, la ventana principal contiene un proxy que ya está configurado pero que no está activo. Hay muchas opciones y opciones de configuración dentro de FoxyProxy, pero nos vamos a centrar en las pocas que necesitamos para poner en funcionamiento el proxy..
Resalte el proxy existente y haga clic en el botón Editar selección.
Vaya a la pestaña Detalles del proxy e ingrese 127.0.0.1 como la Dirección IP del host y 12345 en el campo Puerto.
Haga clic en el proxy SOCKS? casilla de verificación y seleccione el botón de radio SOCKS5.
A continuación, haga clic en la pestaña General y asegúrese de que la opción Realizar búsquedas DNS remotas en nombres de host que se cargan a través de este proxy esté marcada. Esto ayudará a prevenir fugas de DNS. No lo ocultará por completo porque las búsquedas de WebRTC seguirán funcionando para descubrir su dirección IP real. Puede usar esta herramienta para verificar las fugas de DNS. Hay complementos para Firefox y Google Chrome que deshabilitarán las funciones de WebRTC.
Cierre la ventana de configuración de FoxyProxy y luego active el proxy seleccionando Usar proxy predeterminado para todas las URL. Puede verificar que su proxy esté funcionando visitando un sitio como ¿Cuál es mi IP? Donde ahora debería ver su dirección IP de proxy en lugar de la de su ISP.
Si desea identificar URL específicas para usar o excluir del proxy, deberá crear un proxy personalizado. Haga clic en el botón Agregar nuevo proxy y verá un botón adicional en la parte superior de la pantalla de configuración llamado Patrones de URL. Haga clic en ese botón para configurar filtros personalizados.
Puede ingresar sitios y patrones para que coincidan o excluyan en esta pantalla.
Usar la configuración de red del sistema operativo
En lugar de ingresar la configuración del proxy en cada aplicación, es posible establecer los detalles una vez a nivel del sistema operativo. Cuando termine, solo tendrá que decirle a cada aplicación que use el proxy de nivel de sistema.
Ventanas
Puede acceder al applet de Opciones de Internet en Windows de dos maneras. Acceda al panel de control -> Opciones de Internet, o acceda a las Opciones de Internet desde el menú de configuración en Internet Explorer.
Desde allí, puede seguir las instrucciones para Internet Explorer en la sección anterior..
MacOS (OSX)
Haga clic en el icono de Apple en la parte superior izquierda de la barra de menú en su pantalla y seleccione Preferencias del sistema. Seleccione Red y luego Proxies.
Haga clic en el botón Avanzado para acceder a la configuración de Red y navegar a la pestaña Proxies.
Haga clic en la casilla de verificación Proxy SOCKS e ingrese la información de host y puerto.
Linux
Cada entorno de escritorio Linux tiene un elemento de panel de control diferente para configurar los ajustes de la red. Los dos escritorios más comunes son Gnome y KDE..
En el escritorio de Gnome (utilizado por Ubuntu), la Configuración -> El panel de red es el lugar para configurar el proxy.
Seleccione la opción Manual.
Luego configure el proxy SOCKS y haga clic en el botón Aplicar sistema ancho.
El escritorio KDE (utilizado por Kubuntu) tiene la configuración de red en Configuración – Configuración del sistema -> Configuración de red -> Apoderado.
Una vez que el proxy está configurado en el sistema operativo, cada aplicación tendrá que configurarse para usarlo. Esa opción estará en la configuración de red para cada aplicación. Como ejemplo, en Firefox esta configuración está en la parte superior de la configuración del proxy.
como desee y pagar solo por el tiempo que los use. Es importante asegurarse de que el sistema operativo del servidor proxy esté actualizado antes de continuar con la configuración del servidor SSH. Una vez que se ha actualizado el sistema, se puede agregar un usuario para conectarse al servidor SSH. Luego, se puede conectar al proxy utilizando SSH en MacOS o Linux, o PuTTY en Windows. Después de conectarse al proxy, se puede configurar el navegador y otras aplicaciones para usar el proxy. Esto se puede hacer utilizando la configuración de red integrada de la aplicación, un complemento para Firefox o Chrome, o la configuración de red del sistema operativo. En general, un proxy SOCKS5 es una mejor opción para mantener el anonimato y la privacidad, ya que puede usarse de forma más general. En resumen, la configuración de un servidor proxy puede ser una herramienta útil para enmascarar la dirección IP y proporcionar servicios de geo-ofuscación.