Żewġ disinji, applikazzjoni HTTPS waħda, u l-pakkett jgħaddi minn rotta differenti f'kull wieħed. Il-port forwarding ibiddel fejn jiġi kkonsenjat il-pakkett u jħalli l-bqija kif inhi. VPN iġorr dak il-pakkett ġewwa pakkett ieħor l-ewwel, u għalhekk is-semmiegħa tal-applikazzjoni jara sors differenti u tagħbija massima iżgħar. Il-kriptaġġ li n-nies jiddiskutu dwaru huwa preżenti fiż-żewġ każijiet, għax l-applikazzjoni għadha HTTPS; dak li jvarja huwa min jista' jiftaħ konnessjoni u x'jista' josserva n-netwerk bejniethom. Din id-distinzjoni ssolvi ħafna mill-mistoqsijiet prattiċi.

Ir-regola DNAT terġa' tikteb id-destinazzjoni u tieqaf hemm

Fuq gateway Linux, li tippubblika servizz tfisser regola fil-katina PREROUTING tat-tabella nat, jew l-ekwivalenti f'nftables. Ir-regola taqbel mal-indirizz u l-port pubbliċi, imbagħad terġa' tikteb id-destinazzjoni għall-indirizz privat tal-applikazzjoni. L-indirizz tas-sors, il-port tas-sors u t-tagħbija jibqgħu intatti, u conntrack jirreġistra l-mappa sabiex it-tweġibiet jerġgħu jinkitbu waqt il-ħruġ. L-imġiba hija l-mudell tradizzjonali tat-traduzzjoni tal-indirizzi deskritt f'RFC 3022.

sudo iptables -t nat -A PREROUTING -d 203.0.113.10 -p tcp --dport 443 \
  -j DNAT --to-destination 10.20.30.40:443
sudo iptables -t nat -L PREROUTING -n -v
sudo conntrack -L -p tcp --dport 443

Is-semmiegħa tal-applikazzjoni qatt ma jsir jaf li l-konnessjoni waslet permezz ta' traduzzjoni. Jara l-indirizz tas-sors veru tal-klijent, li huwa utli għall-logs tal-aċċess u l-limiti tal-veloċità, u jwieġeb għall-indirizz privat għax conntrack jaqleb il-mappa. Xejn fuq dik ir-rotta ma jiddekripta jew jerġa' jinkripta: TLS għadu miexi bejn il-klijent u ċ-ċertifikat tal-applikazzjoni nnifisha.

Ir-regola tistabbilixxi wkoll il-modi ta' falliment li se tiltaqa' magħhom aktar tard. Jekk il-gateway jgħaddi iżda l-host tal-applikazzjoni m'għandux rotta lura lejn il-klijent, it-tweġibiet joħorġu b'sors żbaljat u l-handshake jieqaf. Jekk it-tieni regola taqbel l-ewwel, l-ordni tiddeċiedi r-riżultat, u iptables -t nat -L -n -v juri l-kontaturi li jippruvaw liema regola ħadet il-pakkett.

It-tunnel jgeżwer il-pakkett qabel ma s-semmiegħa jarah

VPN ma jippubblikax l-applikazzjoni xejn. Il-klijent jibni pakkett ta' barra indirizzat lejn l-indirizz pubbliku tal-gateway, jinkripta l-pakkett ta' ġewwa ġo fih, u l-gateway jiddekripta u jirrutta l-pakkett ta' ġewwa lejn id-destinazzjoni privata. B'WireGuard it-trasport ta' barra huwa UDP, normalment fuq port għoli; b'OpenVPN fuq TCP 443 il-pakkett ta' barra jidher bħal TLS għal kull ma jħares lejn ir-rotta.

Ġewwa t-tunnel il-pakkett ta' ġewwa jżomm indirizzi privati: l-indirizz tat-tunnel tal-klijent, ngħidu aħna 10.8.0.6, u l-applikazzjoni f'10.20.30.40. Għalhekk is-semmiegħa jara sors mill-pool tat-tunnel, u kull klijent jaqsam dak il-gateway bħala l-qabża li jmiss. Il-logs tal-aċċess wara VPN spiss juru l-gateway minflok l-utent propju għal din ir-raġuni, sakemm il-gateway ma jippreservax is-sors oriġinali.

It-tgeżwir jiswa spazju fil-header, u din hija l-unika differenza fil-livell tal-mekkaniżmu b'konsegwenza li tista' titkejjel. Header IP ta' barra flimkien ma' UDP flimkien mal-header ta' WireGuard stess jieklu mill-MTU tar-rotta, u għalhekk pakketti kbar iridu jiġu frammentati jew il-munzell TCP ta' ġewwa jrid jillimita l-MSS tiegħu. Trasferiment li jaħdem fuq ir-rotta mgħoddija jista' jieqaf fuq it-tunnel meta apparat tan-nofs jitfa' l-ICMP li kien jissinjala l-MTU iżgħar.

ip route get 10.20.30.40
ping -M do -s 1400 10.20.30.40
sudo iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
  -j TCPMSS --clamp-mss-to-pmtu

L-espożizzjoni tiddeċiedi fid-daħla, mhux bis-sifer

Iż-żewġ disinji jispiċċaw fl-istess semmiegħa TLS, għalhekk it-tnejn jirtu l-istess ċertifikat, l-istess verżjonijiet tal-protokoll u l-istess login tal-applikazzjoni. Dak li jinbidel huwa min hu permess jibda handshake. B'port forwarding pubbliku, kull host li jasal għal 203.0.113.10:443 jieħu handshake TCP u TLS ClientHello qabel ma l-awtorizzazzjoni tal-applikazzjoni tiegħek tiġi kkunsidrata. B'aċċess permezz tat-tunnel biss, is-semmiegħa hija aċċessibbli biss minn indirizzi li l-gateway jirrutta fit-tunnel, u s-SYN ta' barrani jmut fil-politika tal-gateway.

Dik id-differenza hija dwar l-aċċessibbiltà, mhux dwar il-kunfidenzjalità. Servizz HTTPS mgħoddi mhuwiex test sempliċi, u VPN ma jneħħix il-ħtieġa ta' awtentikazzjoni tal-applikazzjoni: id-daħla fit-tunnel twieġeb jekk apparat jistax jibgħat pakketti f'dan in-netwerk, filwaqt li l-applikazzjoni tal-fajls twieġeb jekk utent jistax jaqra dokument. Li tħallat it-tnejn huwa kif it-timijiet jispiċċaw b'VPN li jagħti l-LAN kollu u applikazzjoni b'password wieħed kondiviż.

Iċċekkja s-semmiegħa u l-politika separatament, għax kull waħda minnhom tista' tkun usa' milli tassumi:

sudo ss -ltnp 'sport = :443'
sudo nft list ruleset
openssl s_client -connect 203.0.113.10:443 -servername files.example.com </dev/null

Jekk ss juri li s-semmiegħa hija marbuta ma' 0.0.0.0, l-applikazzjoni hija aċċessibbli minn fejn jippermettu r-routing u l-politika tal-firewall, u l-port forwarding huwa biss wieħed mill-modi kif tidħol. Li torbot mal-indirizz privat, jew tillimita l-firxa tas-sorsi fil-firewall, hija deċiżjoni separata mill-għażla ta' VPN, u hija d-deċiżjoni li verament tnaqqas l-espożizzjoni.

Kejjel ir-rotta, mhux it-tikketta

Meta xi ħadd jgħid li l-port forwarding huwa aktar mgħaġġel, il-paragun onest iżomm kollox ieħor kostanti: l-istess klijent, l-istess netwerk tal-aċċess, l-istess fajl, l-istess konfigurazzjoni TLS, l-istess host tal-applikazzjoni. Mexxi t-trasferiment darbtejn għal kull rotta u rreġistra l-ħin totali, l-għadd ta' fallimenti u r-reattività, mhux il-ħruġ ta' test tal-veloċità mhux relatat.

curl -sS -o /dev/null -w '%{time_connect} %{time_appconnect} %{time_total}\n' \
  https://files.example.com/report.pdf
mtr -rwc 20 203.0.113.10
mtr -rwc 20 10.20.30.40

Dawk in-numri jifirdu l-istabbiliment tal-konnessjoni mill-ħin tat-trasferiment, li huwa importanti għax iż-żewġ rotot normalment ivarjaw fil-latenza tal-mixja u l-MTU aktar milli fl-ispiża tas-sifer. Ix-xogħol TLS isir fit-truf fiż-żewġ disinji, u t-tunnel iżid enkapsulament, rotta differenti u forsi gateway aktar imgħobbi. Jekk ir-rotta tat-tunnel hija itwal jew il-gateway tiegħu huwa mgħobbi, id-differenza tappartjeni lir-rotta u mhux lill-kelma kriptaġġ.

Agħżel il-politika tad-daħla li s-servizz verament jeħtieġ, imbagħad iddeċiedi jekk differenza mkejla tiġġustifikax li tinbidel. Il-port forwarding pubbliku jaqbel ma' servizz maħsub għall-internet miftuħ, b'restrizzjonijiet tas-sors, TLS aġġornat u monitoraġġ quddiemu. L-aċċess permezz tat-tunnel biss jaqbel ma' għodda interna li l-utenti tagħha huma diġà rreġistrati, sakemm ir-routing tal-gateway u l-permessi tal-applikazzjoni t-tnejn huma idjaq mill-LAN kollu.

Qabel ma tiddikjara d-disinn lest, ikkonferma erba' affarijiet: liema indirizz is-semmiegħa hija marbuta miegħu, liema regola jew rotta tammetti l-pakkett, jekk ir-rotta lura taħdimx mill-indirizz veru tal-klijent, u jekk tagħbijiet kbar jissuperawx l-MTU. Kull waħda minn dawn għandha kmand hawn fuq, u xejn minnhom ma huwa mwieġeb bil-kelma sigur jew b'ċart tal-bandwidth.

Artikli relatati