Seguridad ng Mga Mikropono Paano Ma-secure ang Iyong Infrastructure ng Mikroservice?



Ang artikulong ito sa Seguridad ng Microservices ay magdidiskubre ng ilan sa mga pinakamahusay na kasanayan para sa pag-secure ng microservices sa isang detalyadong pamamaraan.

Sa merkado ngayon kung saan gumagamit ang mga industriya ng iba't ibang mga arkitektura at aplikasyon ng software, halos sa tabi ng imposibleng maramdaman iyon, ang iyong data ay ganap na ligtas. Kaya, habang nagtatayo ng mga aplikasyon gamit ang , ang mga isyu sa seguridad ay naging mas makabuluhan, tulad ng, mga indibidwal na serbisyo na nakikipag-usap sa bawat isa at sa kliyente. Kaya, sa artikulong ito sa seguridad ng microservices, tatalakayin ko ang iba't ibang mga paraan na maaari mong ipatupad upang ma-secure ang iyong mga microservices sa sumusunod na pagkakasunud-sunod.

Ano ang mga microservices?

Mga mikropono, aka arkitektura ng microservice , ay isang istilong arkitektura na bumubuo ng isang aplikasyon bilang isang koleksyon ng maliliit na autonomous na serbisyo, na na-modelo sa paligid ng a domain ng negosyo. Kaya, maaari mong maunawaan ang microservices bilang maliit na mga indibidwal na serbisyo na nakikipag-usap sa bawat isa sa paligid ng solong lohika sa negosyo. Kung nais mong malaman ang higit pa tungkol sa malalim na mga microservices, maaari mo ito





Ano ang Mga Serbisyo ng Mikroskopyo - Seguridad sa Mikroservice - Edureka

Ngayon, madalas kapag ang mga kumpanya ay lumilipat mula sa isang monolithic na arkitektura sa mga microservices, nakikita nila ang maraming mga benepisyo tulad ng kakayahang sumukat, kakayahang umangkop at maikling ikot ng pag-unlad. Ngunit, sa parehong oras, ang arkitekturang ito, ay nagpapakilala rin ng ilang mga kumplikadong problema.



Kaya, susunod sa artikulong ito sa seguridad ng microservices, ipaalam sa amin na maunawaan ang mga problemang kinakaharap sa isang arkitektura ng microservice.

Mga problemang kinakaharap sa microservices

Ang mga problemang kinakaharap sa microservices ay ang mga sumusunod:

ano ang __init__ sa sawa

Suliranin 1:

Isaalang-alang ang isang senaryo, kung saan ang isang gumagamit ay kailangang mag-login upang ma-access ang isang mapagkukunan. Ngayon, sa arkitektura ng microservices, ang mga detalye sa pag-login ng gumagamit ay dapat na mai-save sa isang paraan na, hindi hiningi ang gumagamit para sa pag-verify sa bawat oras na susubukan niyang mag-access sa isang mapagkukunan. Ngayon, lumilikha ito ng isang problema, dahil ang mga detalye ng gumagamit ay maaaring hindi ligtas at maaari ring ma-access ng 3rdpagdiriwang



Suliranin 2:

Kapag ang isang kliyente ay nagpapadala ng isang kahilingan, kung gayon ang mga detalye ng kliyente ay kailangang ma-verify at ang mga pahintulot na ibinigay sa kliyente ay kailangang suriin. Kaya, kapag gumamit ka ng mga microservices, maaaring mangyari na para sa bawat serbisyo na kailangan mong patunayan at pahintulutan ang kliyente. Ngayon, upang gawin ito, maaaring gumamit ang mga developer ng parehong code para sa bawat serbisyo. Ngunit, hindi ba sa palagay mo ang pag-asa sa isang tukoy na code ay binabawasan ang kakayahang umangkop ng mga microservices? Sa gayon, talagang gagawin ito. Kaya, ito ay isa sa mga pangunahing problemang madalas harapin sa arkitekturang ito.

Suliranin 3:

Ang susunod na problema na kung saan ay kilalang-kilala ay ang seguridad ng bawat indibidwal na microservice. Sa arkitekturang ito, lahat ng microservices ay nakikipag-usap sa bawat isa nang sabay-sabay bilang karagdagan sa 3rdmga application ng partido. Kaya, kapag nag-log in ang isang kliyente mula sa isang 3rdapplication ng partido, kailangan mong tiyakin na ang client ay hindi makakuha ng access sa data ng mga microservices, sa isang paraan na, maaari niyang pagsamantalahan ang mga ito.

O sige, ang mga nabanggit na problema ay hindi lamang ang mga problemang matatagpuan sa isang arkitektura ng microservice. Sasabihin ko, maaari mong harapin ang maraming iba pang mga problema na may kaugnayan sa seguridad batay sa application at arkitektura na mayroon ka. Sa tala na iyon, magpatuloy tayo sa artikulong ito sa seguridad ng microservices at malaman ang pinakamahusay na paraan upang mabawasan ang mga hamon.

Pinakamahusay na kasanayan para sa seguridad ng microservices

Ang mga pinakamahusay na kasanayan upang mapabuti ang seguridad sa microservices ay ang mga sumusunod:

Depensa sa Lalim na Mekanismo

Tulad ng mga microservices na kilala na magpatibay ng anumang mekanismo sa isang butil na antas, maaari mong ilapat ang mekanismo ng Depensa sa Lalim upang gawing mas ligtas ang mga serbisyo. Sa mga termino ng karaniwang tao, ang mekanismo ng Depensa sa Lalim ay karaniwang isang pamamaraan kung saan maaari kang maglapat ng mga layer ng mga countermeasure sa seguridad upang maprotektahan ang mga sensitibong serbisyo. Kaya, bilang isang developer, kailangan mo lamang kilalanin ang mga serbisyo na may pinaka-sensitibong impormasyon at pagkatapos ay maglapat ng isang bilang ng mga layer ng seguridad upang maprotektahan sila. Sa ganitong paraan, maaari mong tiyakin na ang anumang potensyal na umaatake ay hindi maaaring basagin ang seguridad sa isang solong lakad, at kailangang magpatuloy at subukang i-crack ang mekanismo ng depensa ng lahat ng mga layer.

Gayundin, dahil sa isang arkitektura ng microservice, maaari kang magpatupad ng iba't ibang mga layer ng seguridad sa iba't ibang mga serbisyo, ang isang umaatake, na matagumpay na nagsasamantala sa isang partikular na serbisyo, ay maaaring hindi mapatid ang mekanismo ng pagtatanggol ng iba pang mga serbisyo.

Mga Token at API Gateway

Kadalasan, kapag binuksan mo ang isang application, makakakita ka ng isang kahon ng dialogo na nagsasabing, 'Tanggapin ang Kasunduan sa Lisensya at pahintulot para sa cookies'. Ano ang kahulugan ng mensaheng ito? Sa gayon, sa sandaling tanggapin mo ito, maiimbak ang iyong mga kredensyal ng gumagamit at lilikha ng isang session. Ngayon, sa susunod na pumunta ka sa parehong pahina, mai-load ang pahina mula sa memorya ng cache kaysa sa mga server mismo. Bago ang konseptong ito ay dumating sa larawan, ang mga sesyon ay nakaimbak sa server-side na sentral. Ngunit, ito ay isa sa pinakamalaking hadlang sa pahalang na pag-scale, ang application.

Mga Token

Kaya, ang solusyon sa problemang ito ay ang paggamit ng mga token, upang maitala ang mga kredensyal ng gumagamit. Ginagamit ang mga token na ito upang madaling makilala ang gumagamit at nakaimbak sa anyo ng cookies. Ngayon, sa tuwing humihiling ang isang kliyente ng isang web page, ang kahilingan ay ipinapasa sa server, at pagkatapos, tinutukoy ng server kung may access ang gumagamit sa hiniling na mapagkukunan o hindi.

__init __ (sarili)

Ngayon, ang pangunahing problema ay mga token kung saan nakaimbak ang impormasyon ng gumagamit. Kaya, ang data ng mga token ay kailangang naka-encrypt upang maiwasan ang anumang pagsasamantala mula sa 3rdmapagkukunan ng partido. Ang Jason Web Format o pinaka kilala bilang JWT ay isang bukas na pamantayan na tumutukoy sa format ng token, nagbibigay ng mga aklatan para sa iba't ibang mga wika at naka-encrypt din ang mga token na iyon.

Mga Gateway ng API

Ang mga API Gateway ay nagdaragdag bilang isang labis na elemento upang ma-secure ang mga serbisyo sa pamamagitan ng pagpapatotoo ng token. Ang Gumagawa ang gateway ng isang entry point sa lahat ng mga kahilingan ng kliyente at mahusay na itinatago ang microservices mula sa client. Kaya, ang client ay walang direktang pag-access sa microservices at sa gayon sa paraang iyon, walang kliyente ang maaaring pagsamantalahan ang anuman sa mga serbisyo.

Ipinamahagi ang Pamamahala ng Pagsubaybay at Sisyon

Ipinamahagi ang Pagsubaybay

Habang gumagamit ng microservices, kailangan mong subaybayan ang lahat ng mga serbisyong ito na tuloy-tuloy. Ngunit, kapag kailangan mong subaybayan ang isang nakakatawang halaga ng mga serbisyo nang sabay-sabay, pagkatapos iyon ay magiging isang problema. Upang maiwasan ang mga nasabing hamon, maaari kang gumamit ng pamamaraang kilala bilang Distraced Tracing. Ang pamamahagi ng pagsubaybay ay isang pamamaraan upang matukoy ang mga pagkabigo at makilala ang dahilan sa likod nito. Hindi lamang ito, ngunit maaari mo ring makilala ang lugar kung saan nangyayari ang kabiguan. Kaya, napakadaling subaybayan, aling microservice ang nakaharap sa isang isyu sa seguridad.

Pamamahala sa Sisyon

Ang Session Management ay isang mahalagang parameter na kailangan mong isaalang-alang habang tinitiyak ang mga microservices. Ngayon, ang isang sesyon ay nilikha tuwing ang isang gumagamit ay darating sa isang application. Kaya, maaari mong hawakan ang data ng session sa mga sumusunod na paraan:

  1. Maaari mong iimbak ang data ng session ng isang solong gumagamit sa isang tukoy na server. Ngunit, ang ganitong uri ng system, ganap na nakasalalay sa pagbabalanse ng pag-load sa pagitan ng mga serbisyo at nakakatugon lamang sa pahalang na pag-scale.
  2. Ang kumpletong data ng session ay maaaring maiimbak sa isang solong halimbawa. Pagkatapos ang data ay maaaring mai-synchronize sa pamamagitan ng network. Ang problema lang ay, sa pamamaraang ito, mapagod ang mga mapagkukunan ng network.
  3. Maaari mong tiyakin na ang data ng gumagamit ay maaaring makuha mula sa nakabahaging imbakan ng session, upang matiyak, ang lahat ng mga serbisyo ay maaaring mabasa ang parehong data ng session. Ngunit, dahil nakuha ang data mula sa nakabahaging imbakan, kailangan mong tiyakin na mayroon kang ilang mekanismo sa seguridad, upang ma-access ang data sa isang ligtas na paraan.

Unang sesyon at Mutual SSL

Ang ideya ng unang sesyon ay napaka-simple. Kailangang mag-login ang mga gumagamit sa application nang isang beses, at pagkatapos ay ma-access nila ang lahat ng mga serbisyo sa application. Ngunit, ang bawat gumagamit ay dapat na paunang makipag-usap sa isang serbisyo sa pagpapatotoo. Sa gayon, maaari itong magresulta sa maraming trapiko sa pagitan ng lahat ng mga serbisyo at maaaring maging mahirap para sa mga developer na malaman ang mga pagkabigo sa isang senaryong iyon.

Pagdating sa Mutual SSL, ang mga application ay madalas na nakaharap sa trapiko mula sa mga gumagamit, 3rdmga partido at microservices din na nakikipag-usap sa bawat isa. Ngunit, dahil ang mga serbisyong ito ay na-access ng 3rdmga partido, palaging may panganib na atake. Ngayon, ang solusyon sa mga nasabing senaryo ay magkasamang SSL o kapwa pagpapatotoo sa pagitan ng mga microservices. Sa pamamagitan nito, ang data na inilipat sa pagitan ng mga serbisyo ay naka-encrypt. Ang problema lamang sa pamamaraang ito ay na, kapag tumaas ang bilang ng mga microservices, pagkatapos dahil ang bawat serbisyo ay magkakaroon ng sariling sertipiko ng TLS, magiging napakahirap para sa mga developer na i-update ang mga sertipiko.

3rdpag-access ng application ng partido

Lahat tayo ay nag-a-access ng mga application na 3rdmga application ng partido. Ang 3rdang mga application ng partido ay gumagamit ng isang token ng API na nabuo ng gumagamit sa application upang ma-access ang kinakailangang mga mapagkukunan. Kaya, maaaring ma-access ng mga application ng 3rd party ang partikular na data ng mga gumagamit at hindi iba pang mga kredensyal ng mga gumagamit. Sa gayon, ito ay bilang paggalang sa isang solong gumagamit. Ngunit paano kung ang mga application ay kailangang mag-access ng data mula sa maraming mga gumagamit? Paano sa palagay mo tinatanggap ang gayong kahilingan?

kung paano gamitin ang goto c ++

Paggamit ng OAuth

Ang solusyon ay ang paggamit ng OAuth. Kapag gumamit ka ng OAuth, uudyok ng application ang gumagamit na pahintulutan ang 3rdmga application ng partido, upang magamit ang kinakailangang impormasyon at makabuo ng isang token para dito. Pangkalahatan, ginagamit ang isang code ng pahintulot upang humiling ng token upang matiyak na ang callback URL ng gumagamit ay hindi ninakaw.

Kaya, habang binabanggit ang token ng pag-access ang client ay nakikipag-usap sa server ng pagpapahintulot, at pinahihintulutan ng server na ito ang kliyente na pigilan ang iba na pekein ang pagkakakilanlan ng kliyente. Kaya, kapag gumamit ka ng mga microsoft service na may OAuth, ang mga serbisyo ay kumikilos bilang isang kliyente sa arkitekturang OAuth, upang gawing simple ang mga isyu sa seguridad.

Sa gayon, mga kababayan, hindi ko sasabihin na ito lamang ang mga paraan kung saan maaari mong ma-secure ang iyong mga serbisyo. Maaari mong i-secure ang microservices sa maraming paraan batay sa arkitektura ng application. Kaya, kung ikaw ay isang tao, na naghahangad na bumuo ng isang application batay sa microservices, pagkatapos ay alalahanin na ang seguridad ng mga serbisyo ay isang mahalagang kadahilanan na kailangan mong maging maingat. Sa tala na iyon, natapos namin ang artikulong ito sa seguridad ng microservices. Inaasahan kong nahanap mo ang artikulong ito na may kaalaman.

Kung nais mong malaman ang mga MicrosoftServices at bumuo ng iyong sariling mga application, pagkatapos ay tingnan ang aming na kasama ng live na pagsasanay na pinamunuan ng magtuturo at karanasan sa proyekto sa totoong buhay. Matutulungan ka ng pagsasanay na ito na maunawaan ang malalim na mga Serbisyo at makakatulong sa iyo na makamit ang pagkontrol sa paksa.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng ” Seguridad sa Mikropono ”At babalikan kita.