At­virkš­ti­niai tarpiniai serveriai naudojami kaip tarpinis tinklo kom­po­nen­tas, skirtas už­tik­rin­ti viešųjų in­ter­ne­ti­nių paslaugų serverių saugumą. Jie priima serverių užklausas serverių vardu ir per­siun­čia jas var­to­to­jams.

Kaip veikia at­virkš­ti­nis proxy?

Iš esmės, proxy serveris veikia kaip ryšio tar­pi­nin­kas tinkle: jis priima užklausas ir kliento vardu perduoda jas tikslinio serverio. At­virkš­ti­nis proxy yra įsikūręs tarp klientų (pvz., ži­nia­tink­lio naršyklių) ir už­pa­ka­li­nių serverių (pvz., ži­nia­tink­lio serverių, duomenų bazių serverių ar programų). Jis ak­ty­vuo­ja­si, kai pa­tei­kia­mas kliento už­klau­si­mas, ir nustato, ar už­klau­si­mas turėtų būti nu­kreip­tas į vidinį serverio kom­po­nen­tą ir į kurį iš jų. Šis procesas vyksta keturiais pag­rin­di­niais etapais:

  1. Kliento užklausos gavimas: At­virkš­ti­nis tarpinis serveris priima HTTP, HTTPS ar kitas užklausas, pa­vyz­džiui, FTP arba WebSocket.
  2. Užklausos analizė: proxy patikrina, ar užklausa yra ga­lio­jan­ti, ar ji nekelia jokių saugumo rizikų ir ar yra prieinama išsaugota versija.
  3. Per­siun­ti­mas į ati­tin­ka­mą serverį: Jei į užklausą negalima atsakyti iš talpyklos, at­virkš­ti­nis proxy siunčia užklausą į vieną iš vidinių serverių.
  4. Atsakymas klientui: At­virkš­ti­nis proxy gauna atsakymą iš už­pa­ka­li­nio serverio, prireikus jį toliau apdoroja (pvz., šifruoja) ir nusiunčia atgal užklausą pa­tei­ku­siam klientui.
Image: Schematic representation of a reverse proxy
Reverse proxy and web server are located in a shared internal network

Kuo tai skiriasi nuo priekinių proxy serverių?

Kaip minėta anksčiau, at­virkš­ti­niai tarpiniai serveriai yra įrengiami tarp klientų ir vidinių serverių, o tie­sio­gi­niai tarpiniai serveriai – tarp klientų ir interneto. Tie­sio­gi­nis tarpinis serveris nukreipia visus klientų už­klau­si­mus ir per­siun­čia juos , nu­ro­dy­da­mas savo siuntėjo adresą, į tiks­li­nius serverius internete. Serverių atsakymai taip pat pir­miau­sia pasiekia proxy, prieš pa­skirs­tant juos ati­tin­ka­miems klientų įren­gi­niams. Jie lieka ano­ni­mi­niai, išskyrus atvejus, kai tai yra skaid­ru­sis proxy. Nors tie­sio­gi­nis proxy apsaugo vidinio tinklo klientus nuo išorinių grėsmių, at­virkš­ti­nis proxy apsaugo viešojo tinklo serverius ir op­ti­mi­zuo­ja jų pri­ei­na­mu­mą.

Nors at­virkš­ti­niai tarpiniai serveriai suteikia aki­vaiz­džių privalumų serverių struk­tū­roms dėl tokių funkcijų kaip apkrovos pa­skirs­ty­mas ir įvairios saugumo funkcijos, tie­sio­gi­nių tarpinio serverių pri­va­lu­mai glūdi kliento apsaugoje.

Image: Schematic representation of a forward proxy
Unlike a reverse proxy, the forward proxy is located in a shared internal network with the clients.

At­virkš­ti­nių proxy serverių taikymo sritys

Sujungus klientų užklausas, at­virkš­ti­niai tarpiniai serveriai gali labai tiksliai valdyti įeinantį srautą. Be kita ko, tai leidžia vienu URL adresu teikti paslaugas iš kelių serverių, tolygiai pa­skirs­ty­ti užklausas tarp skirtingų serverių ir pa­grei­tin­ti duomenų gavimą naudojant talpyklą. Toliau pa­tei­kia­mos pag­rin­di­nės at­virkš­ti­nio tarpinio serverio taikymo sritys.

Apkrovos pa­skirs­ty­mas

Priekyje įdiegtas at­virkš­ti­nis proxy leidžia susieti URL adresą su įvairiais pri­va­čio­jo tinklo ser­ve­riais. Tai padeda pa­skirs­ty­ti gaunamus už­klau­si­mus tarp kelių serverių. Toks apkrovos ba­lan­sa­vi­mas apsaugo atskiras sistemas nuo perkrovos ir kom­pen­suo­ja gedimus. Jei serveris ne­pa­sie­kia­mas dėl apa­ra­ti­nės ar prog­ra­mi­nės įrangos gedimų, proxy apkrovos ba­lan­sa­vi­mo modulis per­skirs­to gaunamas užklausas likusiems ser­ve­riams. Tai užtikrina serverių paslaugų pri­ei­na­mu­mą net ir gedimų atveju.

Tarpinis sau­go­ji­mas

Siekiant pa­grei­tin­ti serverio paslaugas, at­virkš­ti­niai tarpiniai serveriai gali pasiūlyti funkciją, lei­džian­čią talpinti dažnai prašomą turinį į talpyklą. Šis tal­pi­ni­mas į talpyklą leidžia tarpinio serverio pačiam iš dalies arba visiškai atsakyti į pa­si­kar­to­jan­čius už­klau­si­mus. Statinis turinys, pvz., vaizdai ar CSS stilių lapai, saugomi proxy tal­pyk­lo­je. Dėl to iš už­ku­li­si­nio serverio reikia gauti labai mažai duomenų arba jų visai nereikia, o tai žymiai pa­grei­ti­na prieigą prie ži­nia­tink­lio paslaugų. Tačiau, kadangi greitai be­si­kei­čian­tis turinys ne visada užtikrina, kad proxy tal­pyk­lo­je bus naujausia versija, kyla pavojus, kad užklausą pa­tei­ku­siems klientams bus pateikta pasenusi in­for­ma­ci­ja.

Apsaugos ir saugumo priemonės

At­virkš­ti­nis proxy veikia kaip tam tikras už­pa­ka­li­nių serverių skydas ir, at­lik­da­mas šią funkciją, gali už­tik­rin­ti įvairias saugumo funkcijas:

  • Apsauga nuo DDoS atakų: At­virkš­ti­niai tarpiniai serveriai gali aptikti ir blokuoti įtartiną arba ne­įp­ras­tai didelį srautą DDoS atakų metu, kol jis pasiekia vidinius serverius.
  • Web Ap­p­li­ca­tion Firewall (WAF): Daugelis at­virkš­ti­nių proxy serverių turi WAF, kuris gali filtruoti ken­kė­jiš­kus už­klau­si­mus, pvz., SQL in­jek­ci­jas ar Cross-Site Scripting (XSS).
  • IP baltasis ir juodasis sąrašai: at­virkš­ti­nis proxy gali blokuoti tam tikrus IP adresus arba, jei reikia, leisti pri­si­jun­gi­mus tik iš konkrečių tinklų.
  • Vidinių serverių pa­slė­pi­mas: At­virkš­ti­nis proxy užkerta kelią vidinių serverių vidinių IP adresų viešam matomumui, todėl atakos tampa su­dė­tin­ges­nės.

Šif­ra­vi­mas

Siekiant sumažinti apkrovą vidiniams ser­ve­riams, šif­ra­vi­mui taip pat galima naudoti at­virkš­ti­nius proxy serverius. Tokiu atveju jis iš­šif­ruo­ja kliento SSL/TLS užklausą (pvz., HTTPS ryšį), per­siun­čia iš­šif­ruo­tus duomenis vidiniams ser­ve­riams ir ati­tin­ka­mą atsakymą vėl už­šif­ruo­tą nusiunčia atgal klientui. Vidinis ryšys gali vykti tiek už­šif­ruo­tas, tiek ne­už­šif­ruo­tas.

Ano­ni­mi­za­vi­mas

At­virkš­ti­nis proxy taip pat gali būti nau­do­ja­mas srautui ano­ni­mi­zuo­ti, pa­sle­piant klientų tik­ruo­sius IP adresus arba pa­kei­čiant juos savo IP adresais. Tai padeda apsaugoti klientų privatumą, nes tikrieji IP adresai nebus matomi žur­na­luo­se. Be to, tai leidžia taikyti geo­gra­fi­nį apkrovos ba­lan­sa­vi­mą: užklausos gali būti nu­krei­pia­mos į ar­ti­miau­sią serverį, pri­klau­so­mai nuo vartotojo geo­gra­fi­nės vietos.

Su­spau­di­mas

Naudojant tinkamą prog­ra­mi­nę įrangą, at­virkš­ti­nis proxy gali būti nau­do­ja­mas įei­nan­tiems ir iš­ei­nan­tiems duomenims suspausti. Populiari svetainių su­spau­di­mo programa yra „gzip“, dažnai naudojama kartu su ži­nia­tink­lio ser­ve­riais „Apache“ arba „NGINX“.

Go to Main Menu