In questo tutorial, ti guideremo attraverso come configurare Obfsproxy con un server OpenVPN fatto in casa e un PC Windows. Ciò impedisce a censori e firewall di utilizzare l’ispezione approfondita dei pacchetti per determinare se si sta crittografando il traffico, cosa che si sta utilizzando OpenVPN.
Questo tutorial presuppone che tu abbia un server OpenVPN funzionante e un client Windows già impostato su un’istanza EC2 di Amazon Web Services. Dai un’occhiata al nostro precedente tutorial sul server OpenVPN su come farlo.
Obfsproxy dovrebbe impedire che la tua VPN venga bloccata dai censori in paesi come la Cina. Abbiamo confermato che ignora anche il divieto VPN su Netflix.
Prima di iniziare
Obfsproxy, abbreviazione di proxy di offuscamento, è stato adottato dalla comunità Tor. Nelle loro parole:
“Obfsproxy è uno strumento che tenta di aggirare la censura, trasformando il traffico Tor tra il client e il bridge. In questo modo, i censori, che di solito monitorano il traffico tra il client e il bridge, vedranno un traffico trasformato dall’aspetto innocente anziché il traffico Tor effettivo. “
Obfsproxy, tuttavia, è in realtà indipendente da Tor, quindi può anche essere usato per offuscare il traffico OpenVPN.
Affinché Obfsproxy funzioni con OpenVPN, dovremo configurarlo sia sul lato client che sul lato server. Alcuni provider VPN, tra cui NordVPN e AirVPN, offrono server preconfigurati, quindi è necessario solo configurare il lato client. Questo tutorial spiegherà entrambi.
Ecco un elenco di ciò di cui hai bisogno:
- Un server OpenVPN funzionale su un’istanza Amazon Linux EC2 simile a quello del nostro tutorial precedente
- La GUI OpenVPN Connect (app lato client)
- PuTTy
- Python 2.7
- Compilatore Microsoft C ++ per Python 2.7
- OpenSSL Light per Windows
- ProxySwitchy Sharp o un software proxy equivalente
Configurazione del client Obfsproxy su Windows
Inizieremo con la configurazione lato client, perché alcune persone non dovranno eseguire l’installazione sul lato server se il loro provider VPN offre già server preconfigurati.
Installazione preliminare
Per fortuna, NordVPN ti ha già fatto la cortesia di raggruppare la maggior parte delle dipendenze richieste in un unico file .zip. Scaricalo qui.
Inizia installando Python 2.7 nella directory predefinita con le impostazioni predefinite. Obfsproxy è un programma Python, quindi dovrai installarlo. Se hai una versione più recente di Python, come 3.3 o 3.4, ti consigliamo comunque di installare 2.7. Puoi trovare il file di installazione nella cartella Step 3 del file zip di NordVPN (stiamo saltando le cartelle step 1 e 2).
Successivamente è necessario installare il compilatore Microsoft C ++ per Python 2.7 dalla cartella passaggio 4. Non esiste un compilatore simile per le versioni successive di Python. Potresti essere in grado di trovare una soluzione alternativa usando MS Visual Studio o il pacchetto Numby, ma abbiamo trovato molto meno complicato installare Python 2.7.
Dopo aver installato il compilatore C ++ utilizzando le impostazioni e la directory predefinite, passare alla cartella passaggio 5. Installa OpenSSL Light, di nuovo, usando tutte le impostazioni predefinite. È possibile che ti venga richiesta una donazione dopo l’installazione. Premi Fine, quindi chiudi la finestra pop-up se non desideri donare.
Aggiungi questa pagina ai segnalibri, riavvia il computer e apri nuovamente questa pagina.
Installazione di Obfsproxy e OpenVPN
Ora hai tutto il necessario per eseguire Obfsproxy, ma dobbiamo ancora configurarlo in modo che possa essere utilizzato con OpenVPN. Inizieremo modificando i nostri file .ovpn esistenti nella directory OpenVPN. Se non hai ancora impostato OpenVPN, fai riferimento al nostro tutorial precedente. Se hai installato OpenVPN nella directory predefinita, troverai i file di configurazione in C: / Programmi / OpenVPN / config.
Trova Blocco note o un altro editor di testo, fai clic con il pulsante destro del mouse e scegli “Esegui come amministratore”. Apri normalmente il file di configurazione che usi per connetterti al tuo server OpenVPN. Fai clic su File > Salva con nome e assegnalo a qualcos’altro in modo da avere una copia con cui lavorare senza preoccuparci di rovinare l’originale.
Modificheremo il file di configurazione in modo che assomigli a quanto segue:
proto tcp-client
telecomando 8080
porta 1194
dev tun1
chiave segreta ovpn.
reindirizzamento gateway def1
ifconfig 10.4.0.2 10.4.0.1
calze-proxy-retry
proxy calzini 127.0.0.1 10194
Notare l’aggiunta di due righe nella parte inferiore, più un numero di porta alla fine della linea remota. Sostituisci con l’indirizzo IP della tua istanza Amazon EC2. A meno che tu non abbia impostato un IP elastico su Amazon, questo indirizzo cambierà ogni volta che ti fermi e avvii la tua istanza, quindi ricordati di cambiarlo se necessario. Sulla linea remota, il numero di porta può essere qualsiasi cosa al di fuori dell’intervallo riservato di porte. Usiamo 8080 perché è abbastanza compatibile con quasi tutti i server web, ma 21194 è suggerito sul wiki OpenVPN. Ricorda solo che qualsiasi cosa tu abbia inserito qui deve corrispondere a ciò che configureremo sul lato server in seguito.
Se ti stai connettendo a un server preconfigurato di proprietà del tuo provider VPN, i file di configurazione devono essere forniti per te (la cartella del passaggio 2 per gli utenti NordVPN).
Salva il tuo nuovo file di configurazione, assicurandoti di non sovrascrivere quello vecchio. Assicurati inoltre che il tuo editor di testo non aggiunga automaticamente il nome del file con .txt. Dovrebbe essere un file .ovpn.
Ora che OpenVPN è configurato, è necessario installare ed eseguire Obfsproxy. È qui che entra in gioco la tua nuova installazione di Python. Nella barra di ricerca di Windows, digita “Prompt dei comandi”. Fai clic con il pulsante destro del mouse sull’applicazione Prompt dei comandi e premi “Esegui come amministratore”. Nel terminale, digita i seguenti comandi una riga alla volta, premendo Invio dopo ciascuno.
cd C: \ Python27 \ Scripts
pip install –-upgrade pip
pip installa obfsproxy
obfsproxy –log-min-severity = info obfs2 –shared-secret = calzini 127.0.0.1:10194
Dopo il secondo comando, potresti visualizzare alcuni errori o avvisi. Ignorali per ora.
Qui devi sostituire con una password a tua scelta. Ricorda o annota questa password, poiché ti servirà in seguito. Se ti connetti a server preconfigurati forniti dal tuo servizio VPN, questo comando ti verrà fornito.
Dopo l’ultima riga, il prompt dei comandi dovrebbe dirti che sta ascoltando il traffico obfsproxy, come nello screenshot. Nota nello screenshot Ho dimenticato di digitare la mia password al primo tentativo.
Dovrai accedere alla directory degli script (primo comando), inserire il comando Obfsproxy (ultimo comando) e lasciare aperto il prompt dei comandi ogni volta che vuoi usare Obfsproxy.
Configurazione proxy (opzionale)
Modifica: questo passaggio non è necessario per il funzionamento di Obfsproxy, ma è necessario se si desidera utilizzare la propria connessione Obfsproxy + VPN per guardare Netflix e altri siti di streaming video al di fuori degli Stati Uniti (o in qualsiasi paese si trovi il proprio server VPN). Altrimenti, Netflix verrà impostato sulla regione errata.
L’ultima cosa che dobbiamo fare sul lato client è impostare una connessione proxy. Ciò differisce per ogni applicazione. Puoi configurarlo nelle impostazioni Internet di Windows, ma preferisco farlo app per app. Nelle app native che utilizzano Internet, di solito è possibile configurare un proxy da qualche parte nelle impostazioni. I campi sono i seguenti:
- Host SOCKS: 127.0.0.1
- Porta: 8080 (o qualunque cosa tu abbia inserito nel tuo file di configurazione OpenVPN sulla linea remota)
- SOCKS versione 5 (SOCKS5)
Su un browser, il modo più semplice per configurarlo è con un’estensione proxy. Ti mostreremo come utilizzare Proxy Switchy Sharp su Chrome.
Nelle impostazioni ProxySwitchy, crea un nuovo profilo. Con la configurazione manuale selezionata, digitare le impostazioni sopra come illustrato di seguito. Denominalo come preferisci. Non accenderemo questo fino a quando non avremo stabilito una connessione con il server, quindi tieniti forte.
Configurazione del server Obfsproxy sull’istanza di Linux EC2
Il tuo PC è pronto per la connessione, quindi ora dobbiamo preparare il server.
Gruppo di sicurezza AWS
Prima di installare ed eseguire obfsproxy sul server, potrebbe essere necessario aggiungere una nuova regola al gruppo di sicurezza del server per assicurarsi che il firewall dell’istanza EC2 non blocchi il traffico. Per fare ciò, accedi al tuo account AWS, quindi fai clic su EC2. In Rete e sicurezza, vai a Gruppi di sicurezza.
Qui puoi scegliere di creare un nuovo gruppo di sicurezza e aggiungerlo al tuo server o modificarne uno esistente. Fare clic destro su una regola e selezionare “Modifica regole in entrata”. In Tipo, seleziona tutto il traffico TCP (nota: ignora la regola personalizzata personalizzata nello screenshot, poiché da allora abbiamo aggiornato questo tutorial), quindi imposta l’origine su “Il mio IP” o l’IP di qualunque dispositivo intendi connettere con. Quindi fai clic con il pulsante destro del mouse e vai a “modifica regole in uscita”. Sotto Tipo, seleziona semplicemente l’opzione a discesa per “tutto il traffico”.
Se hai creato un nuovo gruppo di sicurezza, fai clic su Istanze nella barra laterale di sinistra, fai clic con il pulsante destro del mouse sull’istanza VPN, scorri verso il basso fino a Rete e fai clic su Cambia gruppi di sicurezza. Controlla il tuo nuovo gruppo di sicurezza e premi Salva.
Installazione del server Obfsproxy
Usa PuTTy per connetterti al tuo server tramite SSH. Se non ricordi come fare o non hai salvato un profilo, fai riferimento al nostro tutorial precedente. Ricorda che nella distribuzione del server AMI di Amazon Linux, il nome utente è “ec2-user”. Esegui OpenVPN usando questo comando:
sudo service openvpn start
Assicurati che il tuo file di configurazione OpenVPN sul server (etc / openvpn / openvpn.conf) abbia la porta 1194 aperta, come da nostro tutorial precedente.
Python dovrebbe già essere installato se stai utilizzando la distribuzione del server Linux 14.04. Nel terminale PuTTy, inserisci i seguenti comandi una riga alla volta e premi Invio dopo ciascuno:
sudo yum installa gcc
sudo pip installa obfsproxy
obfsproxy –log-min-severity = info obfs2 –dest = 127.0.0.1: 1194 –shared-secret = server 0.0.0.0:8080
Per il primo comando, le versioni precedenti di Linux potrebbero usare “apt-get” al posto di “yum”.
Ricorda di sostituire l’ultimo comando con la stessa password che hai usato sul lato client.
Dovresti vedere un messaggio simile su questo terminale come sul tuo prompt dei comandi, che indica che il server è in ascolto sulla porta 8080 per il traffico obfsproxy.
Connessione tramite Obfsproxy
Sei pronto per connetterti. Con Obfsproxy in esecuzione sia sul tuo computer locale (prompt dei comandi) che sul tuo server (PuTTy), esegui la GUI di OpenVPN. Fai clic destro e connettiti usando la tua nuova configurazione. L’icona OpenVPN dovrebbe diventare verde e dovrebbe apparire una notifica con il tuo IP assegnato.
Se vuoi guardare Netflix o qualche altro contenuto geo-bloccato, abilita le impostazioni proxy nelle tue applicazioni. Per Proxy Switchy su Chrome, fai clic sull’icona nell’angolo in alto a destra e seleziona il profilo che hai creato nella sezione opzionale sopra. È inoltre possibile aggiungere il proxy nelle impostazioni Internet di Windows.
Congratulazioni! Il tuo traffico OpenVPN è ora indistinguibile dal normale traffico HTTP grazie a Obfsproxy.
Automatizzare il processo
Come potresti aver concluso, eseguire obfsproxy sul lato client ogni volta che vuoi usarlo può diventare un po ‘noioso. Per automatizzare il processo, un utente ha creato un programma di installazione di Windows che esegue Obfsproxy come servizio che si avvia all’avvio. Puoi scaricarlo e trovare le istruzioni qui.
“Disguise-glasses.jpg” di r. nial bradshaw concesso in licenza in base a CC BY 2.0
questo tutorial, ti guideremo attraverso la configurazione di Obfsproxy con un server OpenVPN fatto in casa e un PC Windows. Obfsproxy è uno strumento che tenta di aggirare la censura, trasformando il traffico Tor tra il client e il bridge. Ciò impedisce a censori e firewall di utilizzare lispezione approfondita dei pacchetti per determinare se si sta crittografando il traffico, cosa che si sta utilizzando OpenVPN. Questo tutorial presuppone che tu abbia un server OpenVPN funzionante e un client Windows già impostato su unistanza EC2 di Amazon Web Services. Obfsproxy dovrebbe impedire che la tua VPN venga bloccata dai censori in paesi come la Cina. Abbiamo confermato che ignora anche il divieto VPN su Netflix.