Mikroservisu drošība Kā nodrošināt savu mikropakalpojumu infrastruktūru?



Šajā rakstā par Microservices Security tiks detalizēti izklāstīti daži no labākajiem mikropakalpojumu nodrošināšanas veidiem.

Mūsdienu tirgū, kur nozares izmanto dažādas programmatūras arhitektūras un lietojumprogrammas, gandrīz neiespējami to just, jūsu dati ir pilnīgi droši. Tātad, veidojot lietojumprogrammas, izmantojot , drošības jautājumi kļūst arvien nozīmīgāki, jo individuālie dienesti sazinās savā starpā un ar klientu. Tātad šajā rakstā par mikropakalpojumu drošību es izklāstīšu dažādus veidus, kā jūs varat ieviest savu mikropakalpojumu drošību šādā secībā.

Kas ir mikropakalpojumi?

Mikropakalpojumi, aka mikropakalpojumu arhitektūra , ir arhitektūras stils, kas strukturē lietojumprogrammu kā nelielu autonomu pakalpojumu kolekciju, kas veidota pēc a biznesa domēns. Tātad, jūs varat saprast mikropakalpojumus kā mazus individuālus pakalpojumus, kas savstarpēji sazinās, izmantojot vienoto biznesa loģiku. Ja vēlaties padziļināti uzzināt vairāk par mikropakalpojumiem, varat to darīt





Kas ir Microservices - Microservice Security - Edureka

Tagad, bieži vien, kad uzņēmumi pāriet no monolītās arhitektūras uz mikropakalpojumiem, viņi redz daudzas priekšrocības, piemēram, mērogojamību, elastību un īsus attīstības ciklus. Bet tajā pašā laikā šī arhitektūra arī rada dažas sarežģītas problēmas.



Tātad, šajā rakstā par mikropakalpojumu drošību, ļaujiet mums saprast problēmas, ar kurām saskaras mikropakalpojumu arhitektūra.

Problēmas, ar kurām jāsaskaras mikropakalpojumos

Mikropakalpojumos sastopamās problēmas ir šādas:

metodes pārslodze un metodes ignorēšana

1. problēma:

Apsveriet scenāriju, kurā lietotājam jāpiesakās, lai piekļūtu resursam. Tagad mikroservisu arhitektūrā lietotāja pieteikšanās informācija ir jāsaglabā tā, lai lietotājs netiktu lūgts pārbaudīt katru reizi, kad viņš / viņa mēģina piekļūt resursam. Tagad tas rada problēmu, jo lietotāja informācija, iespējams, nav droša, un arī 3 var piekļūtrdballīte.



2. problēma:

Kad klients nosūta pieprasījumu, ir jāpārbauda klienta informācija un jāpārbauda arī klientam piešķirtās atļaujas. Tātad, lietojot mikropakalpojumus, var gadīties, ka katram pakalpojumam klienta autentifikācija un autorizācija ir jāveic. Tagad, lai to izdarītu, izstrādātāji var izmantot vienu un to pašu kodu katram pakalpojumam. Bet vai, jūsuprāt, paļaušanās uz konkrētu kodu samazina mikropakalpojumu elastību? Nu, tas noteikti notiek. Tātad, šī ir viena no galvenajām problēmām, ar ko bieži saskaras šajā arhitektūrā.

3. problēma:

Nākamā ļoti svarīgā problēma ir katra atsevišķa mikropakalpojuma drošība. Šajā arhitektūrā visi mikropakalpojumi vienlaikus ar 3 vienlaikus sazinās viens ar otrurdpartiju lietojumprogrammas. Tātad, kad klients piesakās no 3rdpuse lietojumprogrammu, jums jāpārliecinās, ka klients nesaņem piekļuvi mikropakalpojumu datiem tādā veidā, lai viņš / viņa tos varētu izmantot.

Labi, iepriekš minētās problēmas nav vienīgās problēmas, kas atrodamas mikroservisa arhitektūrā. Es teiktu, ka jūs varētu saskarties ar daudzām citām problēmām, kas saistītas ar drošību, pamatojoties uz jūsu lietojumprogrammu un arhitektūru. Šajā sakarā ļaujiet mums turpināt darbu ar šo rakstu par mikropakalpojumu drošību un uzzināt labāko veidu, kā mazināt problēmas.

Mikropakalpojumu drošības paraugprakse

Labākās prakses, kā uzlabot drošību mikropakalpojumos, ir šādas:

Aizsardzība dziļuma mehānismā

Tā kā ir zināms, ka mikropakalpojumi granulētā līmenī pieņem jebkuru mehānismu, pakalpojumu drošībai varat izmantot aizsardzības dziļumā mehānismu. Atsevišķi runājot, aizsardzības dziļumā mehānisms būtībā ir paņēmiens, ar kura palīdzību jūs varat izmantot drošības pretpasākumus, lai aizsargātu sensitīvos pakalpojumus. Tātad kā izstrādātājam jums vienkārši jāidentificē pakalpojumi ar visjutīgāko informāciju un pēc tam jāpielieto vairāki drošības slāņi, lai tos aizsargātu. Tādā veidā jūs varat pārliecināties, ka jebkurš potenciāls uzbrucējs nevar uzlauzt drošību vienā piegājienā, un viņam ir jādodas uz priekšu un jāmēģina uzlauzt visu slāņu aizsardzības mehānisms.

Tā kā mikropakalpojumu arhitektūrā dažādos pakalpojumos varat ieviest dažādus drošības slāņus, uzbrucējs, kurš veiksmīgi izmanto konkrētu pakalpojumu, iespējams, nespēs uzlauzt citu pakalpojumu aizsardzības mehānismu.

Žetoni un API vārteja

Bieži vien, atverot lietojumprogrammu, tiek parādīts dialoglodziņš ar tekstu “Pieņemt licences līgumu un atļauju sīkfailiem”. Ko šis ziņojums nozīmē? Nu, kad jūs to pieņemsit, jūsu lietotāja akreditācijas dati tiks saglabāti un tiks izveidota sesija. Tagad, nākamreiz apmeklējot to pašu lapu, lapa tiks ielādēta no kešatmiņas, nevis pašiem serveriem. Pirms šī koncepcija nonāca attēlā, sesijas tika centrāli saglabātas servera pusē. Bet tas bija viens no lielākajiem šķēršļiem horizontālā mērogošanā, pielietojums.

Žetoni

Tātad šīs problēmas risinājums ir izmantot žetonus, reģistrēt lietotāja akreditācijas datus. Šie marķieri tiek izmantoti, lai ērti identificētu lietotāju, un tiek glabāti sīkfailu veidā. Tagad, katru reizi, kad klients pieprasa tīmekļa lapu, pieprasījums tiek pārsūtīts uz serveri, un pēc tam serveris nosaka, vai lietotājam ir piekļuve pieprasītajam resursam.

c ++ rekursīvie fibonacci

Tagad galvenā problēma ir marķieri, kur tiek glabāta lietotāja informācija. Tātad, lai izvairītos no 3 izmantošanas, marķieru dati ir jāšifrērdpartijas resursi. Jason Web formāts vai visbiežāk pazīstams kā JWT ir atvērts standarts, kas nosaka marķiera formātu, nodrošina bibliotēkas dažādām valodām un arī šifrē šos marķierus.

API vārtejas

API vārtejas tiek pievienotas kā papildu elements pakalpojumu drošībai, izmantojot marķiera autentifikāciju. The Vārteja darbojas kā ieejas punkts visiem klienta pieprasījumiem un efektīvi slēpj klienta mikropakalpojumus. Tātad klientam nav tiešas piekļuves mikropakalpojumiem, un tādējādi šādā veidā neviens klients nevar izmantot nevienu no pakalpojumiem.

Izplatīta izsekošana un sesiju pārvaldība

Izplatīta izsekošana

Izmantojot mikropakalpojumus, nepārtraukti jāuzrauga visi šie pakalpojumi. Bet, kad jums vienlaikus jāuzrauga milzīgs pakalpojumu daudzums, tas kļūst par problēmu. Lai izvairītos no šādām problēmām, varat izmantot metodi, kas pazīstama kā izplatīta izsekošana. Izplatītā izsekošana ir metode, kā precīzi noteikt kļūdas un noteikt tās cēloni. Ne tikai to, bet arī jūs varat noteikt vietu, kur notiek neveiksmes. Tātad ir ļoti viegli izsekot, kurš mikropakalpojums saskaras ar drošības problēmu.

Sesijas vadība

Sesijas pārvaldība ir svarīgs parametrs, kas jums jāņem vērā, nodrošinot mikropakalpojumus. Tagad sesija tiek izveidota ikreiz, kad lietotājs piekļūst lietojumprogrammai. Tātad sesijas datus varat apstrādāt šādos veidos:

fibonacci skaitlis c ++
  1. Atsevišķa lietotāja sesijas datus varat saglabāt noteiktā serverī. Bet šāda veida sistēma ir pilnībā atkarīga no slodzes līdzsvarošanas starp pakalpojumiem un atbilst tikai horizontālai mērogošanai.
  2. Visus sesijas datus var saglabāt vienā instancē. Tad datus var sinhronizēt, izmantojot tīklu. Vienīgā problēma ir tā, ka šajā metodē tīkla resursi tiek izsmelti.
  3. Jūs varat pārliecināties, ka lietotāja datus var iegūt no koplietotās sesijas krātuves, lai nodrošinātu, ka visi pakalpojumi var nolasīt tos pašus sesijas datus. Bet, tā kā dati tiek iegūti no koplietotās krātuves, jums jāpārliecinās, vai jums ir kāds drošības mehānisms, lai droši piekļūtu datiem.

Pirmā sesija un savstarpējā SSL

Pirmās sesijas ideja ir ļoti vienkārša. Lietotājiem jāpiesakās lietojumprogrammā vienreiz, un pēc tam viņi var piekļūt visiem lietojumprogrammas pakalpojumiem. Katram lietotājam sākotnēji ir jāsazinās ar autentifikācijas pakalpojumu. Nu, tas noteikti var radīt lielu datplūsmu starp visiem pakalpojumiem un izstrādātājiem varētu būt apgrūtinošs, lai šādā scenārijā noskaidrotu neveiksmes.

Mijiedarbojoties ar savstarpējo SSL, lietojumprogrammas bieži saskaras ar lietotāju datplūsmurdballītes un arī mikropakalpojumi, kas savstarpēji sazinās. Bet, tā kā šiem pakalpojumiem piekļūst 3rdpusēm, vienmēr pastāv uzbrukumu risks. Šādu scenāriju risinājums ir savstarpēja SSL vai savstarpēja autentifikācija starp mikropakalpojumiem. Tādējādi dati, kas tiek pārsūtīti starp pakalpojumiem, tiks šifrēti. Vienīgā šīs metodes problēma ir tā, ka, palielinoties mikropakalpojumu skaitam, tā kā katram pakalpojumam būs savs TLS sertifikāts, izstrādātājiem būs ļoti grūti atjaunināt sertifikātus.

3rdpartijas lietojumprogrammas piekļuve

Mēs visi piekļūstam 3 lietojumprogrammāmrdpartiju lietojumprogrammas. 3rdpušu lietojumprogrammas izmanto API marķieri, kuru lietotājs ģenerējis lietotājam, lai piekļūtu nepieciešamajiem resursiem. Tātad trešo pušu lietojumprogrammas var piekļūt konkrēto lietotāju datiem, nevis citu lietotāju akreditācijas datiem. Nu, tas attiecās uz vienu lietotāju. Bet ko tad, ja lietojumprogrammām ir jāpiekļūst vairāku lietotāju datiem? Kā, jūsuprāt, tiek apmierināts šāds pieprasījums?

OAuth izmantošana

Risinājums ir izmantot OAuth. Lietojot OAuth, lietojumprogramma liek lietotājam autorizēt 3rdpartiju lietojumprogrammas, lai izmantotu nepieciešamo informāciju un ģenerētu tai marķieri. Parasti pilnvaras kods tiek izmantots, lai pieprasītu marķieri, lai pārliecinātos, ka lietotāja atzvanīšanas URL netiek nozagts.

Tātad, pieminot piekļuves marķieri, klients sazinās ar autorizācijas serveri, un šis serveris pilnvaro klientu liegt citiem viltot klienta identitāti. Tātad, izmantojot Microsoft pakalpojumus ar OAuth, pakalpojumi darbojas kā klienti OAuth arhitektūrā, lai vienkāršotu drošības problēmas.

Cilvēki, es neteiktu, ka šie ir vienīgie veidi, kā jūs varat nodrošināt savus pakalpojumus. Mikropakalpojumus var nodrošināt daudzos veidos, pamatojoties uz lietojumprogrammas arhitektūru. Tātad, ja esat kāds, kurš vēlas izveidot lietojumprogrammu, kuras pamatā ir mikropakalpojumi, atcerieties, ka pakalpojumu drošība ir viens svarīgs faktors, pret kuru jums jābūt piesardzīgam. Šajā sakarā mēs esam nonākuši pie šī raksta par mikropakalpojumu drošību. Es ceru, ka šis raksts jums šķita informatīvs.

Ja vēlaties apgūt mikropakalpojumus un izveidot savas lietojumprogrammas, iepazīstieties ar mūsu kas nāk ar instruktoru vadītu tiešraides apmācību un reālās dzīves projektu pieredzi. Šīs apmācības palīdzēs padziļināti izprast mikropakalpojumus un palīdzēs apgūt priekšmetu.

Vai mums ir jautājums? Lūdzu, pieminējiet to komentāru sadaļā Mikropakalpojumu drošība ”Un es sazināšos ar jums.