Veebisaidi avaldamine tunneli kaudu ja kasutajatele VPN-i juurdepääsu andmine on kaks erinevat korraldust, mis jagavad ühte kaablit. Esimeses võtab avalik pöördpuhverserver vastu külastaja taotluse ja edastab selle tunneli kaudu päritolule, kuhu keegi ei pääse otse. Teises peab kasutaja VPN-iga liituma, enne kui rakendus üldse kättesaadavaks saab. Kahe kirjelduse segamine on viis, kuidas privaatne taustarakendus lõpuks avalikult paljastatuks jääb.

Kaks mudelit, mis näevad diagrammil ühesugused välja

Joonistage nooled enne, kui midagi valite. Avaliku avaldamise mudel kulgeb brauserist puhverserverini HTTPS-i kaudu, seejärel puhverserverist päritoluni tunneli kaudu, ja päritolu ei võta kunagi vastu ühendust internetist. Ainult VPN-i mudel kulgeb kliendist lüüsini, ja rakendus on kättesaadav ainult selle tee seest. Kasutaja sülearvuti asub samas võrgus kui rakendus, ja see on kogu selle mudeli mõte.

Mudelid erinevad selle poolest, kes autendib ja kus. Esimeses on puhverserver avalik sissepääs ja see edastab iga saabuva taotluse, ka vaenuliku, vastavalt sellele seadistatud poliitikale. Teises on väravaks kättesaadavus ise, mis on krobeline, kuid tõeline lubamine.

Kus TLS lõpeb ja mida see tegelikult tõestab

TLS brauseri ja puhverserveri vahel kaitseb seda hüpet ja võimaldab brauseril kontrollida saiti, mida ta kavatses külastada. Kui puhverserver TLS-i lõpetab, eksisteerib taotlus loetaval kujul selle protsessi sees enne edastamist. Teine TLS-sessioon päritoluni saab kaitsta järgmist hüpet ja kontrollida rakenduse lõpp-punkti eraldi. Kumbki sessioon ei otsusta, milline inimene tohib rakendust kasutada. Metamärgiga sertifikaat puhverserveril ei laiene ka sellele teisele hüppele.

See on osa, mille inimesed suruvad kokku sõnasse krüpteeritud. Konfidentsiaalsus, terviklikkus ja serveri identiteet on transpordi omadused; autoriseerimine on rakenduse otsus. Privaatne aadress tunneli taga muudab seda, kes pääseb soklini, mitte seda, kes tohib sisse logida, kui ta sinna jõuab.

Usaldage edastatud päise ainult puhverserverilt

Rakendused, mis logivad või autoriseerivad kliendi aadressi järgi, loevad tavaliselt päist, mille puhverserver lisab. See päis on lihtsalt tekst, seega kõik, mis pääseb päritolule otse, võib väita ükskõik millist aadressi. Piirake päritolu nii, et ühenduda saab ainult puhverserveri tunneli aadress, ja seadistage rakendus võtma päist vastu ainult sellelt aadressilt.

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

Kui see taotlus õnnestub hostist, mis ei ole puhverserver, usaldab päritolu päist, mida ta peaks eirima. Parandage kuulaja enne, kui rakendust puudutate. Keeldumine on palju parem tulemus kui võltsitud aadressi kandev logirida.

Hoidke päritolu kättesaadavana täpselt ühest kohast

Siduge päritolu kuulaja tunneli aadressiga või piiritlege see tulemüüriga puhverserveri suunas, seejärel kinnitage, mis tegelikult kuulab. Metamärgiga sidumisega käivitatud teenus võtab ühendusi vastu igal liidesel, mis hostil on, sealhulgas sellel, mille unustasite olevat marsruuditav. Kuulamislaud on põhitõde, mitte konfiguratsioonifail, mida kavatsesite rakendada. Kui metamärgiga sidumine on tahtlik, peab tulemüür ikkagi olema see komponent, mis seda kitsendab.

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

Tehke sama ülevaatus haldusliideste jaoks, mis on tavaline juhuslik paljastus. Seejärel kirjutage kaks mudelit eraldi üles: avalik sait puhverserveri kaudu ja haldusliides, mis on kättesaadav ainult tunneli kaudu. Lause, et server on VPN-i taga, ei ütle sellest midagi.

Seotud artiklid