In SOCKS5 l'autenticazione non avviene tramite un header come nei proxy HTTP, ma con una sotto-negoziazione separata . Questa differenza spiega anche perché i messaggi di errore siano così vaghi: quando viene proposto il metodo sbagliato il server non restituisce un testo esplicativo, invia un singolo byte e chiude la connessione.
Negoziazione del metodo
Ogni passaggio è di pochi byte in una sola direzione. Se la negoziazione fallisce, il server restituisce 0xFF oppure 0x01 0x01 e chiude la connessione: non esiste alcun testo di errore esplicativo.
Metodi supportati
| Codice | Metodo | Utilizzo |
|---|---|---|
0x00 | Nessuna autenticazione richiesta | Server protetti da whitelist IP |
0x01 | GSSAPI | Ambienti Kerberos aziendali (raro) |
0x02 | Nome utente / password | Il metodo commerciale più diffuso |
0xFF | Nessun metodo accettabile | Risposta di rifiuto del server |
Nome utente e password in chiaro vengono inviati. SOCKS5 di per sé non esegue alcuna cifratura. Se lo usi su una rete non affidabile le tue credenziali possono essere lette; in questo scenario lavorare tramite un tunnel SSH è più sicuro.
Problemi frequenti
La riga relativa al browser è importante: molti browser non supportano l'autenticazione SOCKS5 dall'interfaccia. In questo caso serve un bridge locale che trasporti le credenziali.
Il problema dei browser e la soluzione
Il supporto di Chrome e Firefox all'autenticazione SOCKS5 è limitato o del tutto assente. Esistono due soluzioni pratiche:
Passa alla whitelist IP
Se il provider la supporta è la soluzione più pulita: non viene inviata alcuna credenziale e il browser funziona senza problemi.
Installa un bridge locale
Esegui sulla macchina un piccolo proxy che trasporti le credenziali e configuralo nel browser 127.0.0.1 . Il metodo è descritto nel nostro articolo sul concatenamento del nostro blog.
Configurazione per libreria
Se la tua password contiene @, : oppure / , usa il campo separato invece del formato URL; altrimenti dovrai applicare la codifica percentuale.
Confronto con la whitelist
Anche in SOCKS5 valgono i due modelli e i criteri di scelta sono gli stessi dei proxy HTTP. Per un confronto dettagliato puoi consultare il nostro articolo sui metodi di autenticazione . L'unica differenza specifica di SOCKS5 è il problema del supporto dei browser: la whitelist lo elimina completamente.
Verifica
Testare di proposito con una password errata rende più facile riconoscere il messaggio di errore quando si presenta un problema reale.
Riepilogo
L'autenticazione SOCKS5 avviene tramite una sotto-negoziazione separata e i messaggi di errore non sono esplicativi. I due problemi più frequenti sono il client che non propone affatto il metodo di autenticazione e i browser che non supportano questo metodo. Poiché le credenziali vengono inviate in chiaro, fai attenzione sulle reti non affidabili. La whitelist è la soluzione più pulita, perché elimina sia il problema dei browser sia il rischio di fuga di dati. Per testare i tuoi indirizzi il nostro strumento di controllo proxy puoi usarlo.