Kas yra atvirkštinis proxy? Pagrindiniai saugumo architektūros komponentai
Atvirkštiniai tarpiniai serveriai naudojami kaip tarpinis tinklo komponentas, skirtas užtikrinti viešųjų internetinių paslaugų serverių saugumą. Jie priima serverių užklausas serverių vardu ir persiunčia jas vartotojams.
Kaip veikia atvirkštinis proxy?
Iš esmės, proxy serveris veikia kaip ryšio tarpininkas tinkle: jis priima užklausas ir kliento vardu perduoda jas tikslinio serverio. Atvirkštinis proxy yra įsikūręs tarp klientų (pvz., žiniatinklio naršyklių) ir užpakalinių serverių (pvz., žiniatinklio serverių, duomenų bazių serverių ar programų). Jis aktyvuojasi, kai pateikiamas kliento užklausimas, ir nustato, ar užklausimas turėtų būti nukreiptas į vidinį serverio komponentą ir į kurį iš jų. Šis procesas vyksta keturiais pagrindiniais etapais:
- Kliento užklausos gavimas: Atvirkštinis tarpinis serveris priima HTTP, HTTPS ar kitas užklausas, pavyzdžiui, FTP arba WebSocket.
- Užklausos analizė: proxy patikrina, ar užklausa yra galiojanti, ar ji nekelia jokių saugumo rizikų ir ar yra prieinama išsaugota versija.
- Persiuntimas į atitinkamą serverį: Jei į užklausą negalima atsakyti iš talpyklos, atvirkštinis proxy siunčia užklausą į vieną iš vidinių serverių.
- Atsakymas klientui: Atvirkštinis proxy gauna atsakymą iš užpakalinio serverio, prireikus jį toliau apdoroja (pvz., šifruoja) ir nusiunčia atgal užklausą pateikusiam klientui.

Kuo tai skiriasi nuo priekinių proxy serverių?
Kaip minėta anksčiau, atvirkštiniai tarpiniai serveriai yra įrengiami tarp klientų ir vidinių serverių, o tiesioginiai tarpiniai serveriai – tarp klientų ir interneto. Tiesioginis tarpinis serveris nukreipia visus klientų užklausimus ir persiunčia juos , nurodydamas savo siuntėjo adresą, į tikslinius serverius internete. Serverių atsakymai taip pat pirmiausia pasiekia proxy, prieš paskirstant juos atitinkamiems klientų įrenginiams. Jie lieka anoniminiai, išskyrus atvejus, kai tai yra skaidrusis proxy. Nors tiesioginis proxy apsaugo vidinio tinklo klientus nuo išorinių grėsmių, atvirkštinis proxy apsaugo viešojo tinklo serverius ir optimizuoja jų prieinamumą.
Nors atvirkštiniai tarpiniai serveriai suteikia akivaizdžių privalumų serverių struktūroms dėl tokių funkcijų kaip apkrovos paskirstymas ir įvairios saugumo funkcijos, tiesioginių tarpinio serverių privalumai glūdi kliento apsaugoje.

Atvirkštinių proxy serverių taikymo sritys
Sujungus klientų užklausas, atvirkštiniai tarpiniai serveriai gali labai tiksliai valdyti įeinantį srautą. Be kita ko, tai leidžia vienu URL adresu teikti paslaugas iš kelių serverių, tolygiai paskirstyti užklausas tarp skirtingų serverių ir pagreitinti duomenų gavimą naudojant talpyklą. Toliau pateikiamos pagrindinės atvirkštinio tarpinio serverio taikymo sritys.
Apkrovos paskirstymas
Priekyje įdiegtas atvirkštinis proxy leidžia susieti URL adresą su įvairiais privačiojo tinklo serveriais. Tai padeda paskirstyti gaunamus užklausimus tarp kelių serverių. Toks apkrovos balansavimas apsaugo atskiras sistemas nuo perkrovos ir kompensuoja gedimus. Jei serveris nepasiekiamas dėl aparatinės ar programinės įrangos gedimų, proxy apkrovos balansavimo modulis perskirsto gaunamas užklausas likusiems serveriams. Tai užtikrina serverių paslaugų prieinamumą net ir gedimų atveju.
Tarpinis saugojimas
Siekiant pagreitinti serverio paslaugas, atvirkštiniai tarpiniai serveriai gali pasiūlyti funkciją, leidžiančią talpinti dažnai prašomą turinį į talpyklą. Šis talpinimas į talpyklą leidžia tarpinio serverio pačiam iš dalies arba visiškai atsakyti į pasikartojančius užklausimus. Statinis turinys, pvz., vaizdai ar CSS stilių lapai, saugomi proxy talpykloje. Dėl to iš užkulisinio serverio reikia gauti labai mažai duomenų arba jų visai nereikia, o tai žymiai pagreitina prieigą prie žiniatinklio paslaugų. Tačiau, kadangi greitai besikeičiantis turinys ne visada užtikrina, kad proxy talpykloje bus naujausia versija, kyla pavojus, kad užklausą pateikusiems klientams bus pateikta pasenusi informacija.
Apsaugos ir saugumo priemonės
Atvirkštinis proxy veikia kaip tam tikras užpakalinių serverių skydas ir, atlikdamas šią funkciją, gali užtikrinti įvairias saugumo funkcijas:
- Apsauga nuo DDoS atakų: Atvirkštiniai tarpiniai serveriai gali aptikti ir blokuoti įtartiną arba neįprastai didelį srautą DDoS atakų metu, kol jis pasiekia vidinius serverius.
- Web Application Firewall (WAF): Daugelis atvirkštinių proxy serverių turi WAF, kuris gali filtruoti kenkėjiškus užklausimus, pvz., SQL injekcijas ar Cross-Site Scripting (XSS).
- IP baltasis ir juodasis sąrašai: atvirkštinis proxy gali blokuoti tam tikrus IP adresus arba, jei reikia, leisti prisijungimus tik iš konkrečių tinklų.
- Vidinių serverių paslėpimas: Atvirkštinis proxy užkerta kelią vidinių serverių vidinių IP adresų viešam matomumui, todėl atakos tampa sudėtingesnės.
Šifravimas
Siekiant sumažinti apkrovą vidiniams serveriams, šifravimui taip pat galima naudoti atvirkštinius proxy serverius. Tokiu atveju jis iššifruoja kliento SSL/TLS užklausą (pvz., HTTPS ryšį), persiunčia iššifruotus duomenis vidiniams serveriams ir atitinkamą atsakymą vėl užšifruotą nusiunčia atgal klientui. Vidinis ryšys gali vykti tiek užšifruotas, tiek neužšifruotas.
Anonimizavimas
Atvirkštinis proxy taip pat gali būti naudojamas srautui anonimizuoti, paslepiant klientų tikruosius IP adresus arba pakeičiant juos savo IP adresais. Tai padeda apsaugoti klientų privatumą, nes tikrieji IP adresai nebus matomi žurnaluose. Be to, tai leidžia taikyti geografinį apkrovos balansavimą: užklausos gali būti nukreipiamos į artimiausią serverį, priklausomai nuo vartotojo geografinės vietos.
Suspaudimas
Naudojant tinkamą programinę įrangą, atvirkštinis proxy gali būti naudojamas įeinantiems ir išeinantiems duomenims suspausti. Populiari svetainių suspaudimo programa yra „gzip“, dažnai naudojama kartu su žiniatinklio serveriais „Apache“ arba „NGINX“.