Probabilmente hai sentito parlare di proxy e forse anche di proxy SOCKS. Al loro centro, server proxy oppure i proxy sono intermediari basati su hardware o software che si trovano su una macchina locale o remota. In questo ruolo intermedio, instradano tutto il traffico tra i browser Web (client Web) e i server Web attraverso se stessi, bloccando o impedendo così la comunicazione diretta.
Allo stesso tempo, e a seconda del tipo, i proxy nascondono alcune informazioni sulla tua identità online. Esempi di dati nascosti includono il tuo indirizzo IP e la tua posizione.
In effetti, esistono diversi tipi di proxy. E possono essere ampiamente classificati in quattro gruppi in base a quanto segue:
- Protocollo, ovvero proxy SOCKS e proxy HTTP e HTTPS
- Numero di utenti attivi, ovvero deleghe condivise, proxy privati, E procure vergini
- La direzione dell'instradamento del traffico, ovvero proxy forward e proxy inversi
- Il tipo di indirizzo IP assegnato, ovvero deleghe residenziali, proxy del data center, E proxy mobili
Tuttavia, questo articolo si concentrerà principalmente sui proxy identificabili dal protocollo utilizzato per comunicare online. Questa categoria include i proxy SOCKS e i proxy HTTP e HTTPS.
Cos'è un server proxy SOCKS?
Un proxy SOCKS è un intermediario che utilizza il protocollo SOCKS per facilitare la connettività di rete tra host o tra un client Web e un server Web attraverso un firewall. Questo proxy esegue un software noto come demone SOCKS. Il software viene installato specificatamente su un host firewall (macchina su cui è stato installato un firewall), creando un percorso sicuro attraverso questo firewall.
Ciò significa quindi che il protocollo SOCKS non aggira i firewall ma consente piuttosto di instradare la comunicazione attraverso il firewall tramite un server proxy. Di conseguenza, il firewall blocca tutto il traffico non autorizzato, così come il traffico che non è conforme a determinati parametri, come il nome utente o quello che non è stato inviato utilizzando il protocollo SOCKS.
Supponiamo però che la comunicazione venga inviata tramite questo protocollo e, per estensione, tramite il proxy SOCKS. In tal caso, gli utenti accederanno a Internet o saranno in grado di comunicare con altri computer in una rete esterna. Generalmente il server proxy SOCKS supporta le connessioni a livello di applicazione, cioè quelle inviate tramite protocolli a livello di applicazione, passano. (I protocolli del livello applicazione includono HTTP, HTTPS, SMTP, TELNET, FTP, POP, MIME e altri.)
Come funziona un server proxy SOCKS
Come risultato di questa disposizione, i computer degli utenti, noti collettivamente come host, utilizzano il server proxy SOCKS come punto transitorio sicuro che consente comunicazioni sicure con altri host o server web. E poiché un firewall di rete o un host firewall protegge comunque la connessione tramite questo intermediario, impedisce a intrusi indesiderati di accedere alla comunicazione tra gli host. Pertanto, solo le parti con account sull'host (account proxy) possono accedere ai pacchetti di rete inviati utilizzando il protocollo SOCKS attraverso il firewall.
Il server proxy SOCKS consente la comunicazione non solo tra i computer degli utenti ma anche tra client web e server web. E come tutti gli altri server proxy, intermedia il traffico di rete, bloccando l'accesso diretto. Pertanto, quando un client invia richieste HTTP, HTTPS o FTP, il server SOCKS le riceve e successivamente le serve al server web per conto del client. Allo stesso tempo riceve risposte dal server e le inoltra al client. Tuttavia, prima di discutere in maggior dettaglio dei server proxy SOCKS, comprendiamo innanzitutto il protocollo SOCKS, la sua storia e come funziona.
Storia del protocollo SOCKS
Il nome server proxy SOCKS deriva da un protocollo di rete noto come Socket Secure, che è contratto con SOCKS. Sulla base della descrizione di cui sopra, il protocollo SOCKS fornisce un quadro per la connettività di rete attraverso un firewall di rete. Il protocollo ha subito diversi miglioramenti da quando è stato introdotto per la prima volta all’inizio degli anni ’90. E questa sezione descriverà l'evoluzione nel corso degli anni.
SOCKS Versione 1
Il protocollo originale SOCKS è stato proposto in a carta presentato al terzo USENIX UNIX Security Symposium nel 1992. Tuttavia, al momento della presentazione dell'articolo, SOCKS era in esecuzione presso MIPS Computer Systems da tre anni. Ciò significa che SOCKS è stato originariamente creato intorno al 1989.
Scritto da David Koblas e Michelle Koblas, l'articolo discute come utilizzare il protocollo SOCKS per fornire una connettività di rete comoda e sicura attraverso un host firewall. I suoi creatori lo progettarono come soluzione a un problema che esisteva allora: i metodi per creare un ambiente sicuro attraverso il quale i computer potessero connettersi a Internet erano macchinosi, scomodi o potevano essere facilmente compromessi.
L'articolo presentava un pacchetto SOCKS, che includeva la libreria SOCKS, il protocollo e un demone (software proxy SOCKS). La libreria includeva chiamate che stabilivano connessioni al demone SOCKS installato sul firewall. In questo modo la libreria consentiva la trasmissione di informazioni e connessioni di rete in modo tale che il demone sembrasse essere l'originatore delle richieste. Pertanto, ad un host esterno, il demone (proxy SOCKS) sembrerebbe essere l'originatore delle richieste. Le routine o chiamate della libreria SOCKS includevano:
- Collegare: Richiede che il proxy SOCKS (daemon) stabilisca una connessione in uscita a un determinato indirizzo IP, numero di porta e nome utente
- Legamento: Richiede una connessione in entrata prevista da un determinato indirizzo IP esterno. Contiene anche i requisiti del nome utente, ma questo nome utente appartiene al richiedente (mittente) e viene utilizzato per registrare le informazioni. In genere, la chiamata Bind associa una nuova connessione socket a una porta libera sul firewall.
- Ascoltare: Attende (ascolta), pronto ad accettare chiamate dall'host esterno
- OttieniNomeSOCK: Ottiene l'indirizzo IP e il numero di porta del socket sul firewall
- Accettare: Accetta una connessione da un host esterno
SOCKS versione 4 (SOCKS4)
Ying-Da Lee ha esteso il protocollo SOCKS, creando SOCKS versione 4 (SOCKS4) prima della successiva introduzione SOCKS versione 4a (SOCKS4a). Di conseguenza, SOCKS4a ha ampliato le capacità del protocollo supportando la risoluzione del nome di dominio dell'host di destinazione (server) per trovare il suo indirizzo IP.
SOCKS Versione 5 (SOCKS 5)
Nel 1996, un gruppo di contributori ha scritto a promemoria descrivendo SOCKS versione 5. L'articolo ha esteso le capacità del protocollo SOCKS espandendo le capacità del framework sottostante per consentirgli di supportare protocolli a livello di applicazione più sofisticati. Inoltre, SOCKS5 ha introdotto il supporto per le applicazioni client-server sia nel protocollo TCP (Transmission Control Protocol) che nel protocollo UDP (User Datagram Protocol). Inoltre, ha esteso il sistema di indirizzamento per includere Indirizzi IPv6 e indirizzamento dei nomi di dominio.
Infine, SOCKS5 ha introdotto l'autenticazione forte. La nuova versione specifica un quadro generalizzato per l'utilizzo di protocolli di autenticazione arbitrari. Ad esempio, quando si avvia una connessione SOCKS, è possibile utilizzare le seguenti autenticazioni:
- Sottonegoziazione nome utente/password servizi di autenticazione (tuttavia, la sottonegoziazione di nome utente/password non è protetta e pertanto non è consigliata nei casi in cui hacker o terze parti possano effettuare operazioni di 'sniffing.)
- Autenticazione sicura di nome utente e password che utilizza chiavi host conosciute e inoltra le chiavi tramite comunicazione crittografata
- Autenticazione API GSS metodo
È interessante notare che le revisioni hanno prodotto diversi tipi di proxy SOCKS, vale a dire:
- proxy SOCKS4
- proxy SOCKS5
SOCKS4 vs. SOCKS5: somiglianze e differenze
Somiglianze tra SOCKS4 e SOCKS5
I protocolli SOCKS4 e SOCKS5 e, per estensione, i proxy sono simili nei seguenti modi:
- Il servizio SOCKS in SOCKS4 e SOCKS5 si trova sulla porta 1080
- Utilizzano le stesse operazioni, cioè Collegare, legamento, Ascoltare, accettare, E getSOCKnome.
Differenze tra SOCKS4 e SOCKS5
I protocolli e proxy SOCKS4 e SOCKS5 differiscono nelle varie modalità descritte nella tabella seguente:
SOCKS4 | SOCKS5 | |
Domini supportati | Supporta solo TCP | Supporta sia TCP che UDP |
Sicurezza | Fornisce un attraversamento del firewall non protetto perché non autentica i pacchetti di rete | Supporta schemi di autenticazione forti, come i requisiti di nome utente e password, promuovendo così l'attraversamento sicuro del firewall |
Protocolli supportati | Supporta FTP, SMTP, TELNET, HTTP e GOPHER (ovvero protocolli a livello di applicazione) | Supporta FTP, SMTP, TELNET, HTTP e GOPHER, nonché NTP, DHCP, BOOTP, NNP, TFTP, RTSP, RIP e DNS (ovvero protocolli di livello applicazione e trasporto) |
Indirizzo IP | Supporta solo indirizzi IPv4 | Supporta indirizzi IPv4 e IPv6 |
Nome del dominio | Non è in grado di risolvere tutti i nomi di dominio e quindi non riesce a trovare i loro indirizzi IP | Può risolvere i nomi di dominio di tutti i server per trovare i loro indirizzi IP |
Indirizzamento | Non supporta l'indirizzamento dei nomi di dominio | Supporta l'indirizzamento dei nomi di dominio |
Quanto è sicura una connessione proxy SOCKS?
Una connessione SOCKS, a differenza di una connessione HTTPS, non è crittografata. Ma è possibile stabilire una connessione HTTPS crittografata tramite qualsiasi connessione SOCKS (all'interno della connessione), che è completamente inaccessibile dall'esterno:
Questo può sembrare complicato, ma in realtà è molto semplice e tale connessione viene creata automaticamente quando l'utente stabilisce per la prima volta una connessione SOCKS (ad esempio con Proxificatore o il componente aggiuntivo del browser Foxyproxy) e poi accede a una pagina web che utilizza un certificato SSL (“lucchetto” a sinistra della barra degli indirizzi).
Navigatore <-> SOCKS (HTTPS) SOCKS <-> sito web di destinazione
Ciò significa che questa connessione è completamente sicura e nessuno, nemmeno il provider proxy, può sapere esattamente cosa sta facendo l'utente sul sito web, cosa sta stampando, quali foto o video sta visualizzando o caricando.
Vantaggi e svantaggi dei server proxy SOCKS
Vantaggi dei proxy SOCKS
I vantaggi dei proxy SOCKS sono:
- Errori minori: I proxy SOCKS, a differenza dei proxy HTTP, non interpretano o riscrivono i pacchetti di dati come le intestazioni. Pertanto, non sono soggetti a etichette errate o altri errori.
- Supporto per più protocolli nei livelli applicazione e trasporto: i proxy SOCKS4 supportano i protocolli FTP, SMTP, TELNET, HTTP e GOPHER. Al contrario, i proxy SOCKS5 supportano i protocolli FTP, SMTP, TELNET, HTTP e GOPHER, nonché NTP, DHCP, BOOTP, NNP, TFTP, RTSP, RIP e DNS. Al contrario, i proxy HTTP supportano solo i protocolli HTTP e HTTPS.
- Migliore sicurezza: I proxy SOCKS5, in particolare, effettuano l'autenticazione in diverse fasi. Ciò promuove la sicurezza. In genere, tuttavia, poiché tutti i proxy SOCKS non interpretano o riscrivono i dati, non sono in grado di scoprire pacchetti di dati che contengono informazioni personali.
- Maggiore privacy: I proxy SOCKS5 possono modificare il tuo indirizzo IP, nascondendo così informazioni come la tua posizione reale, soprattutto considerando che gli indirizzi IP memorizzano tali dati.
Svantaggi dei proxy SOCKS
Gli svantaggi dei proxy SOCKS includono quanto segue:
- Ritardo di connessione/bassa velocità: I proxy SOCKS5, in particolare, devono effettuare una serie di autenticazioni in diverse fasi delle operazioni, il che si traduce in velocità inferiori.
- Connessione posteriore limitata: Il comando bind di SOCKS5 non copre sufficientemente i protocolli che richiedono che il server si connetta al client (back-connect) più volte; è invece particolarmente adatto per protocolli come FTP che richiedono solo una singola connessione posteriore
- Funzionalità limitate dell'UDP supportato: Il supporto UDP iniziale di SOCKS5 aveva capacità limitate. Ad esempio, il protocollo prevedeva che le applicazioni UDP inviassero dati e ricevessero una risposta. Tuttavia, molte applicazioni UDP possono ricevere dati UDP senza richiedere informazioni sull'indirizzo IP, inviare dati o utilizzare una determinata porta. Pertanto, i proxy SOCKS5 hanno capacità UDP limitate.
- Incompatibilità con le versioni precedenti: I proxy SOCKS5 non sono retrocompatibili con le versioni precedenti del protocollo SOCKS, come SOCKS4a
Come utilizzare i proxy SOCKS
I proxy SOCKS vengono utilizzati nei seguenti modi:
- Consentono agli utenti di aggirare il blocco geografico. In questo modo, i proxy SOCKS, in particolare i proxy SOCKS5, consentono loro di accedere ai contenuti da altre posizioni. (Blocco geografico o limitazione geografica è la pratica secondo la quale i siti web mostrano contenuti solo ai visitatori provenienti da una posizione specifica.)
- I server proxy SOCKS aiutano a bypassare i filtri Internet da parte di scuole, luoghi di lavoro e governi, solo per citarne alcuni
- Uso anonimo di messenger, come Telegramma
- Streaming video e chiamate live
- Torrenti o condivisione e download peer-to-peer
- Invio di posta elettronica in blocco e sicuro grazie al supporto SMTP
- Navigazione web generale perché SOCKS5 supporta una serie di protocolli a livello di applicazione
- Blocco dell'accesso non autorizzato alle reti aziendali: i proxy SOCKS agiscono come intermediario temporaneo che consente l'accesso sicuro a Internet attraverso il firewall aziendale impedendo al tempo stesso intrusi indesiderati di accedere al server o ai computer all'interno della rete locale.
Proxy SOCKS e proxy HTTP
Come spiegato in precedenza, i proxy SOCKS e i proxy HTTP sono server proxy basati su protocollo. Per una discussione dettagliata su cosa possono ottenere i proxy HTTP e HTTPS, fare riferimento al nostro articolo su Proxy HTTP e HTTPS.
Confronto tra proxy SOCKS e proxy HTTP
Questa sezione descrive in dettaglio le somiglianze e le differenze tra i proxy SOCKS e HTTP.
Somiglianze tra proxy SOCKS e proxy HTTP
I proxy SOCKS e HTTP sono simili nei seguenti modi:
- Entrambi sono basati su protocolli Internet
Differenze tra proxy SOCKS e proxy HTTP
I proxy SOCKS e HTTP differiscono nei seguenti modi:
Proxy SOCKS | Proxy HTTP | |
Protocolli | Supportano un gran numero di protocolli TCP e UDP | Supportano solo i protocolli HTTP e HTTPS |
Sicurezza | Non crittografano i dati | I proxy HTTPS crittografano i dati |
Accesso al firewall | I proxy SOCKS forniscono l'accesso a Internet attraverso un firewall di rete | Non forniscono una connessione tramite firewall |
Interpretazione dei dati | Non interpretano, analizzano o riscrivono i dati | Interpretano i dati e, in alcuni casi, riscrivono i pacchetti di intestazione |
Interoperabilità | I proxy SOCKS possono utilizzare il protocollo HTTP e HTTPS | I proxy HTTP e HTTPS non possono utilizzare il protocollo SOCKS |
Classificazione OSI | I proxy SOCKS si trovano a un livello inferiore (livello 5) del Classificazione OSI, ovvero il livello di sessione | I proxy HTTP si trovano a un livello superiore (livello 4) della classificazione OSI, ovvero al livello di trasporto |
Configurazione | I proxy SOCKS possono essere integrati solo in un client web o in una macchina che non sia un server web | I proxy HTTP possono essere configurati nel client Web o nel server |
Porta | I servizi SOCKS sono disponibili tramite le porte proxy SOCKS 1080 e 1085 | I proxy HTTP utilizzano le porte 80, 8080, 8085, 3128 e 3129, mentre i proxy HTTPS utilizzano la porta 443 |
Proxy SOCKS e VPN
Certo, i proxy SOCKS possono creare un tunnel sicuro attraverso un firewall. Ma sapevi anche che puoi creare un tunnel sicuro utilizzando un file rete privata virtuale o VPN? Una VPN crea un percorso di comunicazione sicuro tra due reti: una rete locale e reti esterne. Ciò avviene instradando tutto il traffico Internet attraverso un tunnel, ma non prima di crittografare i dati nel punto di ingresso (il computer, ad esempio). Il tunnel termina in un nodo di uscita (il server di uscita della VPN) che assegna alle richieste in uscita dalla rete locale o dal computer di un utente un nuovo indirizzo IP, nascondendo di fatto il vero indirizzo IP.
Quando si utilizza una VPN, tutte le richieste sembrano provenire dalla nota di uscita. Allo stesso tempo, tutte le risposte da un server web sembrano terminare su questo server VPN. Grazie a questa soluzione è possibile utilizzare una VPN per accedere a contenuti altrimenti geo-bloccati di qualsiasi luogo in cui il provider VPN disponga di un server.
Ad esempio, se ti trovi in Germania e desideri accedere a contenuti web visibili solo ai residenti negli Stati Uniti, puoi semplicemente utilizzare un server VPN con sede negli Stati Uniti.
Per fare ciò, devi prima installare il software VPN sul tuo computer, che convertirà la tua macchina in un nodo di ingresso. Il software è responsabile della crittografia dei dati. Successivamente, dovrai scegliere il nodo di uscita e, una volta che la VPN si connette a questo server di uscita, sarai libero di inviare la tua richiesta.
Vantaggi delle VPN
I vantaggi delle reti private virtuali includono:
- Crittografia e sicurezza: Le VPN crittografano tutte le richieste e le risposte del server, garantendo così una sicurezza senza pari. È per questo motivo che ti consigliamo di utilizzare una VPN ogni volta che accedi a Internet tramite Wi-Fi pubblico
- Fornire l'accesso ai contenuti geo-bloccati: Una VPN ti trasporta virtualmente in quella posizione instradando il traffico attraverso un nodo di uscita in un paese diverso. In questo modo puoi accedere a contenuti web che altrimenti non avresti potuto accedere nel tuo paese senza la VPN.
- Privacy in linea: Le VPN nascondono il tuo vero indirizzo IP e successivamente assegnano un indirizzo diverso. In questo modo, proteggono la tua privacy online nascondendo alcuni dati su di te, come la tua posizione (stato, città, paese e coordinate approssimative).
Svantaggi delle VPN
Gli svantaggi delle reti private virtuali includono:
- Velocità di connessione lente: poiché questa soluzione deve crittografare tutte le richieste in uscita e le risposte in entrata, in genere è più lenta.
- Registrazione dei dati utente: Un altro svantaggio comune che ha suscitato scalpore tra gli utenti VPN è che alcuni provider VPN spesso registrano i dati degli utenti. Lo fanno per fornire successivamente i dati alle forze dell'ordine quando richiesto. Diversi fornitori hanno infatti fatto notizia fornendo agli organi investigativi i dati degli utenti. Inoltre, alcuni paesi, come India, hanno leggi che obbligano i fornitori di VPN a salvare i dati degli utenti. In questo contesto, gli osservatori hanno precedentemente avvisato gli utenti a prendere alla lettera la politica "No log" dei fornitori.
- Le VPN gratuite sono generalmente non sicure: Tali VPN spesso condividono lo stesso tunnel sicuro tra più utenti, il che può aumentare le possibilità di "sniffing" o intercettazioni.
- Le VPN sono vietate in alcuni paesi: alcuni paesi hanno reso l'uso delle VPN completamente illegale. In altri paesi è possibile utilizzare solo VPN con licenza governativa.
Usi delle VPN
Le reti private virtuali vengono utilizzate nei seguenti modi:
- Le VPN forniscono sicurezza quando si accede a Internet tramite punti di accesso pubblici
- Accesso a contenuti geobloccati: come detto, le VPN, come i proxy SOCKS5, ti consentono di accedere a qualsiasi contenuto da qualsiasi luogo
- Facilitare il lavoro remoto: le aziende salvaguardano i propri dati richiedendo ai propri lavoratori remoti di accedere ai propri sistemi o server tramite VPN dedicate
Come si confrontano i proxy SOCKS con le VPN
Ricordando le caratteristiche, i vantaggi e gli svantaggi sopra menzionati dei proxy SOCKS, come si confrontano i proxy SOCKS e le VPN?
Somiglianze tra proxy SOCKS e VPN
I proxy SOCKS e le VPN presentano alcune somiglianze, tra cui:
- Privacy online: i proxy e le VPN SOCKS5 nascondono indirizzi IP reali, offrendo così la privacy online
- Sicurezza: entrambe le soluzioni aumentano la sicurezza, anche se in modi diversi. Le VPN crittografano i dati mentre i proxy SOCKS5 eseguono l'autenticazione.
- Protocolli supportati: alcuni Protocolli VPN, come OpenVPN, supportano TCP e UDP, mentre i proxy SOCKS5 supportano anche TCP e UDP.
- Bypassare le restrizioni geografiche: i proxy SOCKS5 e le VPN possono essere utilizzati per accedere a contenuti altrimenti bloccati geograficamente.
Differenze tra proxy SOCKS e VPN
I server proxy SOCKS e le VPN differiscono in alcuni modi. La tabella seguente riassume queste differenze:
Proxy SOCKS | VPN | |
Protocolli | I proxy SOCKS, in particolare i proxy SOCKS5, supportano proxy di trasporto e di livello applicativo, inclusi FTP, SMTP, TELNET, HTTP, GOPHER, NTP, DHCP, BOOTP, NNP, TFTP, RTSP, RIP e DNS | Le VPN generalmente utilizzano protocolli VPN come IKEv2, OpenVPN, L2TP/IPSec, WireGuard, SSTP e PPTP |
Velocità di connessione | I proxy SOCKS sono generalmente più veloci perché non eseguono la crittografia | Le VPN sono lente perché crittografano i dati |
Numero di server | I fornitori di servizi proxy SOCKS spesso forniscono centinaia di migliaia o addirittura un paio di milioni di server proxy | I provider VPN solitamente hanno meno server |
Paesi | Alcuni provider SOCKS dispongono di server proxy in oltre 150 paesi | I provider VPN solitamente dispongono di server VPN in meno paesi, spesso meno di 100 |
Conclusione
Un proxy SOCKS consente la comunicazione tra i computer degli utenti nonché tra client Web e server Web attraverso un firewall di rete. Basato sul protocollo SOCKS, questo tipo di proxy impedisce agli intrusi di accedere alla comunicazione tra le varie parti. Nel corso degli anni, il protocollo SOCKS è stato migliorato, dando vita a diverse versioni, ovvero SOCKS4, SOCKS4a e SOCKS5. Di conseguenza, esistono diversi tipi di proxy SOCKS, ovvero proxy SOCKS4 e proxy SOCKS5, quest'ultimo che offre funzionalità superiori. I proxy SOCKS vengono utilizzati in diversi modi, tra cui torrenting, e-mail, streaming video, chiamate dal vivo e navigazione generale. Forniscono anche l'anonimato online. In questo articolo, abbiamo confrontato i proxy SOCKS con le VPN e i proxy HTTP e speriamo che tu sia meglio informato su quale scegliere per le tue esigenze specifiche.