Probablemente haya oído hablar de los proxies y quizás incluso de los proxies SOCKS. En esencia, servidores proxy o los proxies son intermediarios basados en hardware o software que se ubican en una máquina local o remota. En esta función intermediaria, enrutan todo el tráfico entre los navegadores web (clientes web) y los servidores web a través de ellos mismos, bloqueando o impidiendo así la comunicación directa.
Al mismo tiempo, y dependiendo del tipo, los proxy ocultan cierta información sobre su identidad en línea. Ejemplos de datos ocultos incluyen su dirección IP y ubicación.
De hecho, existen varios tipos de proxies. Y se pueden clasificar ampliamente en cuatro grupos según lo siguiente:
- Protocolo, es decir, proxies SOCKS y proxies HTTP y HTTPS
- Número de usuarios activos, es decir, servidores proxy compartidos, apoderados privados, y representantes vírgenes
- La dirección del enrutamiento del tráfico, es decir, proxies directos y proxy inversos.
- El tipo de dirección IP asignada, es decir, apoderados residenciales, servidores proxy del centro de datos, y servidores proxy móviles
Sin embargo, este artículo se centrará principalmente en los proxies identificables por el protocolo utilizado para comunicarse en línea. Esta categoría incluye proxies SOCKS y proxies HTTP y HTTPS.
¿Qué es un servidor proxy SOCKS?
Un proxy SOCKS es un intermediario que utiliza el protocolo SOCKS para facilitar la conectividad de red entre hosts o entre un cliente web y un servidor web a través de un firewall. Este proxy ejecuta un software conocido como demonio SOCKS. El software se instala específicamente en un host de firewall (máquina en la que se ha instalado un firewall), creando una ruta segura a través de este firewall.
Por lo tanto, esto significa que el protocolo SOCKS no evita los firewalls, sino que permite que la comunicación se enrute a través del firewall a través de un servidor proxy. De esta forma, el firewall bloquea todo el tráfico no autorizado, así como el que no se ajusta a determinados parámetros, como el nombre de usuario o el que no ha sido enviado mediante el protocolo SOCKS.
Sin embargo, supongamos que la comunicación se envía mediante este protocolo y, por extensión, mediante el proxy SOCKS. En ese caso, los usuarios accederán a Internet o podrán comunicarse con otras computadoras en una red externa. Generalmente, el servidor proxy SOCKS admite conexiones a nivel de aplicación, es decir, aquellas enviadas a través de protocolos de capa de aplicación. (Los protocolos de capa de aplicación incluyen HTTP, HTTPS, SMTP, TELNET, FTP, POP, MIME y más).
Cómo funciona un servidor proxy SOCKS
Como resultado de este acuerdo, las computadoras de los usuarios, conocidas colectivamente como hosts, utilizan el servidor proxy SOCKS como un punto transitorio seguro que permite una comunicación segura con otros hosts o servidores web. Y dado que un firewall de red o un host de firewall aún protege la conexión a través de este intermediario, evita que intrusos no deseados accedan a la comunicación entre los hosts. Por lo tanto, sólo las partes con cuentas en el host (cuenta proxy) pueden acceder a los paquetes de red enviados utilizando el protocolo SOCKS a través del firewall.
El servidor proxy SOCKS no sólo permite la comunicación entre las computadoras de los usuarios sino también entre clientes web y servidores web. Y como ocurre con todos los demás servidores proxy, intermedia el tráfico de la red, bloqueando el acceso directo. Por lo tanto, cuando un cliente envía solicitudes HTTP, HTTPS o FTP, el servidor SOCKS las recibe y posteriormente las entrega al servidor web en nombre del cliente. Al mismo tiempo, recibe respuestas del servidor y las reenvía al cliente. Sin embargo, antes de analizar los servidores proxy SOCKS con mayor detalle, primero comprendamos el protocolo SOCKS, su historia y cómo funciona.
Historia del protocolo SOCKS
El nombre de servidor proxy SOCKS se deriva de un protocolo de red conocido como Socket Secure, que está contratado por SOCKS. Según la descripción anterior, el protocolo SOCKS proporciona un marco para la conectividad de red a través de un firewall de red. El protocolo ha experimentado varias mejoras desde que se introdujo por primera vez a principios de los años 1990. Y en esta sección se describirá la evolución a lo largo de los años.
SOCKS Versión 1
El protocolo SOCKS original fue propuesto en un papel presentado en el tercer Simposio de Seguridad UNIX de USENIX en 1992. Sin embargo, en el momento de presentar el artículo, SOCKS había estado funcionando en MIPS Computer Systems durante tres años. Esto significa que SOCKS se creó originalmente alrededor de 1989.
El artículo, escrito por David Koblas y Michelle Koblas, analiza cómo se podría utilizar el protocolo SOCKS para proporcionar una conectividad de red cómoda y segura a través de un servidor de firewall. Sus creadores lo diseñaron como una solución a un problema que existía entonces: los métodos para crear un entorno seguro a través del cual las computadoras pudieran conectarse a Internet eran engorrosos, inconvenientes o podían verse comprometidos fácilmente.
El documento presentaba un paquete SOCKS, que incluía la biblioteca, el protocolo y un demonio SOCKS (software proxy SOCKS). La biblioteca incluía llamadas que establecían conexiones con el demonio SOCKS instalado en el firewall. De esta forma, la biblioteca permitía la transmisión de información y conexiones de red de tal forma que el demonio aparecía como el originador de las solicitudes. Por lo tanto, para un host externo, el demonio (proxy SOCKS) parecería ser el originador de las solicitudes. Las rutinas o llamadas de la biblioteca SOCKS incluyeron:
- Conectar: Solicita que el proxy (daemon) SOCKS establezca una conexión saliente a una dirección IP, número de puerto y nombre de usuario determinados.
- Unir: Solicita una conexión entrante esperada desde una dirección IP externa determinada. También contiene requisitos de nombre de usuario, pero este nombre de usuario pertenece al solicitante (remitente) y se utiliza para registrar la información. Generalmente, la llamada Bind vincula una nueva conexión de socket a un puerto libre en el firewall.
- Escuchar: Espera (escucha), listo para aceptar llamadas del host externo
- ObtenerNombreSOCK: Obtiene la dirección IP y el número de puerto del socket en el firewall
- Aceptar: Acepta una conexión desde un host externo
SOCKS Versión 4 (SOCKS4)
Ying-Da Lee amplió el protocolo SOCKS, creando SOCKS versión 4 (SOCKS4) antes de presentar más tarde SOCKS versión 4a (SOCKS4a). En consecuencia, SOCKS4a amplió las capacidades del protocolo al admitir la resolución del nombre de dominio del host (servidor) de destino para encontrar su dirección IP.
SOCKS Versión 5 (SOCKS 5)
En 1996, un grupo de colaboradores escribió un memorándum que describe SOCKS versión 5. El artículo amplió las capacidades del protocolo SOCKS al ampliar las capacidades del marco subyacente para permitirle admitir protocolos de capa de aplicación más sofisticados. Además, SOCKS5 introdujo soporte para aplicaciones cliente-servidor tanto en el Protocolo de control de transmisión (TCP) como en el Protocolo de datagramas de usuario (UDP). Además, amplió el sistema de direccionamiento para incluir Direcciones IPv6 y direccionamiento de nombres de dominio.
Finalmente, SOCKS5 introdujo una autenticación sólida. La nueva versión especifica un marco generalizado para utilizar protocolos de autenticación arbitrarios. Por ejemplo, al iniciar una conexión SOCKS, se pueden utilizar las siguientes autenticaciones:
- Subnegociación de nombre de usuario/contraseña servicios de autenticación (Sin embargo, la subnegociación de nombre de usuario/contraseña no es segura y, por lo tanto, no se recomienda en casos en los que piratas informáticos o terceros puedan realizar un 'sniffing').
- Autenticación segura de nombre de usuario y contraseña que utiliza claves de host conocidas y transmite las claves a través de comunicación cifrada
- Autenticación GSS-API método
Cabe señalar que las revisiones dieron como resultado varios tipos de proxies SOCKS, a saber:
- representantes SOCKS4
- Representantes SOCKS5
SOCKS4 frente a SOCKS5: similitudes y diferencias
Similitudes entre SOCKS4 y SOCKS5
Los protocolos SOCKS4 y SOCKS5 y, por extensión, los proxies son similares en los siguientes aspectos:
- El servicio SOCKS en SOCKS4 y SOCKS5 se encuentra en el puerto 1080
- Utilizan las mismas operaciones, es decir, conectar, unir, escuchar, aceptar, y obtener nombreSOCK.
Diferencias entre SOCKS4 y SOCKS5
Los protocolos y servidores proxy SOCKS4 y SOCKS5 difieren en las diversas formas que se describen en la siguiente tabla:
SOCKS4 | SOCKS5 | |
Dominios soportados | Solo soporta TCP | Soporta tanto TCP como UDP |
Seguridad | Proporciona un cruce de firewall no seguro porque no autentica los paquetes de red. | Admite esquemas de autenticación sólidos, como requisitos de nombre de usuario y contraseña, promoviendo así el cruce seguro del firewall. |
Protocolos admitidos | Admite FTP, SMTP, TELNET, HTTP y GOPHER (es decir, protocolos de capa de aplicación) | Admite FTP, SMTP, TELNET, HTTP y GOPHER, así como NTP, DHCP, BOOTP, NNP, TFTP, RTSP, RIP y DNS (es decir, protocolos de capa de transporte y aplicación). |
Dirección IP | Solo admite direcciones IPv4 | Soporta direcciones IPv4 e IPv6 |
Nombre de dominio | Es incapaz de resolver todos los nombres de dominio y, por lo tanto, no puede encontrar sus direcciones IP. | Puede resolver los nombres de dominio de todos los servidores para encontrar sus direcciones IP. |
Direccionamiento | No admite direccionamiento de nombres de dominio | Admite direccionamiento de nombres de dominio |
¿Qué tan segura es una conexión proxy SOCKS?
Una conexión SOCKS, a diferencia de una conexión HTTPS, no está cifrada. Pero se puede establecer una conexión HTTPS cifrada a través de cualquier conexión SOCKS (dentro de la conexión), que es completamente inaccesible desde el exterior:
Esto puede parecer complicado, pero en realidad es muy simple y dicha conexión se crea automáticamente cuando el usuario establece por primera vez una conexión SOCKS (por ejemplo, con Proxificador o el complemento del navegador Foxyproxy) y luego va a una página web que utiliza un certificado SSL (“bloqueo” a la izquierda de la barra de direcciones).
Navegador <- > SOCKS (HTTPS) SOCKS <-> sitio web de destino
Esto significa que esta conexión es completamente segura y nadie, ni siquiera el proveedor del proxy, puede saber exactamente qué está haciendo el usuario en el sitio web, qué está imprimiendo, qué imágenes o vídeos está viendo o cargando.
Ventajas y desventajas de los servidores proxy SOCKS
Ventajas de los servidores proxy SOCKS
Las ventajas de los proxies SOCKS son:
- Errores menores: Los proxies SOCKS, a diferencia de los proxies HTTP, no interpretan ni reescriben los paquetes de datos, como los encabezados. Por lo tanto, no son propensos a errores de etiquetado u otros errores.
- Soporte para múltiples protocolos en las capas de aplicación y transporte: los proxies SOCKS4 admiten los protocolos FTP, SMTP, TELNET, HTTP y GOPHER. Por el contrario, los proxies SOCKS5 admiten los protocolos FTP, SMTP, TELNET, HTTP y GOPHER, así como NTP, DHCP, BOOTP, NNP, TFTP, RTSP, RIP y DNS. Por el contrario, los servidores proxy HTTP sólo admiten los protocolos HTTP y HTTPS.
- Mejor seguridad: Los proxies SOCKS5, en particular, realizan la autenticación en varias etapas. Esto promueve la seguridad. Sin embargo, en general, dado que todos los servidores proxy SOCKS no interpretan ni reescriben datos, no pueden descubrir paquetes de datos que contengan su información personal.
- Privacidad mejorada: Los proxies SOCKS5 pueden cambiar su dirección IP, ocultando así información como su ubicación real, especialmente considerando que las direcciones IP almacenan dichos datos.
Desventajas de los proxies SOCKS
Las desventajas de los proxies SOCKS incluyen las siguientes:
- Retraso de conexión/velocidad lenta: Los proxies SOCKS5, en particular, tienen que realizar una serie de autenticaciones en diferentes etapas de las operaciones, lo que se traduce en velocidades más lentas.
- Conexión trasera limitada: El comando de vinculación del SOCKS5 no cubre suficientemente los protocolos que requieren que el servidor se conecte al cliente (reconexión) varias veces; en cambio, es principalmente adecuado para protocolos como FTP que requieren solo una única conexión trasera
- Capacidades limitadas de UDP compatible: El soporte UDP inicial de SOCKS5 tenía capacidades limitadas. Por ejemplo, el protocolo preveía que las aplicaciones UDP deberían enviar datos y recibir una respuesta. Sin embargo, muchas aplicaciones UDP pueden recibir datos UDP sin requerir información de dirección IP, enviar datos o utilizar un puerto determinado. Por tanto, los proxies SOCKS5 tienen capacidades UDP limitadas.
- Incompatibilidad hacia atrás: Los proxies SOCKS5 no son compatibles con versiones anteriores del protocolo SOCKS, como SOCKS4a.
Cómo utilizar servidores proxy SOCKS
Los proxies SOCKS se utilizan de las siguientes maneras:
- Permiten a los usuarios evitar el bloqueo geográfico. De esta manera, los proxies SOCKS, particularmente los proxies SOCKS5, les permiten acceder a contenido desde otras ubicaciones. (Bloqueo geográfico o restricción geográfica es la práctica por la cual los sitios web solo muestran contenido a los visitantes de una ubicación específica).
- Los servidores proxy SOCKS ayudan a evitar el filtrado de Internet por parte de escuelas, lugares de trabajo y gobiernos, solo por mencionar algunos
- Uso anónimo de mensajeros, como Telegrama
- Transmisión de video y llamadas en vivo
- torrente o compartir y descargar de igual a igual
- Envío de correo electrónico masivo y seguro gracias al soporte SMTP
- Navegación web general porque SOCKS5 admite varios protocolos a nivel de aplicación
- Bloqueo del acceso no autorizado a las redes empresariales: los proxies SOCKS actúan como un intermediario transitorio que permite el acceso seguro a Internet a través del firewall empresarial y al mismo tiempo evita que intrusos no deseados accedan al servidor o a las computadoras dentro de la red local.
Proxies SOCKS frente a proxies HTTP
Como se detalló anteriormente, los proxies SOCKS y los proxies HTTP son servidores proxy basados en protocolos. Para obtener una discusión detallada sobre lo que pueden lograr los servidores proxy HTTP y HTTPS, consulte nuestro artículo sobre Proxies HTTP y HTTPS.
Cómo se comparan los proxies SOCKS y los proxies HTTP
Esta sección detalla las similitudes y diferencias entre los servidores proxy SOCKS y HTTP.
Similitudes entre los servidores proxy SOCKS y los servidores proxy HTTP
Los proxies SOCKS y HTTP son similares en los siguientes aspectos:
- Ambos se basan en protocolos de Internet.
Diferencias entre proxies SOCKS y proxies HTTP
Los proxies SOCKS y HTTP se diferencian en las siguientes formas:
Proxys SOCKS | servidores proxy HTTP | |
Protocolos | Soportan una gran cantidad de protocolos TCP así como protocolos UDP. | Sólo soportan protocolos HTTP y HTTPS. |
Seguridad | No cifran datos | Los servidores proxy HTTPS cifran datos |
Acceso al cortafuegos | Los proxies SOCKS brindan acceso a Internet a través de un firewall de red | No proporcionan conexión a través de firewalls. |
Interpretación de datos | No interpretan, analizan ni reescriben datos. | Interpretan datos y, en algunos casos, reescriben los paquetes de encabezado. |
Interoperabilidad | Los proxies SOCKS pueden usar el protocolo HTTP y HTTPS | Los servidores proxy HTTP y HTTPS no pueden utilizar el protocolo SOCKS |
Clasificación OSI | Los proxies SOCKS se encuentran en un nivel inferior (capa 5) del clasificación OSI, es decir, la capa de sesión | Los proxies HTTP se encuentran en un nivel superior (capa 4) de la clasificación OSI, es decir, la capa de transporte. |
Configuración | Los proxies SOCKS solo se pueden integrar en un cliente web o máquina que no sea un servidor web | Los servidores proxy HTTP se pueden configurar en el cliente web o en el servidor. |
Puerto | Los servicios SOCKS están disponibles a través de los puertos proxy SOCKS 1080 y 1085 | Los servidores proxy HTTP utilizan los puertos 80, 8080, 8085, 3128 y 3129, mientras que los servidores proxy HTTPS utilizan el puerto 443. |
Proxy SOCKS frente a VPN
Por supuesto, los proxies SOCKS pueden crear un túnel seguro a través de un firewall. ¿Pero sabías también que puedes crear un túnel seguro usando un red privada virtual o VPN? Una VPN crea una ruta segura de comunicación entre dos redes: una red local y redes externas. Lo logra enrutando todo el tráfico de Internet a través de un túnel, no sin antes cifrar los datos en el punto de entrada (su computadora, por ejemplo). El túnel termina en un nodo de salida (el servidor de salida de la VPN) que asigna a las solicitudes salientes de la red local o computadora de un usuario una nueva dirección IP, ocultando efectivamente la dirección IP real.
Cuando se utiliza una VPN, todas las solicitudes parecen originarse en la nota de salida. Al mismo tiempo, todas las respuestas de un servidor web parecen terminar en este servidor VPN. Gracias a esta disposición, puede utilizar una VPN para acceder a contenido que de otro modo estaría bloqueado geográficamente en cualquier ubicación en la que el proveedor de VPN tenga un servidor.
Por ejemplo, si se encuentra en Alemania y desea acceder a contenido web que solo pueden ver los residentes en los Estados Unidos, simplemente puede utilizar un servidor VPN con sede en EE. UU.
Para hacer esto, primero debe instalar el software VPN en su computadora, que convertirá su máquina en un nodo de entrada. El software es responsable de cifrar los datos. A continuación, deberá elegir el nodo de salida y, una vez que la VPN se conecte a este servidor de salida, podrá enviar su solicitud.
Ventajas de las VPN
Las ventajas de las redes privadas virtuales incluyen:
- Cifrado y seguridad: Las VPN cifran todas las solicitudes y respuestas del servidor, garantizando así una seguridad inigualable. Es por este motivo que se recomienda utilizar una VPN siempre que acceda a Internet a través de una red Wi-Fi pública.
- Proporcionar acceso a contenido geobloqueado: una VPN lo transporta virtualmente a esa ubicación enrutando el tráfico a través de un nodo de salida en un país diferente. Como resultado, puede acceder a contenido web al que de otro modo no habría podido acceder en su país de origen sin la VPN.
- Privacidad en línea: Las VPN ocultan su dirección IP real y posteriormente asignan una dirección diferente. De esta manera, protegen su privacidad en línea al ocultar ciertos datos sobre usted, como su ubicación (estado, ciudad, país y coordenadas aproximadas).
Desventajas de las VPN
Las desventajas de las redes privadas virtuales incluyen:
- Velocidades de conexión lentas: Debido a que esta solución tiene que cifrar todas las solicitudes salientes y las respuestas entrantes, suele ser más lenta.
- Registro de datos de usuario: Otro inconveniente común que ha provocado revuelo entre los usuarios de VPN es que algunos proveedores de VPN suelen registrar los datos de los usuarios. Lo hacen para poder proporcionar posteriormente dichos datos a los agentes encargados de hacer cumplir la ley cuando se les solicite. De hecho, varios proveedores han aparecido en los titulares al proporcionar datos de sus usuarios a organismos de investigación. Además, algunos países, como India, tienen leyes que obligan a los proveedores de VPN a guardar los datos de los usuarios. En este contexto, los observadores han previamente aconsejado los usuarios tomen la política de "no registros" de los proveedores al pie de la letra.
- Las VPN gratuitas generalmente no son seguras: Estas VPN suelen compartir el mismo túnel seguro entre varios usuarios, lo que puede aumentar las posibilidades de "olfateo" o escuchas ilegales.
- Las VPN están prohibidas en ciertos países: algunos países han ilegalizado completamente el uso de VPN. En otros países, sólo se pueden utilizar VPN con licencia gubernamental.
Usos de las VPN
Las redes privadas virtuales se utilizan de las siguientes maneras:
- Las VPN brindan seguridad al acceder a Internet a través de puntos de acceso públicos
- Acceso a contenido geobloqueado: como se indicó, las VPN, como los proxies SOCKS5, le permiten acceder a cualquier contenido desde cualquier ubicación
- Facilite el trabajo remoto: las empresas salvaguardan sus datos exigiendo a sus trabajadores remotos que inicien sesión en sus sistemas o servidores a través de VPN dedicadas.
¿Cómo se comparan los proxies SOCKS con las VPN?
Recordando las características, ventajas y desventajas de los proxies SOCKS mencionadas anteriormente, ¿cómo se comparan los proxies SOCKS con las VPN?
Similitudes entre los proxy SOCKS y las VPN
Los proxies SOCKS y las VPN tienen ciertas similitudes, que incluyen:
- Privacidad en línea: los servidores proxy y VPN SOCKS5 ocultan direcciones IP reales, ofreciendo así privacidad en línea
- Seguridad: ambas soluciones aumentan la seguridad, aunque de diferentes maneras. Las VPN cifran los datos mientras que los servidores proxy SOCKS5 realizan la autenticación.
- Protocolos soportados: algunos protocolos vpn, como OpenVPN, admiten TCP y UDP, mientras que los proxies SOCKS5 también admiten TCP y UDP.
- Eludir las restricciones geográficas: los proxies SOCKS5 y las VPN se pueden utilizar para acceder a contenido que de otro modo estaría bloqueado geográficamente.
Diferencias entre Proxies SOCKS y VPN
Los servidores proxy SOCKS y las VPN se diferencian en algunos aspectos. La siguiente tabla resume estas diferencias:
Proxys SOCKS | VPN | |
Protocolos | Los proxies SOCKS, especialmente los proxies SOCKS5, admiten proxies de capa de aplicación y transporte, incluidos FTP, SMTP, TELNET, HTTP, GOPHER, NTP, DHCP, BOOTP, NNP, TFTP, RTSP, RIP y DNS. | Las VPN generalmente utilizan protocolos VPN como IKEv2, OpenVPN, L2TP/IPSec, WireGuard, SSTP y PPTP. |
Velocidad de conexión | Los proxies SOCKS son generalmente más rápidos porque no realizan cifrado | Las VPN son lentas porque cifran datos |
Número de servidores | Los proveedores de servicios proxy SOCKS suelen proporcionar cientos de miles o incluso un par de millones de servidores proxy. | Los proveedores de VPN suelen tener menos servidores |
Países | Algunos proveedores de SOCKS tienen servidores proxy en más de 150 países | Los proveedores de VPN suelen tener servidores VPN en menos países, a menudo en menos de 100 |
Conclusión
Un proxy SOCKS permite la comunicación entre las computadoras de los usuarios, así como entre clientes y servidores web a través de un firewall de red. Basado en el protocolo SOCKS, este tipo de proxy impide que intrusos accedan a la comunicación entre las distintas partes. A lo largo de los años, el protocolo SOCKS se ha mejorado, dando como resultado varias versiones, a saber, SOCKS4, SOCKS4a y SOCKS5. Como resultado, existen varios tipos de proxies SOCKS, a saber, proxies SOCKS4 y proxies SOCKS5, y este último ofrece capacidades superiores. Los proxies SOCKS se utilizan de varias maneras, incluidas descargas de torrents, correo electrónico, transmisión de video, llamadas en vivo y navegación general. También proporcionan anonimato en línea. En este artículo, hemos comparado los servidores proxy SOCKS con los servidores proxy VPN y HTTP, y esperamos que esté mejor informado sobre cuál elegir según sus necesidades específicas.