Sikker koding og OWASP Top 10 for backend · leksjon

Sikker logging og varsling

Utform og implementer sikker logging, sørg for at sensitiv informasjon ikke eksponeres, og generer varsler for mistenkelig aktivitet.

Leksjon 1 av 412 trinn

Sikker logging og varsling er en gratis leksjon i Sikker koding og OWASP Top 10 for backend på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Sikker koding og OWASP Top 10 for backend, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Sikker koding og OWASP Top 10 for backend inneholder totalt 4 leksjoner.

Hvorfor sikker logging er viktig

Logger er som digitale brødsmuler som registrerer alt backend-applikasjonen gjør. De er avgjørende for feilsøking, ytelsesovervåking og forståelse av brukeratferd.

Hvis logger derimot inneholder sensitiv informasjon eller ikke er tilstrekkelig sikret, kan de bli en stor sikkerhetsrisiko. Angripere retter ofte oppmerksomheten mot logger for å finne sårbarheter eller hente ut data.

Ikke logg sensitiv informasjon!

Den første regelen for sikker logging er: Logg aldri sensitiv informasjon direkte. Dette omfatter:

  • Passord og API-nøkler: Disse skal aldri vises i klartekst i logger.
  • Personopplysninger (PII): Navn, adresser, fødselsnumre og helsedata.
  • Økonomiske opplysninger: Kredittkortnumre og bankkontodetaljer.
  • Økt-ID-er og tokener: Kan føre til kapring av økter hvis de blir eksponert.

Gå alltid ut fra at logger kan bli lest av uvedkommende.

Maskering av sensitive data

Noen ganger må De logge at en handling som involverte sensitive data, fant sted, uten å logge selve dataene. Da kan De bruke sladding eller maskering.

  • Sladding: Erstatt sensitive deler med plassholdere (for eksempel ***).
  • Hashing: Lagre enveis-hasher av data (for eksempel for passord, selv om passord ikke bør logges, heller ikke som hasher).

Fokuser på å logge akkurat nok kontekst til at det er nyttig, uten å svekke sikkerheten.

Sladding av passord i Java

Her er et enkelt Java-eksempel som viser hvordan en sensitiv streng, for eksempel et passord, kan sladdes før den logges. I stedet for den faktiske verdien logger vi en maskert versjon.

public class SecureLogger {
  public static void main(String[] args) {
    String password = "mySecretPassword123";
    String maskedPassword = maskSensitiveData(password);
    System.out.println("User login attempt for user 'admin'");
    System.out.println("Password (masked): " + maskedPassword);
  }

  public static String maskSensitiveData(String data) {
    if (data == null || data.isEmpty()) {
      return "";
    }
    // Mask all but the first 2 and last 2 characters
    // or just show a fixed mask for very short strings
    if (data.length() <= 4) {
      return "****";
    }
    return data.substring(0, 2) + "****" + data.substring(data.length() - 2);
  }
}

Bruk loggnivåer på en gjennomtenkt måte

Loggingsrammeverk gjør det mulig å kategorisere meldinger etter alvorlighetsgrad. Dette gjør det enklere å filtrere logger og konsentrere seg om kritiske hendelser.

  • DEBUG: Detaljert informasjon som er nyttig under utvikling.
  • INFO: Applikasjonens generelle flyt.
  • WARN: Mulige problemer som ikke stopper kjøringen.
  • ERROR: Alvorlige problemer som ofte indikerer en feil.
  • FATAL: Svært alvorlige feil som fører til at applikasjonen avsluttes.

Ta alltid med nok kontekst (for eksempel bruker-ID og forespørsels-ID) til at problemer kan spores effektivt.

Sikker lagring av logger

Selv om De har fjernet sensitive data, må selve loggene beskyttes. Behandle loggfiler som sensitive ressurser.

  • Tilgangskontroll: Begrens hvem som kan lese, skrive eller slette loggfiler. Bruk minste privilegium.
  • Kryptering: Krypter logger når de er lagret, særlig hvis de ligger på delte filsystemer eller i skylagring.
  • Retningslinjer for oppbevaring: Definer hvor lenge logger skal oppbevares, og sørg for at de slettes sikkert etter oppbevaringsperioden.

Proaktiv overvåking av logger

Det er ikke nok å bare samle inn logger. De må overvåkes aktivt for mistenkelig aktivitet. Loggovervåking innebærer å analysere loggdata i sanntid eller med jevne mellomrom for å oppdage uvanlige mønstre.

Se etter:

  • Gjentatte mislykkede innloggingsforsøk.
  • Tilgang fra uvanlige IP-adresser eller steder.
  • Forsøk på uautorisert tilgang til ressurser.
  • Hyppige feilmeldinger fra bestemte komponenter.

Varsling om kritiske hendelser

Når overvåkingen oppdager en mulig sikkerhetshendelse, bør et varsel utløses umiddelbart. Varsler informerer administratorer slik at de raskt kan undersøke og håndtere hendelsen.

Vanlige varslingsmekanismer omfatter:

  • E-postvarsler.
  • SMS-meldinger.
  • Integrasjon med systemer for hendelseshåndtering (for eksempel PagerDuty).
  • Advarsler i dashbord i SIEM-verktøy (Security Information and Event Management).

Definer tydelige terskler for hva som skal regnes som en hendelse som utløser varsling.

Sikring av loggintegritet

Angripere kan forsøke å endre eller slette logger for å skjule sporene sine. Å sikre loggintegritet innebærer å sørge for at loggene ikke er blitt endret.

  • Uforanderlige logger: Lagre logger på en måte som gjør dem vanskelige eller umulige å endre (for eksempel på lagring med engangsskriving).
  • Hashing/kontrollsummer: Beregn jevnlig hasher av loggfiler for å oppdage endringer.
  • Videresending til WORM-lagring: Write Once Read Many (WORM)-lagring sørger for at logger ikke kan overskrives.

Sentraliserte loggsystemer

For komplekse applikasjoner eller mikrotjenester kan det være utfordrende å samle logger fra mange kilder. Et sentralisert loggsystem samler logger på ett sted.

Fordelene omfatter:

  • Enklere søk og analyse på tvers av alle tjenester.
  • Sentralisert sikkerhetsovervåking.
  • Forenklet håndtering av oppbevaring og sikkerhetskopiering av logger.
  • Bedre muligheter for håndtering av hendelser.

Populære verktøy omfatter ELK Stack (Elasticsearch, Logstash, Kibana) og Splunk.

Kontroll av sikker logging

Vurder følgende loggingspraksiser. Hvilke av dem regnes generelt som dårlig sikkerhetspraksis?

Oppsummering: Sikker logging

Vi har gått gjennom grunnleggende praksiser for sikker logging og varsling:

  • Logg aldri sensitive data som passord eller PII direkte.
  • Sladd eller masker sensitiv informasjon når det er nødvendig.
  • Bruk passende loggnivåer og ta med kontekst.
  • Beskytt logglagringen med tilgangskontroller og kryptering.
  • Overvåk logger aktivt for avvik.
  • Konfigurer tidsriktige varsler for kritiske sikkerhetshendelser.
  • Sørg for loggintegritet for å forhindre manipulering.
  • Vurder sentralisert logging for bedre håndtering.

Sikker logging er en grunnpilar i en robust sikkerhetsstrategi!

Gratis å komme i gang

Lær deg Sikker koding og OWASP Top 10 for backend 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 «Sikker logging og varsling» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Sikker koding og OWASP Top 10 for backend, inkludert «Sikker logging og varsling», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Sikker koding og OWASP Top 10 for backend inneholder totalt 4 leksjoner.

Hva lærer jeg i «Sikker logging og varsling»?

Utform og implementer sikker logging, sørg for at sensitiv informasjon ikke eksponeres, og generer varsler for mistenkelig aktivitet. Du øver på Sikker koding og OWASP Top 10 for backend 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 Sikker koding og OWASP Top 10 for backend?

Ingen tidligere erfaring er nødvendig. Sikker koding og OWASP Top 10 for backend 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 1 av 4.

Hvor lang tid tar leksjonen «Sikker logging og varsling»?

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 Sikker koding og OWASP Top 10 for backend-leksjonen?

Ja. Alle Sikker koding og OWASP Top 10 for backend-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

  1. Sikker logging og varsling
  2. Runtime Application Self-Protection (RASP)
  3. Verifisering av programvare- og dataintegritet
  4. Revisjonsspor og manipulasjonssikre logger
← Tilbake til Sikker koding og OWASP Top 10 for backend