Sikkerhetsrisikoer på tvers av applikasjoner
Identifiser og reduser vanlige sikkerhetssårbarheter som oppstår i et føderert applikasjonsmiljø.
Sikkerhetsrisikoer på tvers av applikasjoner er en gratis leksjon i Mikrofrontend-arkitektur med Module Federation på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Mikrofrontend-arkitektur med Module Federation, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Mikrofrontend-arkitektur med Module Federation inneholder totalt 4 leksjoner.
MFE-sikkerhet: Unike risikoer
Micro Frontends gir stor fleksibilitet ved å dele opp monolittiske applikasjoner. Denne modulariteten introduserer imidlertid unike sikkerhetsutfordringer når flere uavhengige applikasjoner samarbeider.
For å bygge sikre systemer er det avgjørende å forstå hvordan disse separate delene samhandler, og hvilke risikoer som oppstår gjennom kommunikasjon på tvers av applikasjoner og et delt miljø.
Same-Origin Policy (SOP)
Same-Origin Policy (SOP) er en grunnleggende sikkerhetsmekanisme i nettlesere. Den hindrer nettsider i å samhandle med ressurser fra en annen origin (domene, protokoll eller port).
I Micro Frontends kan SOP behandle modulene som separate origin-er selv om alle ligger på samme toppnivådomene, dersom de ligger på ulike subdomener eller porter. Feilkonfigurasjon her kan føre til utilsiktet tilgang på tvers av origin-er.
Cross-Site Scripting (XSS)
Cross-Site Scripting (XSS) oppstår når ondsinnede skript settes inn i pålitelige nettsteder. I et MFE-oppsett kan en XSS-sårbarhet i én ekstern applikasjon være spesielt farlig:
- En kompromittert ekstern modul kan sette inn skript i vertsapplikasjonen.
- Disse skriptene kan deretter stjele informasjonskapsler og sesjonstoken eller endre hele brukergrensesnittet, slik at alle fødererte moduler påvirkes.
Riktig rensing av inndata og koding av utdata er avgjørende i alle moduler.
Begrens XSS med CSP
En Content Security Policy (CSP) er et effektivt forsvar mot XSS. Den lar deg angi hvilke kilder til innhold (skript, stiler og bilder) nettleseren kan laste inn.
For MFE-er bør vertsapplikasjonen definere en omfattende CSP som tar hensyn til alle legitime skript- og stilkilder fra de eksterne modulene. Dette begrenser konsekvensene av et XSS-angrep ved å hindre kjøring av uautoriserte skript.
Content-Security-Policy: default-src 'self';
script-src 'self' 'unsafe-inline' example.com remote-mfe.com;
style-src 'self' 'unsafe-inline';
img-src 'self' data:;
connect-src 'self' api.example.com;Cross-Site Request Forgery (CSRF)
Cross-Site Request Forgery (CSRF)-angrep lurer brukerens nettleser til å utføre uønskede handlinger i en nettapplikasjon der brukeren er autentisert. Dette kan være utfordrende i MFE-er.
Hvis ulike fødererte moduler deler autentiseringskontekst (for eksempel informasjonskapsler), kan et CSRF-angrep mot én modul potensielt påvirke handlinger i en annen. Kritiske handlinger i hver MFE bør beskyttes med unike CSRF-token med kort levetid.
Usikker kommunikasjon mellom MFE-er
Kommunikasjonen mellom Micro Frontends, enten direkte eller via en delt eventbuss, må være sikker. HTTPS er obligatorisk for all nettverkstrafikk mellom modulene og verten.
Hvis MFE-er kommuniserer ved hjelp av egendefinerte hendelser eller delte globale objekter, må du sørge for at sensitive data ikke sendes direkte, eller at de renses og valideres ordentlig av den mottakende modulen. Behandle alle innkommende data, også fra andre MFE-er, som potensielt upålitelige.
Datalekkasje og tilgangskontroll
En av de skjulte risikoene i MFE-er er utilsiktet datalekkasje eller uautorisert tilgang mellom moduler. Dette kan skje hvis:
- Global tilstand deles uten riktig tilgangskontroll.
- En ekstern modul har bredere tillatelser enn den trenger.
- Sensitive data eksponeres via offentlige API-er som ikke er sikret på riktig måte.
Implementer strenge datakontrakter, og sørg for at modulene bare får tilgang til data som er relevante for funksjonen deres.
Sårbarheter i leverandørkjeden
Micro Frontends er ofte svært avhengige av delte biblioteker og tredjepartsavhengigheter. En sårbarhet i et felles hjelpebibliotek eller et kompromittert byggeverktøy kan påvirke hele det fødererte økosystemet.
Dette kalles et angrep på leverandørkjeden. Skann avhengighetene regelmessig for kjente sårbarheter, vurder tredjepartskilder nøye, og ha streng kontroll over bygge- og utrullingspipeline-ene for alle fødererte applikasjoner.
Isolering av upålitelige komponenter
For svært sensitive eller potensielt upålitelige eksterne applikasjoner fra tredjeparter bør du vurdere sterkere isoleringsteknikker:
- Iframes: Kan gi en sterk sikkerhetsgrense ved å isolere skript og stiler, men medfører integrasjonsutfordringer.
- Web Workers: Ved beregninger kjører de i en separat tråd, noe som hindrer direkte tilgang til DOM og dermed begrenser potensiell skade fra ondsinnede skript.
Velg isolering basert på tillitsnivået og integrasjonsbehovene til den eksterne modulen.
Sikkerhetssjekkpunkt
Hvilke av de følgende strategiene er effektive for å redusere risikoen for Cross-Site Scripting (XSS) i en Micro Frontend-arkitektur?
Oppsummering av sikkerhet på tvers av apper
I denne leksjonen utforsket vi vanlige sikkerhetsrisikoer på tvers av applikasjoner i Micro Frontends, blant annet spredning av XSS, CSRF, usikker kommunikasjon, datalekkasje og sårbarheter i leverandørkjeden.
Husk å implementere et flerlagsforsvar: sterke CSP-er, grundig rensing av inndata, sikker kommunikasjon (HTTPS) og nøye tilgangskontroll er avgjørende for å bygge robuste og sikre fødererte applikasjoner.
Lær deg JavaScript med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Sikkerhetsrisikoer på tvers av applikasjoner» gratis?
Ja – hele teksten i «Sikkerhetsrisikoer på tvers av applikasjoner» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Mikrofrontend-arkitektur med Module Federation-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Mikrofrontend-arkitektur med Module Federation inneholder totalt 4 leksjoner.
Hva lærer jeg i «Sikkerhetsrisikoer på tvers av applikasjoner»?
Identifiser og reduser vanlige sikkerhetssårbarheter som oppstår i et føderert applikasjonsmiljø. Du øver på Mikrofrontend-arkitektur med Module Federation med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Mikrofrontend-arkitektur med Module Federation?
Ingen tidligere erfaring er nødvendig. Mikrofrontend-arkitektur med Module Federation på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.
Hvor lang tid tar leksjonen «Sikkerhetsrisikoer på tvers av applikasjoner»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Mikrofrontend-arkitektur med Module Federation-leksjonen?
Ja. Alle Mikrofrontend-arkitektur med Module Federation-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Autentisering og autorisasjon
- Sikkerhetsrisikoer på tvers av applikasjoner
- Beste praksis for sikker føderering
- Sikring av Module Federation-remotes