Mis on pöördproksi? Turvarakenduse põhikomponendid
Pöördproksisid kasutatakse vahendavate võrgukomponentidena avalike veebiteenuste serverite turvalisuse tagamiseks. Need võtavad serverite nimel vastu serveripäringuid ja edastavad need kasutajatele.
Kuidas töötab pöördproksi?
Põhimõtteliselt toimib proksiserver võrgus suhtlusvahendajana, võttes vastu päringuid ja edastades need kliendi nimel sihtserverile. Pöördproksi asub klientide (nt veebibrauserid) ja tagapõhja serverite (nt veebiserverid, andmebaasiserverid või rakendused) vahel. See aktiveerub, kui klient esitab päringu, ning otsustab, kas ja millisele sisemisele serverikomponendile päring suunata. Protsess toimub järgmiste nelja põhilise sammu järgi:
- Kliendi päringu vastuvõtmine: pöördproksi võtab vastu HTTP-, HTTPS- või muid päringuid, nagu FTP või WebSocket.
- Päringu analüüsimine: proksi kontrollib, kas päring on kehtiv, kas see kujutab endast turvariski ja kas selle kohta on olemas vahemällu salvestatud versioon.
- Edastamine sobivale serverile: Kui päringule ei ole võimalik vastata vahemälust, saadab pöördproksi päringu ühele sisemistest serveritest.
- Vastus kliendile: pöördproksi saab vastuse tagantpoolse serveri poolt, töötleb seda vajadusel edasi (nt krüpteerimine) ja saadab selle tagasi päringu esitanud kliendile.

Mis on erinevus võrreldes edastavate proksidega?
Kui pöördproksid, nagu eelnevalt mainitud, asuvad klientide ja tagapõhjaserverite vahel, siis edastusproksid asuvad klientide ja interneti vahel. Edastusproksi suunab kõik kliendi päringud ja edastab need oma saatjaaadressiga sihtserveritele internetis. Ka serverite vastused jõuavad esmalt proksisse, enne kui need jaotatakse vastavatele kliendi seadmetele. Need jäävad anonüümseks, välja arvatud juhul, kui tegemist on läbipaistva proksiga. Kui edasisuunav proksi kaitseb sisemise võrgu kliente väliste ohtude eest, siis pöördproksi turvalisustab avalikus võrgus asuvaid servereid ja optimeerib nende kättesaadavust.
Kuigi pöördproksid pakuvad serveristruktuuridele selgeid eeliseid tänu sellistele funktsioonidele nagu koormuse jaotamine ja mitmesugused turvafunktsioonid, seisnevad edasisuunatud prokside tugevused kliendi kaitses.

Pöördprokside kasutusvaldkonnad
Klientide päringute koondamine võimaldab pöördproksidel sissetulevat liiklust täpselt juhtida. Muu hulgas võimaldab see pakkuda sama URL-i all mitut serverit, jaotada päringuid ühtlaselt erinevate serverite vahel ning kiirendada andmete hankimist vahemällu salvestamise abil. Allpool on toodud pöördproksiserveri peamised rakendusvaldkonnad.
Koormuse jaotamine
Ees paigutatud pöördproksi võimaldab URL-i siduda mitmete sisevõrgu serveritega. See jaotab sissetulevad päringud mitme serveri vahel. Selline koormuse jaotamine hoiab ära üksikute süsteemide ülekoormuse ja kompenseerib rikkeid. Kui server on riist- või tarkvaravea tõttu kättesaamatu, suunab proksi koormuse jaotamise moodul sissetulevad päringud ülejäänud serveritele. See tagab serveriteenuste kättesaadavuse isegi rikkeolukorras.
Vahemällu salvestamine
Serveriteenuste kiirendamiseks võivad pöördproksid pakkuda funktsiooni, mis võimaldab sageli küsitavat sisu vahemällu salvestada. See vahemällu salvestamine võimaldab proksiserveril korduvatele päringutele vastata kas osaliselt või täielikult iseseisvalt. Staatiline sisu, nagu pildid või CSS-stiililehed, salvestatakse proksi vahemällu. Selle tulemusena tuleb tagantpoolt serverist hankida vähe või üldse mitte andmeid, mis kiirendab oluliselt veebiteenustele juurdepääsu. Kuna kiiresti muutuv sisu ei pruugi alati tagada, et proksi vahemälus on olemas uusim versioon, on oht, et päringut esitavatele klientidele edastatakse aegunud teavet.
Kaitsemeetmed ja turvalisusmeetmed
Pöördproksi toimib tagapool asuvate serverite jaoks omamoodi kaitsekilbina ning suudab selles rollis pakkuda mitmesuguseid turbefunktsioone:
- DDoS-kaitse: pöördproksid suudavad DDoS- rünnakute ajal tuvastada ja blokeerida kahtlase või ebatavaliselt suure liikluskoormuse enne, kui see jõuab tagapoolsetele serveritele.
- Veebirakenduste tulemüür (WAF): Paljud pöördproksid sisaldavad WAF-i, mis suudab filtreerida pahatahtlikke päringuid, nagu SQL-süstid või ristveebiskriptimine (XSS).
- IP-aadresside lubamine ja keelamine: pöördproksi suudab vajaduse korral blokeerida teatud IP-aadresse või lubada ühendusi ainult kindlatest võrkudest.
- Tagapõhjaserverite varjamine: pöördproksi takistab tagapõhjaserverite sisemiste IP-aadresside avalikku nähtavust, muutes rünnakud raskemaks.
Krüpteerimine
Tagapool asuvate serverite koormuse vähendamiseks võib krüpteerimiseks kasutada ka pöördproksiserverit. Sel juhul dekrüpteerib see kliendi SSL/TLS-päringu (nt HTTPS-ühenduse), edastab dekrüpteeritud andmed tagapool asuvatele serveritele ja saadab vastava vastuse uuesti krüpteerituna kliendile tagasi. Sisemine suhtlus võib toimuda kas krüpteeritult või krüpteerimata.
Anonüümimine
Pöördproksit saab kasutada ka liikluse anonüümseks muutmiseks, varjates klientide algseid IP-aadresse või asendades need omaenda IP-aadressidega. See aitab kaitsta klientide privaatsust, kuna tegelikud IP-aadressid ei ole logides nähtavad. Lisaks võimaldab see geograafilist koormuse jaotamist: päringud saab suunata lähimasse serverisse sõltuvalt kasutaja geograafilisest asukohast.
Tihendamine
Õige tarkvara abil saab pöördproksit kasutada sissetulevate ja väljaminevate andmete pakkimiseks. Veebisaitide pakkimiseks on populaarne programm gzip, mida kasutatakse sageli koos veebiserveritega Apache või NGINX.