Një portë OpenVPN, tre shërbime: pse kanë rëndësi portat e brendshme
Një tunel, tre shërbime, një portë publike. Ndani dëgjuesin e jashtëm të VPN-së nga portat e brendshme të aplikacioneve, pastaj testoni secilën leje të brendshme veçmas.
Një sesion SSH, një aplikacion web dhe një kërkim emri mund të ndajnë një lidhje të vetme VPN pa u grindur për porta. Klienti ndërton një rrjedhë të enkriptuar drejt portës hyrëse, dhe çdo bisedë aplikacioni udhëton brenda saj. Jashtë duket vetëm transporti dhe porta e vetë tunelit. Brenda, çdo shërbim mban portën e vet dhe ende kërkon lejen e vet.
Çfarë mbart rrjedha e jashtme dhe çfarë fsheh
Klienti e mbështjell çdo paketë në transportin e tunelit përpara se të largohet nga makina. Ajo rrjedhë e jashtme ka një portë destinacioni, të fiksuar kur u konfigurua VPN-ja. Brenda mbështjellësit, çdo paketë origjinale mban adresën dhe portën e shërbimit që synon. Porta hyrëse heq mbështjellësin dhe rrugëton sipas kokës së brendshme, kështu që destinacioni sheh një klient të zakonshëm që vjen nga rrjeti.
Një kapje në ndërfaqen WAN tregon pra një bisedë, jo tre. Portat e brendshme shfaqen vetëm pas dekapsulimit. Kjo është arsyeja pse një hapje e vetme e murit të zjarrit mund të mbajë SSH, HTTPS dhe DNS në të njëjtën kohë.
# WAN side: one outer tuple, whatever the inner services are
tcpdump -ni wan0 'udp port 443'
# tunnel side: the inner tuples appear after decapsulation
tcpdump -ni tun0
Dokumentacioni TUN/TAP mbulon dorëzimin ku një pajisje TUN e rrugëtuar kalon paketa IP midis kernelit dhe një procesi në hapësirën e përdoruesit. Ky dorëzim është ai që e bën kokën e brendshme të dukshme për kodin e rrugëtimit dhe të murit të zjarrit të portës hyrëse. Ai gjithashtu shpjegon pse porta e jashtme nuk thotë asgjë për shërbimet që lejohen.
Përcjellja NAT i përket dëgjuesit, jo aplikacioneve
Një portë hyrëse e vetë-strehuar pas NAT IPv4 ka nevojë për një përkthim hyrës: adresa dhe porta publike mapohen te dëgjuesi i VPN-së. Asnjë rregull nuk kërkohet për SSH, HTTPS ose DNS vetëm sepse përdoruesit e tunelit i arrijnë ato. Publikimi i këtyre portave do të ekspozonte shërbime që tuneli tashmë i mbron. Rregulli i përcjelljes përshkruan arritshmërinë e dëgjuesit, jo një leje për diçka brenda.
Edhe e kundërta vlen. Hapja e portës së tunelit nuk ekspozon asgjë tjetër, kështu që një shërbim i arritshëm vetëm përmes tunelit e mban sipërfaqen publike të mbyllur. Ky ndarje është zakonisht arsyeja për ta mbajtur shërbimin privat.
Politika e brendshme është vendi ku aksesi vendoset në të vërtetë
Enkriptimi mbron rrugën; ai nuk autorizon një destinacion. Rrugët e klientit zgjedhin cilat prefikse hyjnë në tunel, politika e përcjelljes së portës hyrëse vendos nëse paketat mund ta lënë atë, dhe muri i zjarrit plus hyrja e destinacionit vendosin nëse shërbimi përgjigjet. DNS është rasti më i qartë: mbajtja e pyetjeve nuk e bën një zgjidhës t'i pranojë ato nga grupi juaj i klientëve. Çdo shtresë mund të thotë jo në mënyrë të pavarur.
Testoni çdo shërbim veçmas përmes tunelit. Një kërkim i suksesshëm nuk thotë asgjë për portën web, dhe një kërkesë web e suksesshme nuk thotë asgjë për SSH.
dig @10.40.0.53 app.corp.example
nc -vz 10.40.0.10 8443
ssh -p 2222 [email protected]
Kur tuneli është aktiv dhe gjithçka dështon, lexoni së pari tabelën e rrugëve të klientit. Kur një shërbim dështon ndërsa të tjerët punojnë, defekti është në atë destinacion. Këto dy vëzhgime tregojnë pronarë të ndryshëm, dhe përzierja e tyre humb kohë.
WireGuard tërheq të njëjtën vijë
WireGuard e quan dëgjuesin e vet të jashtëm ListenPort, dhe një aplikacion i brendshëm vazhdon të përdorë portën e shërbimit që i nevojitet. AllowedIPs është një grup prefiksesh të rrugëtuara, jo një listë e portave të shërbimit të lejuara. Leximi si listë lejesh portash prodhon rregulla që nuk përputhen me atë që bën tuneli. Emërtimi është i ndryshëm; shtresimi nuk është.
Lejoni shërbimin në politikën e hyrjes lokale kur ai ekzekutohet në vetë pikën fundore, ose në politikën e përcjelljes kur ndodhet pas asaj pike fundore. Ky dallim vendos cili grup rregullash e sheh paketën.
Forma e përgjithshme është një transport i jashtëm me shumë biseda të brendshme. Produktet që kanë nevojë për disa shkëmbime të jashtme, ose për një protokoll tjetër IP, kujtojnë se modeli i një porte publike përshkruan këtë projekt dhe jo çdo VPN.