Microservices Security Kuinka suojata Microservice-infrastruktuuri?



Tässä artikkelissa Microservices Security kerrotaan parhaista käytännöistä mikropalvelujen suojaamiseksi yksityiskohtaisesti.

Nykypäivän markkinoilla, joilla teollisuus käyttää erilaisia ​​ohjelmistoarkkitehtuureja ja sovelluksia, on melkein mahdotonta tuntea, että tietosi ovat täysin turvallisia. Joten, samalla kun rakennat sovelluksia käyttämällä , turvallisuuskysymykset ovat entistä merkittävämpiä, kun yksittäiset palvelut kommunikoivat keskenään ja asiakkaan kanssa. Joten tässä mikropalvelujen turvallisuutta käsittelevässä artikkelissa käsittelen eri tapoja, joilla voit toteuttaa mikropalvelujen suojaamisen seuraavassa järjestyksessä.

Mitä ovat mikropalvelut?

Mikropalvelut, alias mikropalvelun arkkitehtuuri , on arkkitehtoninen tyyli, joka rakentaa sovelluksen kokoelmana pieniä itsenäisiä palveluita mallinnettuna a liiketoiminnan verkkotunnus. Joten voit ymmärtää, että mikropalvelut ovat pieniä yksittäisiä palveluita, jotka kommunikoivat keskenään yhden liiketoimintalogiikan mukaisesti. Jos haluat tietää enemmän mikropalveluista perusteellisesti, voit





Mitä ovat Microservices - Microservice Security - Edureka

Nyt, kun yritykset siirtyvät monoliittisesta arkkitehtuurista mikropalveluihin, he näkevät usein monia etuja, kuten skaalautuvuuden, joustavuuden ja lyhyet kehitysjaksot. Mutta samalla tämä arkkitehtuuri tuo esiin myös muutamia monimutkaisia ​​ongelmia.



Joten seuraavaksi tässä artikkelissa mikropalvelujen turvallisuudesta, anna meidän ymmärtää mikropalveluarkkitehtuurin kohtaamat ongelmat.

Mikropalveluissa kohtaamat ongelmat

Mikropalveluissa esiintyvät ongelmat ovat seuraavat:

Tehtävä 1:

Tarkastellaan skenaariota, jossa käyttäjän on kirjauduttava sisään voidakseen käyttää resurssia. Mikropalveluarkkitehtuurissa käyttäjän kirjautumistiedot on tallennettava siten, että käyttäjää ei vaadita vahvistusta joka kerta, kun hän yrittää käyttää resurssia. Nyt tämä aiheuttaa ongelman, koska käyttäjän tiedot eivät välttämättä ole turvallisia, ja 3 voi myös käyttää niitärdjuhla.



Tehtävä 2:

Kun asiakas lähettää pyynnön, asiakkaan tiedot on tarkistettava ja myös asiakkaalle annetut oikeudet on tarkistettava. Joten kun käytät mikropalveluita, voi tapahtua, että jokaisen palvelun osalta sinun on todennettava ja valtuutettava asiakas. Tätä varten kehittäjät saattavat nyt käyttää samaa koodia jokaiselle palvelulle. Mutta eikö luulet, että tiettyyn koodiin luottaminen vähentää mikropalvelujen joustavuutta? No, se varmasti tekee. Joten tämä on yksi suurimmista ongelmista, joita usein esiintyy tässä arkkitehtuurissa.

Tehtävä 3:

Seuraava erittäin merkittävä ongelma on kunkin yksittäisen mikropalvelun turvallisuus. Tässä arkkitehtuurissa kaikki mikropalvelut kommunikoivat keskenään samanaikaisesti kolmen lisäksirdjuhlasovellukset. Joten, kun asiakas kirjautuu sisään 3: stardosapuolen sovelluksen, sinun on varmistettava, että asiakas ei pääse mikropalvelujen tietoihin tavalla, jolla hän voisi hyödyntää niitä.

miten nousta voimaksi java

Selvä, yllä mainitut ongelmat eivät ole ainoat ongelmat, jotka löytyvät mikropalveluarkkitehtuurista. Sanoisin, että voit kohdata monia muita turvallisuuteen liittyviä ongelmia sovelluksen ja sinulla olevan arkkitehtuurin perusteella. Siirtykäämme eteenpäin tämän artikkelin kanssa mikropalvelujen turvallisuudesta ja tiedämme parhaan tavan vähentää haasteita.

Parhaat palvelut mikropalvelujen turvallisuuteen

Parhaat palvelut mikropalvelujen turvallisuuden parantamiseksi ovat seuraavat:

Puolustus syvyysmekanismissa

Koska mikropalvelujen tiedetään omaksuvan minkä tahansa mekanismin rakeisella tasolla, voit käyttää Defence in Depth -mekanismia parantamaan palveluiden turvallisuutta. Maallikkona ilmaistuna Defence in Depth -mekanismi on pohjimmiltaan tekniikka, jonka avulla voit soveltaa tietoturvan vastatoimenpiteitä arkaluontoisten palveluiden suojaamiseksi. Joten kehittäjänä sinun on vain tunnistettava palvelut, joissa on arkaluonteisimmat tiedot, ja sitten sovellettava useita suojaustasoja niiden suojaamiseksi. Tällä tavoin voit varmistaa, että kukaan potentiaalinen hyökkääjä ei voi murtaa tietoturvaa yhdellä kertaa, ja hänen on mentävä eteenpäin ja yritettävä murtaa kaikkien kerrosten puolustusmekanismi.

kuinka kääntää kokonaisluku pythonissa

Koska mikropalveluarkkitehtuurissa voit ottaa käyttöön erilaisia ​​suojaustasoja eri palveluille, hyökkääjä, joka onnistuu hyödyntämään tietyn palvelun, ei ehkä pysty murtamaan muiden palveluiden puolustusmekanismia.

Tunnukset ja API-yhdyskäytävä

Usein, kun avaat sovelluksen, näet valintaikkunan, jossa sanotaan 'Hyväksy lisenssisopimus ja lupa evästeille'. Mitä tämä viesti tarkoittaa? No, kun olet hyväksynyt sen, käyttäjän tunnistetiedot tallennetaan ja istunto luodaan. Seuraavan kerran kun siirryt samalla sivulla, sivu ladataan välimuistista eikä itse palvelimista. Ennen kuin tämä konsepti tuli kuvaan, istunnot tallennettiin palvelinpuolelle keskitetysti. Mutta tämä oli yksi suurimmista esteistä vaakasuorassa skaalauksessa, sovellus.

Tunnukset

Joten, ratkaisu tähän ongelmaan on käyttää tunnuksia, tallentaa käyttäjän tunnistetiedot. Näitä tunnuksia käytetään käyttäjän tunnistamiseen ja ne tallennetaan evästeiden muodossa. Aina, kun asiakas pyytää verkkosivua, pyyntö välitetään edelleen palvelimelle, ja sitten palvelin määrittää, onko käyttäjällä pääsy pyydettyyn resurssiin vai ei.

Nyt suurin ongelma on tunnukset, joihin käyttäjätiedot tallennetaan. Joten, tunnusten tiedot on salattava, jotta vältetään 3: n hyväksikäyttördpuolueen resurssit. Jason Web Format tai yleisimmin tunnettu nimellä JWT on avoin standardi, joka määrittelee tunnuksen muodon, tarjoaa kirjastoja eri kielille ja myös salaa nämä tunnukset.

API-yhdyskäytävät

API-yhdyskäytävät lisätään ylimääräisenä elementtinä palvelujen suojaamiseen tunnustodennuksella. Yhdyskäytävä toimii kaikkien asiakkaan pyyntöjen kohdalla ja piilottaa tehokkaasti mikropalvelut asiakkaalta. Asiakkaalla ei siis ole suoraa pääsyä mikropalveluihin, joten tällä tavoin kukaan asiakas ei voi hyödyntää mitään palveluista.

Hajautettu jäljitys ja istunnon hallinta

Hajautettu jäljitys

Mikropalveluiden käytön aikana sinun on seurattava kaikkia näitä palveluita jatkuvasti. Mutta kun joudut seuraamaan suuren määrän palveluja samanaikaisesti, siitä tulee ongelma. Tällaisten haasteiden välttämiseksi voit käyttää menetelmää, joka tunnetaan nimellä hajautettu jäljitys. Hajautettu jäljitys on menetelmä virheiden tunnistamiseksi ja syyn selvittämiseksi. Ei vain tämä, mutta voit myös tunnistaa paikan, jossa epäonnistuminen tapahtuu. Joten on erittäin helppo jäljittää, mikä mikropalvelu on edessään turvallisuusongelmissa.

Istunnon hallinta

Istunnon hallinta on tärkeä parametri, joka on otettava huomioon mikropalveluja suojataessa. Nyt istunto luodaan aina, kun käyttäjä tulee sovellukseen. Joten voit käsitellä istunnon tietoja seuraavilla tavoilla:

  1. Voit tallentaa yhden käyttäjän istuntotiedot tiettyyn palvelimeen. Mutta tällainen järjestelmä riippuu täysin palvelujen välisestä kuormituksen tasapainottamisesta ja täyttää vain vaakatason skaalauksen.
  2. Koko istunnon tiedot voidaan tallentaa yhteen esiintymään. Sitten tiedot voidaan synkronoida verkon kautta. Ainoa ongelma on, että tässä menetelmässä verkkoresurssit uupuvat.
  3. Voit varmistaa, että käyttäjätiedot voidaan hankkia jaetusta istuntotallennustilasta, jotta kaikki palvelut voivat lukea samat istuntotiedot. Mutta koska tiedot haetaan jaetusta tallennustilasta, sinun on varmistettava, että sinulla on jokin suojausmekanismi, jotta voit käyttää tietoja turvallisella tavalla.

Ensimmäinen istunto ja keskinäinen SSL

Ensimmäisen istunnon idea on hyvin yksinkertainen. Käyttäjien on kirjauduttava sovellukseen kerran, ja sitten he voivat käyttää kaikkia sovelluksen palveluita. Jokaisen käyttäjän on kuitenkin aluksi oltava yhteydessä todennuspalveluun. No, tämä voi ehdottomasti johtaa paljon liikennettä kaikkien palvelujen välillä ja voi olla hankalaa kehittäjille selvittää virheet tällaisessa tilanteessa.

miten luoda paketti java

Mutual SSL: n kautta sovellukset kohtaavat usein käyttäjien liikennettä, 3rdosapuolet ja myös keskenään kommunikoivat mikropalvelut. Mutta koska nämä palvelut ovat 3rdosapuolet, on aina olemassa hyökkäysriski. Nyt ratkaisu tällaisiin tilanteisiin on molemminpuolinen SSL tai mikropalvelujen välinen todennus. Tällöin palvelujen välillä siirretyt tiedot salataan. Ainoa ongelma tässä menetelmässä on, että kun mikropalvelujen määrä kasvaa, koska jokaisella palvelulla on oma TLS-varmenne, kehittäjien on erittäin vaikea päivittää varmenteita.

3rdosapuolen sovellusten käyttöoikeudet

Me kaikki käytämme sovelluksia, jotka ovat 3rdjuhlasovellukset. 3rdosapuolen sovellukset käyttävät sovelluksen käyttäjän luomaa API-tunnusta päästäkseen tarvittaviin resursseihin. Kolmannen osapuolen sovellukset voivat siis käyttää kyseisen käyttäjän tietoja eivätkä muiden käyttäjien tunnistetietoja. No, tämä koski yhtä käyttäjää. Mutta entä jos sovellusten on käytettävä useiden käyttäjien tietoja? Kuinka luulet tällaisen pyynnön täyttävän?

OAuthin käyttö

Ratkaisu on käyttää OAuthia. Kun käytät OAuthia, sovellus kehottaa käyttäjää valtuuttamaan 3rdosapuolten sovelluksia, käyttää vaadittuja tietoja ja luoda tunnus. Yleensä valtuutuskoodia käytetään tunnuksen pyytämiseen varmistaakseen, että käyttäjän takaisinsoitto-URL-osoitetta ei varasteta.

Joten, samalla kun mainitaan käyttöoikeustunnus, asiakas kommunikoi valtuutuspalvelimen kanssa, ja tämä palvelin valtuuttaa asiakkaan estämään muita väärentämästä asiakkaan henkilöllisyyttä. Joten kun käytät Microservice-palveluja OAuthin kanssa, palvelut toimivat asiakkaana OAuth-arkkitehtuurissa yksinkertaistamaan tietoturvaongelmia.

No, ihmiset, en sanoisi, että nämä ovat ainoat keinot, joilla voit turvata palvelusi. Voit suojata mikropalveluja monin tavoin sovelluksen arkkitehtuurin perusteella. Joten, jos olet joku, joka haluaa rakentaa mikropalveluihin perustuvan sovelluksen, muista, että palvelujen turvallisuus on yksi tärkeä tekijä, johon sinun on oltava varovainen. Tässä huomautuksessa olemme päättäneet tämän artikkelin mikropalvelujen turvallisuudesta. Toivon, että pidit tämän artikkelin informatiivisena.

Jos haluat oppia mikropalveluja ja rakentaa omia sovelluksiasi, tutustu meidän joka sisältää ohjaajan vetämän live-koulutuksen ja tosielämän projektikokemuksen. Tämä koulutus auttaa sinua ymmärtämään perusteellisesti mikropalveluja ja saavuttamaan aiheen hallinnan.

Onko sinulla kysymys meille? Mainitse se kommenttiosassa ” Mikropalvelun suojaus ”Ja palaan takaisin sinuun.