Cum să configurați un VPN pentru echipa dvs. de dezvoltare web

Publicat: 2021-10-11

Principala caracteristică a internetului modern este disponibilitatea sa constantă. Nu este nevoie să stocați datele local, care sunt rapid accesibile prin rețea. Mai multe probleme apar dacă aceste date devin brusc indisponibile într-un moment imprevizibil. Majoritatea dezvoltatorilor lucrează de la distanță și pot avea lipsă de resurse dacă provin din anumite părți. În acest articol, vom analiza cum puteți configura un VPN pentru echipa dvs. de dezvoltare web.

Probleme comune de internet

Ce înseamnă practic inaccesibilitatea unei resurse Internet?

- Unele biblioteci nu sunt descărcate - mediul de dezvoltare al proiectului nu se va întâmpla. Aceasta este principala și cea mai mare problemă!

- Zoom, Slack sau Telegram nu funcționează - nu veți putea contacta colegii.

- Unele site-uri nu sunt disponibile, de exemplu, GitHub - este imposibil să vă publicați munca.

Acestea nu sunt toate exemple posibile, dar chiar și ele pot reduce semnificativ productivitatea echipei.

Cine este vinovat?

În practică, restricțiile descrise mai sus sunt de obicei implementate de furnizorul de internet. Și nu are sens să dai vina pe furnizor pentru ele pentru că restricțiile au fost introduse prin actele administrative ale statelor. Furnizorul ar trebui să fie angajat în afaceri, nu în luptă politică.

Dar uneori, furnizorul se dovedește a fi un răufăcător. De exemplu, dintr-un motiv necunoscut, pot bloca traficul pe anumite porturi TCP sau pot modifica traficul http necriptat și pot schimba codul html al paginii, adăuga reclame. La asta te astepti de la unii escroci, dar cu siguranta nu de la o companie mare, asa ca este de doua ori neplacut (daca te intereseaza, cauta pe google "reclame pe site-urile altora").

Ce să fac?

Odată ce amploarea problemei a arătat clar că trebuie rezolvată la nivel de companie și nu lăsată la mila membrilor echipei, puteți utiliza tehnologia VPN.

VPN este o rețea privată virtuală. Acesta este numele unui grup de tehnologii care vă permit să creați o rețea de computere virtuală, inexistentă fizic (suprapusă), bazată pe o rețea de computere fizice existente.

Acest lucru oferă oportunități suplimentare de creștere a confidențialității. Într-o rețea fizică, ca o primă aproximare, traficul dvs. este disponibil pentru toți participanții la schimbul de rețea, pentru toate routerele etc. Nu există participanți suplimentari în rețeaua virtuală, doar dvs. și punctul la care vă conectați. Dacă configurați unul pentru echipa dvs. de dezvoltare web, acesta este un server VPN. Un tunel criptat este pus între voi doi.

Interfețele de rețea virtuală TUN sunt create pe mașina client și pe server. Schimbul de date criptate are loc direct între ei. Datele dvs. sunt protejate eficient de atacurile „man-in-the-middle” (MITM). Nimeni care are acces fizic la echipamentul prin care trece traficul tău nu poate intercepta sau înlocui informațiile tale.

De asemenea, vă permite să accesați resurse care nu sunt disponibile în rețeaua dvs. de acasă, dar sunt disponibile de pe serverul VPN.

Cu tehnologia VPN, clientul devine parte din subrețeaua din care face parte serverul. Și poate accesa resursele acestei subrețele. Acesta poate fi folosit pentru a ocoli restricțiile și pentru a rezolva orice altă problemă care necesită o conexiune la distanță și securizată la o subrețea.

Alegerea unei implementări VPN

A decide nu înseamnă a face. Există mai multe implementări comune ale tehnologiei VPN gratuite. Puteți încerca această încercare gratuită Surfshark VPN pentru a avea o experiență a ceea ce ați putea obține.

Ce altceva puteți alege după ce obțineți VPN-ul potrivit

IPsec este un set de protocoale pentru transmiterea securizată a datelor. A apărut la mijlocul anilor 90. Este mare și flexibil, dar greu de configurat și de nivel scăzut. Prea complicat pentru anumite scopuri.

WireGuard este un proiect tânăr (2015) care vizează pregătirea rapidă pentru muncă. Potențial mai rapid în transferul de date decât diferite VPN-uri, utilizează protocoale de criptare mai moderne — multiplatformă, disponibile pe toate sistemele majore. Dezavantajul este același cu avantajul. Pentru a asigura o instalare rapidă și ușoară, multe decizii de nivel scăzut sunt luate în nucleul programului. De exemplu, utilizarea protocolului UDP, care ar putea să nu fie eficient pentru toți.

Alegerea modului de începere și utilizare

Manual

Cel mai evident mod este să închiriezi un VPS, să te conectezi prin SSH și să creezi un server urmând ghidul. Acesta este un proces destul de lung din cauza multor comenzi și fișiere care trebuie mutate manual.

Cu această metodă, de fiecare dată când creați un nou server, va trebui să o faceți din nou. Pentru a economisi timp, puteți utiliza sisteme de management al configurației sau sisteme de containerizare.

Sistemele de management al configurației sunt software care vă permit să automatizați configurarea serverelor de la distanță (puppet, ansible etc.). Avantajul acestei abordări este că puteți configura un server VPN la distanță în câteva comenzi. Și toate configurațiile, șabloanele de configurare sunt plasate în mod explicit în format text pe mașina de control. Puteți crea singur un script de implementare sau puteți lua unul gata făcut, de exemplu, pe GitHub.

O abordare ușor diferită este adoptată în sistemele de containerizare. Cel mai comun astfel de sistem virtual de containerizare este docker. Instalarea unui container docker cu un VPN pe un server la distanță poate fi chiar mai rapidă decât instalarea unui server prin ansible, ceea ce este un plus. Cu toate acestea, lista de configurații disponibile poate fi limitată de dezvoltatorii de imagini. Imaginile sunt fișiere binare, așa că este posibil să nu funcționeze dacă trebuie să remediați unele configurații exotice.

Arhitectura serverului

În primul rând, după cum sa menționat deja, tehnologia VPN poate fi utilizată pentru a se conecta, de exemplu, la o subrețea închisă printr-un computer care face parte din această subrețea și, în același timp, la un server VPN. Dacă aveți resurse valoroase pe subrețea, ați dori ca nimeni să nu se conecteze la serverul VPN. Pentru a face acest lucru, majoritatea VPN-urilor o fac de obicei o mașină separată, deloc conectată la nicio rețea, poate într-un seif (nu glumesc). Iar cererile de semnare și certificate semnate sunt transferate pe suporturi amovibile.

Server Start

Pentru a rula scriptul ansible, trebuie să instalați ansible pe computer, să închiriați un server virtual cu Debian/Ubuntu și să configurați accesul la server prin SSH. Când închirieți un server, rețineți că unele servicii nu vă permit să creați o interfață tun sau să efectuați redirecționarea pachetelor. Vă rugăm să verificați acest lucru înainte de a cumpăra.

Toată interacțiunea cu serverul este realizată prin trei comenzi:

1. Rulați scriptul pentru crearea unui server și a unei autorități de certificare.

2. Înregistrarea unui nou utilizator.

3. Revocați un certificat după numele clientului.

Dezvoltarea modalităților de a ocoli blocajele este în multe privințe similară cu relația dintre prădători și pradă în natură. Pentru fiecare nouă mișcare, există o contra-mușcare. Conexiunile VPN nu fac excepție.

Când utilizați un VPN, puteți utiliza o varietate de resurse de rețea. Dar, deoarece toate datele ajung la tine prin tunelul de la serverul VPN, pentru furnizor, se pare că faci schimb de date cu o singură adresă IP.