Proxy e reti private virtuali (VPN)
I proxy e le VPN differiscono per natura, sebbene possano fornire alcuni degli stessi servizi. Una VPN instrada tutto il traffico di rete su un computer client attraverso un tunnel verso un altro computer server. Non è richiesta alcuna configurazione di singola applicazione. Al contrario, l’utilizzo di un proxy richiede che ogni applicazione sia configurata individualmente per garantire che il suo traffico passi attraverso il proxy.
L’intento di una VPN è consentire a un computer client remoto di accedere alle risorse di rete in un’altra posizione come se si trovasse fisicamente nello stesso ufficio. Una di queste risorse di rete può essere l’accesso a Internet, che maschera l’indirizzo IP del computer remoto. Per questo motivo, le VPN hanno recentemente visto un’impennata di popolarità sia come strumento di geo-offuscamento per accedere a contenuti non disponibili nel paese del computer client (come Netflix statunitense al di fuori degli Stati Uniti), sia come strumento di privacy per impedire l’IP del client indirizzo da scoprire. Un proxy è più limitato in quanto non può fornire accesso a risorse remote, ma può mascherare il tuo indirizzo IP e fornire servizi di geo-offuscamento.
Tipi di proxy
I due tipi più comuni di proxy sono HTTP (Hyper Text Transfer Protocol) e SOCKS5 (Secure Sockets 5). I protocolli SOCKS4 e SOCKS4a non supportano UDP o autenticazione. Gli attuali proxy SOCKS5 e HTTP differiscono nei seguenti modi:
- In termini generali, il proxy HTTP può solo proxy del traffico HTTP (TCP) mentre un proxy SOCKS5 può gestire qualsiasi tipo di traffico utilizzando TCP o UDP.
- Un proxy SOCKS5 non interpreta il traffico inviato attraverso di esso in alcun modo, mentre in genere un proxy HTTP. Ciò significa che un proxy SOCKS5 è più universale e può essere utilizzato con più applicazioni.
- Un proxy HTTP può essere utilizzato solo con client HTTP come un browser Web, ma poiché è a conoscenza del contenuto HTTP, può eseguire operazioni intelligenti come la memorizzazione nella cache o la riscrittura delle intestazioni oltre al servizio proxy. Ai fini dell’anonimato e della privacy, un proxy SOCKS5 è una scelta migliore poiché può essere utilizzato in modo più generale.
In questo post vedremo come impostare il tipo più semplice di proxy SOCKS5 usando SSH (Secure Shell). Installeremo un VPS economico su Digital Ocean, configureremo il server SSH e configureremo alcune applicazioni client per usare il proxy.
Configurare il server proxy
Quasi ogni tipo di VPS funzionerà per questo. Alcuni account di web hosting potrebbero anche funzionare poiché tutto ciò di cui hai bisogno è l’accesso SSH non root, ma l’utilizzo di un account di web hosting come server proxy potrebbe violare i termini di servizio di alcuni host. Digital Ocean è un provider cloud noto e conveniente e uno dei loro server da $ 5 al mese funzionerà bene per un proxy SSH.
Digital Ocean è un fornitore di Virtual Private Cloud (VPC), il che significa che non acquisti un determinato server. Piuttosto, si crea un account e si collega un metodo di pagamento ad esso. Dopo averlo fatto, puoi creare tutti i server virtuali che desideri. I VPC tendono ad offrire un maggiore controllo sulle specifiche del sistema e possono costare molto meno di un VPS tradizionale. C’è una buona spiegazione delle differenze tra un VPS e un VPC qui.
Per creare un Droplet, fai clic sulla voce di menu Droplet ed effettua alcune selezioni per personalizzarlo. Ho selezionato Ubuntu 16.04 LTS (supporto a lungo termine) come sistema operativo e la dimensione più piccola (meno costosa). Le goccioline vengono addebitate a ore. L’opzione meno costosa funzionerà bene e costa solo $ 5 per l’intero mese.
Ora vorrai selezionare una posizione per il tuo Droplet. Tieni presente che quando stai usando il tuo proxy, il tuo traffico sarà visto come proveniente dall’indirizzo IP del tuo Droplet. Se stai configurando un proxy appositamente per scopi di geo-offuscamento, dovresti scegliere una posizione nel o vicino al paese da cui desideri apparire.
Una volta creato il tuo Droplet, riceverai un’e-mail di conferma da Digital Ocean con il suo indirizzo IP e le informazioni di accesso.
Configura OpenSSH sul VPS
Le Digital Ocean Droplets vengono fornite con SSH installato e pronto all’uso. La password dell’utente root viene fornita nell’email di benvenuto, quindi non è necessaria alcuna configurazione aggiuntiva sul server. Ma la migliore pratica è cambiare la password predefinita e creare un utente specifico per il proxy.
Connettiti al Droplet usando SSH su MacOS (OSX) o Linux
Apri un terminale e digita il seguente comando per connetterti utilizzando l’indirizzo IP dalla tua e-mail di benvenuto:
ssh 66.77.88.99 -l root
Ti verrà richiesto di accettare la chiave. Immettere la password dall’e-mail di benvenuto, quindi modificare la password.
Connettiti al Droplet utilizzando PuTTY su Windows
Se stai utilizzando Windows, avrai bisogno di un client SSH per connetterti al tuo Droplet. Il client SSH più utilizzato è PuTTY.
Inserisci l’indirizzo IP del tuo Droplet nel campo Nome host e fai clic sul pulsante Apri.
Assicurarsi che il sistema sia aggiornato
È una buona idea assicurarsi che il software di sistema sia aggiornato. Il software obsoleto è una delle principali cause di hack del sistema. I due comandi per farlo in Ubuntu sono:
apt-get update
apt-get upgrade
Sul mio Droplet c’era davvero poco da aggiornare, il che significa che Digital Ocean aggiorna le proprie immagini.
Aggiungi un utente
Droplet viene fornito con un solo utente: l’onnipotente utente root. È una buona pratica di sicurezza aggiungere un utente meno privilegiato al sistema e connettersi al proxy con tale account.
Immettere il comando seguente per aggiungere un utente normale chiamato myuser:
adduser myuser
Imposta una password e almeno un nome utente corretto. Non è necessario completare altre informazioni.
Ora abbiamo tutto il necessario per utilizzare il proxy.
Connettiti al proxy
Per utilizzare il proxy per il tunneling del traffico, deve essere collegato. I sistemi operativi simili a Unix hanno un client SSH incorporato mentre Windows avrà bisogno di un’applicazione di terze parti come PuTTY
Utilizzo di SSH su MacOS (OSX) o Linux
Il metodo per connettersi al proxy è lo stesso per Linux e MacOS (OSX). Apri un terminale e usa SSH per connetterti in questo modo:
ssh 66.77.88.99 -l myuser -D 12345
Sostituisci 66.77.88.99 con l’indirizzo IP della lettera di benvenuto di Digital Ocean.
L’opzione -D indica al client SSH di inoltrare al proxy il traffico inviato alla porta 12345 sul computer locale. Puoi utilizzare qualsiasi numero di porta che desideri purché sia superiore a 1024. Dal file della guida, l’opzione -D:
Specifica un port forwarding “dinamico” locale a livello di applicazione. Funziona assegnando un socket per ascoltare la porta sul lato locale, eventualmente associato al bind_address specificato. Ogni volta che viene stabilita una connessione a questa porta, la connessione viene inoltrata sul canale protetto e viene quindi utilizzato il protocollo dell’applicazione per determinare a quale connessione connettersi dalla macchina remota. Attualmente sono supportati i protocolli SOCKS4 e SOCKS5 e ssh fungerà da server SOCKS.
Non disconnettere questa sessione SSH. Puoi minimizzarlo per toglierlo di mezzo perché non dovrai fare altro con esso, ma lascialo in esecuzione fino a quando non hai finito di usare il proxy.
Utilizzo di PuTTY su Linux o Windows
Quando apri PuTTY ti troverai nella scheda Sessione. Inserisci l’indirizzo IP del tuo Droplet e lascia la porta come 22.
Passare a SSH -> Scheda Gallerie. Inserisci 12345 (o qualsiasi porta desideri) nel campo Porta di origine. Seleziona il pulsante di opzione Dinamico e fai clic sul pulsante Aggiungi.
Se non vuoi farlo ogni volta che apri PuTTY, torna alla scheda Sessioni, evidenzia la riga Impostazioni predefinite nell’elenco Sessioni salvate e fai clic sul pulsante Salva.
Configura il tuo browser e altre applicazioni per utilizzare il proxy
Ora che sei connesso al proxy ci sono tre modi di base per usarlo:
- Configurare le impostazioni di rete di ogni applicazione per utilizzare il proxy. Non tutte le applicazioni supportano i proxy, ma i browser Web lo fanno.
- Utilizzare un plug-in come il plug-in FoxyProxy per Firefox e Chrome per eseguire la configurazione dell’applicazione.
- Configurare il sistema operativo stesso per utilizzare il proxy per tutte le applicazioni.
La seconda opzione è la più semplice perché puoi abilitare o disabilitare rapidamente il proxy e puoi configurare il browser per utilizzare il proxy solo per determinati siti. Le altre due opzioni richiedono molto di andare avanti e indietro quando si desidera abilitare o disabilitare il proxy.
Utilizzo delle impostazioni di rete integrate dell’applicazione
Qualsiasi applicazione che supporti i proxy SOCKS5 dovrebbe essere in grado di utilizzare il tunnel SSH. Usa semplicemente l’IP proxy host di 127.0.0.1 (l’IP localhost) e la porta di 12345 (o qualunque numero di porta tu abbia selezionato).
In Firefox le impostazioni del proxy si trovano nelle Preferenze -> Avanzate -> Rete -> impostazioni.
In Chrome, dovrai fare clic sul collegamento Impostazioni avanzate nella parte inferiore della pagina Impostazioni e quindi accedere a Rete -> Modifica impostazioni proxy. Chrome non ha le sue impostazioni proxy, quindi questo aprirà semplicemente il pannello delle impostazioni proxy del tuo sistema operativo.
Se stai utilizzando Internet Explorer, troverai le impostazioni del proxy in Opzioni Internet -> Scheda connessioni -> Pulsante Impostazioni LAN. Questo apre l’applet del pannello di controllo delle impostazioni proxy Windows. Proprio come Chrome, non ci sono impostazioni di Internet Explorer dedicate per i proxy.
Utilizzo di un plug-in per Firefox o Chrome.
Esistono numerosi plug-in proxy per Firefox e Chrome. Uno popolare è FoxyProxy. Si trova nella barra del browser e puoi abilitare o disabilitare il proxy facendo clic su di esso, il che è molto più facile che scavare attraverso il sistema operativo o le impostazioni del browser.
FoxyProxy può anche essere configurato per escludere determinati siti dall’uso del proxy. Questo è utile se vuoi mantenere il proxy sempre attivo, ma non vuoi inciampare sulle difese della tua banca sembrando improvvisamente di essere in un altro paese.
Scarica FoxyProxy per il tuo browser.
Quando si avvia FoxyProxy per la prima volta, la finestra principale contiene un proxy che è già impostato ma non attivo. Ci sono molte opzioni e impostazioni di configurazione all’interno di FoxyProxy, ma ci concentreremo solo sulle poche che ci servono per far funzionare il proxy.
Evidenzia il proxy esistente e fai clic sul pulsante Modifica selezione.
Vai alla scheda Dettagli proxy e inserisci 127.0.0.1 come Indirizzo IP host e 12345 nel campo Porta.
Fare clic sul proxy SOCKS? casella di controllo e selezionare il pulsante di opzione SOCKS5.
Quindi, fai clic sulla scheda Generale e assicurati che sia selezionata l’opzione Esegui ricerche DNS remote su nomi host caricando tramite questo proxy. Ciò contribuirà a prevenire le perdite DNS. Non ti nasconderà completamente perché le ricerche WebRTC continueranno a funzionare per scoprire il tuo vero indirizzo IP. È possibile utilizzare questo strumento per verificare le perdite DNS. Esistono plugin per Firefox e Google Chrome che disabiliteranno le funzioni di WebRTC.
Chiudi la finestra delle impostazioni FoxyProxy e quindi attiva il proxy selezionando Usa predefinito proxy per tutti gli URL. Puoi verificare che il tuo proxy funzioni visitando un sito come Qual è il mio IP, dove ora dovresti vedere il tuo indirizzo IP proxy invece del tuo ISP.
Se si desidera identificare URL specifici da utilizzare o escludere dal proxy, sarà necessario creare un proxy personalizzato. Fai clic sul pulsante Aggiungi nuovo proxy e vedrai un pulsante aggiuntivo nella parte superiore della schermata delle impostazioni denominato Pattern URL. Fare clic su quel pulsante per impostare filtri personalizzati.
In questa schermata è possibile inserire siti e motivi da abbinare o escludere.
Utilizzo delle impostazioni di rete del sistema operativo
Invece di inserire le impostazioni del proxy in ciascuna applicazione, è possibile impostare i dettagli una volta a livello di sistema operativo. Al termine, dovrai solo dire a ciascuna applicazione di utilizzare il proxy a livello di sistema.
finestre
È possibile accedere all’applet Opzioni Internet in Windows in due modi. Accedi al pannello di controllo -> Opzioni Internet o accedi alle Opzioni Internet dal menu delle impostazioni in Internet Explorer.
Da lì, puoi seguire le istruzioni per Internet Explorer nella sezione sopra.
MacOS (OSX)
Fai clic sull’icona Apple nella parte superiore sinistra della barra dei menu sullo schermo e seleziona Preferenze di Sistema. Seleziona Rete e poi Proxy.
Fare clic sul pulsante Avanzate per accedere alle impostazioni di rete e accedere alla scheda Proxy.
Fare clic sulla casella di controllo Proxy SOCKS e inserire le informazioni sull’host e sulla porta.
Linux
Ogni ambiente desktop Linux ha un diverso elemento del pannello di controllo per configurare le impostazioni di rete. I due desktop più comuni sono Gnome e KDE.
Nel desktop Gnome (usato da Ubuntu), le Impostazioni -> Il pannello di rete è il luogo in cui impostare il proxy.
Seleziona l’opzione Manuale.
Quindi impostare il proxy SOCKS e fare clic sul pulsante Applica a livello di sistema.
Il desktop KDE (usato da Kubuntu) ha le impostazioni di rete in Impostazioni – Impostazioni di sistema -> Impostazioni di rete -> delega.
Una volta impostato il proxy nel sistema operativo, ogni applicazione dovrà essere configurata per usarlo. Tale opzione sarà nelle impostazioni di rete per ogni applicazione. Ad esempio, in Firefox questa impostazione è nella parte superiore delle impostazioni proxy.
sono più sicuri rispetto ai server condivisi. Configura OpenSSH sul VPS Per configurare il server proxy, è necessario installare OpenSSH sul VPS. Ci sono diverse guide online che spiegano come farlo, ma in generale, è possibile farlo seguendo questi passaggi: 1. Accedi al tuo account Digital Ocean e crea un nuovo Droplet (server virtuale) 2. Scegli il sistema operativo che preferisci (ad esempio, Ubuntu) 3. Configura le opzioni del server (ad esempio, la regione, la dimensione del server, ecc.) 4. Accedi al server utilizzando SSH (Secure Shell) 5. Aggiorna il sistema operativo e installa OpenSSH 6. Configura le impostazioni di sicurezza di OpenSSH (ad esempio, disabilita laccesso root, utilizza chiavi SSH per lautenticazione, ecc.) Connettiti al proxy Dopo aver configurato il server proxy, è possibile connettersi ad esso utilizzando SSH. Ci sono diverse guide online che spiegano come farlo, ma in generale, è possibile farlo seguendo questi passaggi: 1. Accedi al tuo client SSH (ad esempio, Terminal su MacOS o PuTTY su Windows) 2. Utilizza il comando SSH per connetterti al server proxy (ad esempio, ssh [username]@[server_ip]) 3. Inserisci la password dellaccount utente sul server proxy (se richiesta) 4. Una volta connesso, puoi utilizzare il proxy per accedere a Internet o ad altre risorse di rete Configura il tuo browser e altre applicazioni per utilizzare il proxy Dopo aver configurato il server proxy e avervi accesso, è possibile configurare il tuo browser e altre applicazioni per utilizzare il proxy. Ci sono diverse opzioni per farlo, ad esempio: 1. Utilizzo delle impostazioni di rete integrate dellapplicazione (ad esempio, impostazioni di rete di Firefox) 2. Utilizzo di un plug-in per Firefox o Chrome (ad esempio, FoxyProxy) 3. Utilizzo delle impostazioni di rete del sistema operativo (ad esempio, impost