Cum să ascundeți traficul OpenVPN cu un tunel SSH

tunel (2)
Așa că ați urmat tutorialul nostru despre cum să vă configurați propriul server VPN folosind OpenVPN și un server Amazon EC2 și a funcționat excelent. Adică până când s-a blocat brusc. Poate că ați repornit instanța și ați primit o nouă adresă IP. Funcționează din nou încă două zile, apoi este blocat. Se pare că biroul, ISP-ul sau guvernul blochează activ serverele OpenVPN. Deci ce faci?

Firewall-urile de bază blochează conexiunile bazate pe portul folosit și pe adresa IP de destinație, dar firewall-urile mai avansate folosesc inspecția profundă a pachetelor (DPI) și / sau inspecția de pachete (SPI) statistică pentru a distinge diferitele tipuri de algoritmi de criptare și protocoale VPN. Asta înseamnă că pot detecta traficul OpenVPN și îl pot semnaliza, astfel încât administratorul să poată bloca serverul.

Există trei opțiuni pentru a evita acest lucru: un proxy de ofuscă, tunel SSL și tunel SSH. În acest tutorial, vom discuta cel mai recent. Tunelul SSH vă înfășoară conexiunea deja criptată într-un alt strat de criptare, astfel încât firewallul nu poate face distincția. Fiecare dintre aceste metode ar trebui să ocolească firewall-urile DPI și SPI puse în aplicare fie de corporații, fie de guverne cu cenzură, precum China.

OpenVPN prin SSH are câteva dezavantaje. În primul rând este o performanță lovită datorită dublei criptare. În al doilea rând, amprenta OpenVPN nu mai poate fi detectată atunci când este conectată prin SSH, dar unele firewall-uri blochează și traficul SSH. Acesta este cazul serviciilor precum Netflix, care opresc utilizarea oricăror tipuri de proxy criptat, OpenVPN, SSH sau altfel. În acest caz, vă recomandăm să configurați Obfsproxy în schimb, ceea ce face ca traficul criptat să pară normal și necriptat. Obfsproxy este mult mai puternic din acest motiv, dar și mai complicat de configurat și rulat.

Din păcate, Obfsproxy combinat cu OpenVPN funcționează în prezent doar pe un desktop, în măsura în care suntem conștienți. Tunelarea SSH poate fi utilizată pe un dispozitiv mobil Android sau iOS.

Acest tutorial presupune că aveți deja configurat un server OpenVPN funcțional și vă puteți conecta la acesta folosind GUI OpenVPN sau aplicația OpenVPN Connect. De asemenea, trebuie să poți SSH pe serverul tău folosind Terminal pe Mac sau PuTTy pe un computer. În scop demonstrativ, vom folosi PuTTy. Dacă nu aveți tot ce ați configurat, consultați tutorialul nostru anterior.

Configurarea OpenVPN prin SSH pe un computer

În ultimul nostru tutorial, am discutat despre cum să configurați un proxy SSH simplu, apoi am extins pe acesta pentru a crea un server VPN complet. Această abordare combină cele două, ceea ce înseamnă că ar trebui să ai deja tot ce ai nevoie.

Deschideți PuTTy și încărcați configurația serverului VPN. În bara laterală, navigați la Conexiune > SSH > Tuneluri. Asigurați-vă că D8080 este inclus în listă. Dacă nu, tastați 8080 în „Port sursă” și verificați Auto și dinamic. Apoi apasă Adăugare. Acum aveți un proxy SSH care rulează prin portul 8080. Puteți salva acest lucru ca o configurație de sesiune separată dacă doriți din nou în fila Sesiune din arborele de navigare.

openvpn ssh putty 8080

Faceți clic pe Deschideți și conectați-vă la serverul dvs. Nu uitați că pe noul AMI Amazon Linux, numele de utilizator este „ec2-user”.

Accesați fișierul dvs. openvpn.conf și verificați conținutul folosind aceste comenzi

cd / etc / openvpn
pisica openvpn.conf

Aceasta ar trebui să afișeze conținutul fișierului dvs. de configurare a serverului OpenVPN. Ar trebui să arate astfel:

portul 1194
proto tcp-server
dev tun1
ifconfig 10.4.0.1 10.4.0.2
status server-tcp.log
verb 3
secret ovpn.key

Openvpn ssh server de configurare

Important este că a doua linie este setată pe TCP, nu pe UDP. Dacă trebuie să o schimbați, o puteți edita cu această comandă:

sudo nano openvpn.conf

Apoi faceți clic pe CTRL + O (litera „o”, nu zero) pentru a salva fișierul, apoi CTRL + X pentru a ieși din editor..

Configurare client

Pe aparatul dvs. local, navigați la fișierele dvs. de configurare a clientului OpenVPN. Dacă ați utilizat directorul de instalare implicit, acesta va fi C: / Program Files / OpenVPN / config.

Creați o copie a fișierului de configurare OpenVPN existent din ultimul tutorial sau creați unul nou. Găsiți un bloc de notițe sau un alt editor de text simplu și faceți clic dreapta pe acesta pentru a rula ca administrator. Deschideți sau creați noul fișier de configurare, care ar trebui să arate astfel:

proto tcp-client
locală la distanță 1194
portul 1194
dev tun1
secret ovpn.key
redirect-gateway def1
ifconfig 10.4.0.2 10.4.0.1
șosete-proxy-o nouă încercare
șosete-proxy 127.0.0.1 8080

Rețineți că a doua linie „la distanță” folosește localhost în loc de IP-ul serverului OpenVPN, plus cele două linii de la capăt care configurează OpenVPN pentru a utiliza un proxy SOCKS. Toate celelalte sunt la fel ca înainte.

Salvați noul fișier de configurare în folderul de configurare al directorului OpenVPN.

Configurarea aplicațiilor

Ultimul pas este să configurați aplicațiile pentru a utiliza proxy peste portul 8080. Acest lucru este similar cu ceea ce am făcut cu proxy SSH de bază din ultimul tutorial. Multe aplicații vor avea o configurare proxy disponibilă în setări, iar unele pot chiar să o detecteze automat. Dacă trebuie să o configurați manual, cele trei informații de care aveți nevoie sunt:

  • Gazdă: 127.0.0.1
  • Port: 8080
  • Tipul de proxy: SOCKS5 (sau SOCKS v5)

Iată instrucțiunile pentru Firefox și Chrome:

În Firefox:

  • Accesați Instrumente > Opțiuni > Avansat > Reţea > Conexiune > Setări > Configurarea manuală a proxy-ului
  • Setați SOCKS Host ca 127.0.0.1 și portul ca 8080 (sau orice ați seta portul tunel pe PuTTy).
  • Faceți clic pe OK pentru a salva

În Chrome Proxy Switchy

  • O pagină de configurare ar trebui să apară imediat ce instalați extensia sau faceți clic pe pictograma din dreapta sus a Chrome și faceți clic pe Opțiuni.
  • Denumiți profilul cum doriți. În Configurare manuală, setați SOCKS la 127.0.0.1 și portul la 8080 (sau orice ați seta portul tunelului în PuTTy. Lăsați totul altceva liber.
  • Apăsați Salvare, apoi faceți clic din nou pe pictogramă pentru a selecta profilul dvs. proxy.

obfsproxy crom proxy switchy

Acum conectați-vă la serverul dvs. mai întâi cu PuTTy folosind configurația de mai sus, apoi cu VPN folosind noul fișier de configurare pe care l-am creat.

Acum sunteți conectat la internet cu OpenVPN prin SSH!

Mobil

Vom explica cum să vă adaptați tunelul OpenVPN + SSH pentru Android, deși iOS nu ar trebui să fie atât de diferit.

Înainte de a începe, există câteva avertismente. În primul rând, această metodă funcționează doar pentru navigarea web. Acest lucru se datorează faptului că, spre deosebire de un desktop, nu puteți deschide doar porturi după cum doriți pe un dispozitiv Android sau iOS stoc. Aceasta înseamnă că porturile utilizate de alte aplicații nu vor fi direcționate prin proxy SSH. Pentru a depăși acest lucru, puteți roota sau jailbreak dispozitivul dvs. și puteți utiliza o aplicație precum ProxyDroid sau aplicațiile Unix Cydia pentru a configura proxy.

Acesta este un tutorial pentru o zi ulterioară. Deocamdată, să-l punem în funcțiune și să funcționăm pe Android cu Firefox. Va trebui să instalați următoarele aplicații:

  • OpenVPN pentru Android (notă: NU OpenVPN Connect, care este mai plin de autentificare)
  • ConnectBot sau o aplicație de terminal SSH echivalentă (JuiceSSH este bun, dar costă suplimentar pentru porturile forward)
  • Un manager de fișiere precum File Commander
  • Firefox sau un alt browser care vă permite să configurați proxies

De asemenea, veți avea nevoie de unele mijloace de transfer de fișiere de pe computer la telefon. Un cablu USB este în regulă. Am folosit folderul de sincronizare al IBackup.

Localizați ovpn.key și fișierul de configurare .ovpn pe care l-ați creat mai sus pe desktop și mutați-le pe cardul de stocare intern sau pe cardul SD al telefonului. De asemenea, mutați fișierul cheie .pem furnizat de gazda serverului. Este probabil localizat în același loc ca fișierul dvs. .ppk pe care îl utilizați pentru a vă autentifica cu PuTTy. Dacă l-ați pierdut, va trebui să creați un altul în tabloul de bord Amazon EC2 sau din orice serviciu de găzduire a serverului pe care îl utilizați.

Opțional, puteți apuca fișierul de configurare .ovpn standard pe care îl utilizați pentru a vă conecta fără SSH. Apoi, puteți utiliza VPN-ul cu toate aplicațiile în loc doar de browser și este util pentru depanare.

Configurare ConnectBot

Rulați ConnectBot pe telefon. Faceți clic pe cele trei puncte din colțul din dreapta sus și mergeți la Manage Pubkeys. Faceți clic din nou pe puncte pe pagina următoare și faceți clic pe Import. Aceasta ar trebui să lanseze managerul de fișiere instalat. Găsiți fișierul .pem pe care tocmai l-ați mutat pe telefon și selectați-l. Ar trebui să apară acum în lista de chei publice cu un blocaj roșu lângă ea. Atingeți-l astfel încât să devină verde. Apăsați butonul înapoi pentru a vă întoarce la pagina principală de pe ConnectBot.

connectbot

În câmpul terminal inferior de lângă „ssh”, introduceți detaliile SSH. Ar trebui să arate astfel:

CE2-user @: 22

Înlocuiți cu adresa IP a serverului dvs. OpenVPN. Atingeți tasta Enter pentru SSH în serverul dvs. Toate acestea ar trebui să fie salvate astfel încât să nu mai fie nevoie să o reintroduceți din nou, dar poate fi necesar să comutați din nou cheia publică în viitor.

După ce v-ați conectat cu succes, atingeți din nou cele trei puncte și deconectați-vă. Profilul dvs. ar trebui salvat pe ecranul de start al ConnectBot. Apăsați lung pentru a deschide un meniu contextual și atingeți „Editați port înainte”. Pe pagina următoare, atingeți cele trei puncte și alegeți „Adăugați port înainte”.

Numește-ți orice îți place. Setați tipul la Dynamic (SOCKS) și portul sursă la 8080 (sau orice altceva se află în linia proxy șosete a fișierului dvs. de configurare OpenVPN). Atingeți „Creare port înainte”.

ConnectBot este gata de pornire, dar nu ne vom conecta încă. Să înființăm mai întâi OpenVPN.

OpenVPN pentru configurare Android

Rulați OpenVPN pentru Android.

Faceți clic pe butonul pătrat cu o săgeată orientată în jos pe el în colțul din dreapta sus pentru a importa un profil. Accesați fișierul dvs. de configurare .ovpn și selectați-l. În pagina următoare, apăsați pe butonul care scrie „Selectați”.

openvpn pentru Android

De data aceasta, navigați la fișierul dvs. ovpn.key și selectați-l. Apăsați butonul galben de salvare din colțul din dreapta jos.

Noul tău profil ar trebui să apară acum în lista de pe ecranul de start al aplicației.

Înainte de a ne conecta, să verificăm dublu firewall-ul serverului nostru. Conectați-vă la AWS, selectați Instanțe și evidențiați serverul OpenVPN. În câmpul Grupuri de securitate, faceți clic pe cel utilizat pentru această instanță. Faceți clic dreapta pe ea și selectați „Editați regulile de intrare”.

Adăugați reguli TCP personalizate pentru porturile 22, 1194 și 8080, ajustându-vă după necesitate pentru configurația personală.

Acum, este timpul să vă conectați. Deschideți ConnectBot mai întâi. Atingeți profilul pe care tocmai l-am creat pentru SSH în serverul dvs. Asigurați-vă că pubkey-ul este activat, altfel veți primi o eroare cu privire la o parolă. După ce v-ați conectat cu succes, treceți la aplicația OpenVPN. Atingeți profilul dvs. acolo pentru a vă conecta.

openvpn ssh succes android

La sfârșitul jurnalului OpenVPN care apare atunci când vă conectați, ar trebui să vedeți un mesaj care spune „CONECTAT, SUCCES”.

Rețineți că, deoarece utilizăm aceleași fișiere .pem și .key ca pe desktop-ul nostru, puteți utiliza aceste acreditări doar pe un dispozitiv la un moment dat. Asigurați-vă că nu vă conectați mai întâi la desktop. Dacă doriți să vă conectați simultan pe mai multe dispozitive, va trebui să generați noi credențiale (.key și .pem) pentru fiecare.

Configurați Firefox pentru a utiliza un proxy

În cele din urmă, trebuie să configurăm Firefox pentru a utiliza proxy. Chrome și Safari de pe mobil nu au opțiuni de configurare proxy, motiv pentru care recomandăm Firefox. Puteți încerca să configurați proxy în setările wi-fi, dar va trebui să le schimbați de fiecare dată când doriți să vă conectați fără proxy.

configurare proxy firefox

În bara URL URL, tastați „about: config”. În bara de căutare de pe pagina respectivă, tastați „network.proxy”. Aceasta va aduce toate câmpurile de care ne preocupăm. Introduceți următoarele setări pe câmpurile indicate:

  • retea.proxy.socks: 127.0.0.1
  • network.proxy.socks_port: 8080 (sau orice altceva setat în configurația OpenVPN și ConnectBot)
  • retea.proxy.type: 1

Aceasta ar trebui să direcționeze traficul browserului Firefox prin OpenVPN și SSH. Acum puteți naviga pe web de pe un dispozitiv mobil printr-un VPN, fără teamă de inspecția profundă a pachetelor!

Dacă doriți să vă conectați prin proxy SSH fără OpenVPN, doar SSH în serverul dvs. cu ConnectBot și nu vă conectați cu OpenVPN. În schimb, puteți importa fișierul dvs. de bază .ovpn de bază non-SSH în aplicația OpenVPN și vă puteți conecta cu acel proxy fără SSH.

„Tunel” de jo.sau licențiat conform CC BY 2.0

Brayan Jackson
Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me

About the author

Leave a Reply

Your email address will not be published. Required fields are marked *

44 − = 40

Adblock
detector