Vietnes publicēšana caur tuneli un VPN piekļuves došana lietotājiem ir divi dažādi izkārtojumi, kas dala vienu kabeli. Pirmajā publiskais apgrieztais starpniekserveris pieņem apmeklētāja pieprasījumu un pārsūta to caur tuneli uz izcelsmi, kurai neviens nevar piekļūt tieši. Otrajā lietotājam jāpievienojas VPN, pirms lietojumprogramma vispār kļūst pieejama. Šo divu aprakstu sajaukšana ir ceļš, kā privāts backend galu galā nonāk publiski atklāts.

Divi modeļi, kas diagrammā izskatās vienādi

Pirms kaut ko izvēlaties, uzzīmējiet bultiņas. Publiskas publicēšanas modelis iet no pārlūka uz starpniekserveri pa HTTPS, pēc tam no starpniekservera uz izcelsmi caur tuneli, un izcelsme nekad nepieņem savienojumu no interneta. Tikai VPN modelis iet no klienta uz vārteju, un lietojumprogramma ir pieejama tikai no šī ceļa iekšpuses. Lietotāja klēpjdators atrodas tajā pašā tīklā kā lietojumprogramma, un tā ir visa šī modeļa jēga.

Modeļi atšķiras ar to, kas autentificē un kur. Pirmajā starpniekserveris ir publiskā ieeja, un tas pārsūta jebkuru pienākošo pieprasījumu, tostarp naidīgu, saskaņā ar tajā konfigurēto politiku. Otrajā pati pieejamība ir vārti, un tā ir rupja, bet īsta pielaišana.

Kur TLS apstājas un ko tas patiešām pierāda

TLS starp pārlūku un starpniekserveri aizsargā šo lēcienu un ļauj pārlūkam pārbaudīt vietni, kuru tas grasījās apmeklēt. Ja starpniekserveris pārtrauc TLS, pieprasījums pastāv lasāmā formā šī procesa iekšienē pirms pārsūtīšanas. Otra TLS sesija uz izcelsmi var aizsargāt nākamo lēcienu un atsevišķi pārbaudīt lietojumprogrammas galapunktu. Neviena sesija neizlemj, kurš cilvēks drīkst izmantot lietojumprogrammu. Aizstājējzīmes sertifikāts uz starpniekservera arī neattiecas uz šo otro lēcienu.

Šī ir daļa, ko cilvēki saspiež vārdā šifrēts. Konfidencialitāte, integritāte un servera identitāte ir transporta īpašības; autorizācija ir lietojumprogrammas lēmums. Privāta adrese aiz tuneļa maina kurš var sasniegt ligzdu, nevis kurš drīkst pieteikties, kad to sasniedz.

Uzticieties pārsūtītajām galvenēm tikai no starpniekservera

Lietojumprogrammas, kas reģistrē vai autorizē pēc klienta adreses, parasti lasa galveni, ko pievieno starpniekserveris. Šī galvene ir tikai teksts, tāpēc jebkas, kas var tieši sasniegt izcelsmi, var pieprasīt jebkuru adresi. Ierobežojiet izcelsmi tā, lai savienoties varētu tikai starpniekservera tuneļa adrese, un konfigurējiet lietojumprogrammu pieņemt galveni tikai no šīs adreses.

curl -s -o /dev/null -w '%{http_code}
' -H 'X-Forwarded-For: 203.0.113.9' http://172.20.5.40/

Ja šis pieprasījums izdodas no resursdatora, kas nav starpniekserveris, izcelsme uzticas galvenei, kuru tai vajadzētu ignorēt. Salabojiet klausītāju, pirms aiztiekat lietojumprogrammu. Noraidījums ir daudz labāks rezultāts nekā žurnāla rinda ar viltotu adresi.

Turiet izcelsmi pieejamu tieši no vienas vietas

Piesaistiet izcelsmes klausītāju tuneļa adresei vai norobežojiet to ar ugunsmūri pret starpniekserveri, pēc tam apstipriniet, kas patiešām klausās. Pakalpojums, kas palaists ar aizstājējzīmes piesaisti, pieņem savienojumus katrā saskarnē, kas ir resursdatoram, tostarp tajā, kuru esat aizmirsis, ka tā ir maršrutējama. Klausīšanās tabula ir pamata patiesība, nevis konfigurācijas fails, kuru grasījāties piemērot. Ja aizstājējzīmes piesaiste ir apzināta, ugunsmūrim joprojām jābūt komponentam, kas to sašaurina.

ss -ltnp | grep -E ':(80|443)'

Veiciet to pašu pārskatu pārvaldības saskarnēm, kas parasti ir nejauša atklāšana. Pēc tam pierakstiet abus modeļus atsevišķi: publisko vietni caur starpniekserveri un administrēšanas saskarni, kas pieejama tikai caur tuneli. Teikums, ka serveris ir aiz VPN, neko no tā nesaka.

Saistītie raksti