Dela via


Säkerhetsram: Granskning och loggning | Mitigations

Produkt/tjänst Artikel
Dynamics CRM
Webbprogram
Databas
Azure Storage
WCF
Webb-API
IoT-fältgateway
IoT Cloud Gateway

Identifiera känsliga entiteter i din lösning och implementera ändringsgranskning

Rubrik Information
Komponent Dynamics CRM
SDL-fas Skapa
Tillämpliga tekniker Allmänna
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steg Identifiera entiteter i din lösning som innehåller känsliga data och implementera ändringsgranskning för dessa entiteter och fält

Kontrollera att granskning och loggning tillämpas på programmet

Rubrik Information
Komponent Webbprogram
SDL-fas Skapa
Tillämpliga tekniker Allmänna
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steg Aktivera granskning och loggning av alla komponenter. Granskningsloggar bör avbilda användarkontext. Identifiera alla viktiga händelser och logga dessa händelser. Implementera centraliserad loggning

Se till att loggrotation och avgränsning är på plats

Rubrik Information
Komponent Webbprogram
SDL-fas Skapa
Tillämpliga tekniker Allmänna
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steg

Loggrotation är en automatiserad process som används för systemadministration där daterade loggfiler arkiveras. Servrar som kör stora program loggar ofta varje begäran: vid skrymmande loggar är loggrotation ett sätt att begränsa den totala storleken på loggarna och samtidigt tillåta analys av de senaste händelserna.

Loggavgränsning innebär i princip att du måste lagra dina loggfiler på en annan partition som där ditt operativsystem/program körs på för att förhindra en Denial of Service-attack eller nedgradering av programmets prestanda

Kontrollera att programmet inte loggar känsliga användardata

Rubrik Information
Komponent Webbprogram
SDL-fas Skapa
Tillämpliga tekniker Allmänna
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steg

Kontrollera att du inte loggar några känsliga data som en användare skickar till din webbplats. Sök efter avsiktlig loggning samt biverkningar som orsakas av designproblem. Exempel på känsliga data är:

  • Användarautentiseringsuppgifter
  • Personnummer eller annan identifierande information
  • Kreditkortsnummer eller annan finansiell information
  • Hälsoinformation
  • Privata nycklar eller andra data som kan användas för att dekryptera krypterad information
  • System- eller programinformation som kan användas för att mer effektivt attackera programmet

Kontrollera att gransknings- och loggfiler har begränsad åtkomst

Rubrik Information
Komponent Webbprogram
SDL-fas Skapa
Tillämpliga tekniker Allmänna
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steg

Kontrollera att åtkomstbehörigheterna för loggfiler är korrekt inställda. Programkonton ska ha skrivskyddad åtkomst och operatörer och supportpersonal ska ha skrivskyddad åtkomst efter behov.

Administratörskonton är de enda konton som ska ha fullständig åtkomst. Kontrollera Windows ACL för loggfiler för att se till att de är korrekt begränsade:

  • Programkonton ska ha skrivskyddad åtkomst
  • Operatörer och supportpersonal bör ha skrivskyddad åtkomst efter behov
  • Administratörer är de enda konton som ska ha fullständig åtkomst

Kontrollera att användarhanteringshändelser loggas

Rubrik Information
Komponent Webbprogram
SDL-fas Skapa
Tillämpliga tekniker Allmänna
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steg

Se till att programmet övervakar användarhanteringshändelser som lyckade och misslyckade användarinloggningar, lösenordsåterställningar, lösenordsändringar, kontoutelåsning, användarregistrering. Detta hjälper till att identifiera och reagera på potentiellt misstänkt beteende. Det gör det också möjligt att samla in driftdata. till exempel för att spåra vem som har åtkomst till programmet

Se till att systemet har inbyggt skydd mot missbruk

Rubrik Information
Komponent Webbprogram
SDL-fas Skapa
Tillämpliga tekniker Allmänna
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steg

Det bör finnas kontroller som utlöser säkerhetsfel i händelse av missbruk av program. T.ex. Om indatavalidering är på plats och en angripare försöker mata in skadlig kod som inte matchar regexen, kan ett säkerhetsundantag genereras som kan tyda på systemmissbruk

Vi rekommenderar till exempel att säkerhetsfel loggas och åtgärder vidtas för följande problem:

  • Indatavalidering
  • CSRF-överträdelser
  • Brute force (övre gräns för antalet begäranden per användare och resurs)
  • Filuppladdningsfel

    Aktivera diagnostikloggning för webbappar i Azure App Service

    Rubrik Information
    Komponent Webbprogram
    SDL-fas Skapa
    Tillämpliga tekniker Allmänna
    Attribut EnvironmentType – Azure
    Referenser Ej tillämpligt
    Steg

    Azure tillhandahåller inbyggd diagnostik som hjälper dig att felsöka en App Service webbapp. Det gäller även FÖR API-appar och mobilappar. App Service webbappar tillhandahåller diagnostikfunktioner för loggningsinformation från både webbservern och webbappen.

    Dessa är logiskt indelade i webbserverdiagnostik och programdiagnostik

    Kontrollera att inloggningsgranskning är aktiverat på SQL Server

    Rubrik Information
    Komponent Databas
    SDL-fas Skapa
    Tillämpliga tekniker Allmänna
    Attribut Ej tillämpligt
    Referenser Konfigurera inloggningsgranskning
    Steg

    Granskning av databasserverinloggning måste vara aktiverat för att identifiera/bekräfta attacker med gissande av lösenord. Det är viktigt att registrera misslyckade inloggningsförsök. Att samla in både lyckade och misslyckade inloggningsförsök ger ytterligare fördelar under kriminaltekniska undersökningar

    Aktivera hotidentifiering på Azure SQL

    Rubrik Information
    Komponent Databas
    SDL-fas Skapa
    Tillämpliga tekniker SQL Azure
    Attribut SQL-version – V12
    Referenser Kom igång med SQL Database hotidentifiering
    Steg

    Hotidentifiering identifierar avvikande databasaktiviteter som anger potentiella säkerhetshot mot databasen. Det ger ett nytt säkerhetslager som gör det möjligt för kunder att identifiera och reagera på potentiella hot när de inträffar genom att tillhandahålla säkerhetsaviseringar om avvikande aktiviteter.

    Användare kan utforska misstänkta händelser med hjälp av Azure SQL databasgranskning för att avgöra om de beror på ett försök att komma åt, bryta mot eller utnyttja data i databasen.

    Hotidentifiering gör det enkelt att hantera potentiella hot mot databasen utan att behöva vara säkerhetsexpert eller hantera avancerade säkerhetsövervakningssystem

    Använda Azure Lagringsanalys för att granska åtkomsten till Azure Storage

    Rubrik Information
    Komponent Azure Storage
    SDL-fas Distribution
    Tillämpliga tekniker Allmänna
    Attribut Ej tillämpligt
    Referenser Använda Lagringsanalys för att övervaka auktoriseringstyp
    Steg

    För varje lagringskonto kan man göra det möjligt för Azure Lagringsanalys att utföra loggning och lagra måttdata. Lagringsanalysloggarna innehåller viktig information, till exempel autentiseringsmetod som används av någon när de får åtkomst till lagring.

    Detta kan vara till stor hjälp om du skyddar åtkomsten till lagring. I Blob Storage kan du till exempel ange att alla containrar ska vara privata och implementera användningen av en SAS-tjänst i dina program. Sedan kan du kontrollera loggarna regelbundet för att se om dina blobar används med hjälp av lagringskontonycklarna, vilket kan tyda på ett säkerhetsintrång eller om blobarna är offentliga men inte borde vara det.

    Implementera tillräcklig loggning

    Rubrik Information
    Komponent WCF
    SDL-fas Skapa
    Tillämpliga tekniker .NET Framework
    Attribut Ej tillämpligt
    Referenser MSDN, Fortify Kingdom
    Steg

    Avsaknaden av en korrekt spårningslogg efter en säkerhetsincident kan hämma kriminaltekniska insatser. Windows Communication Foundation (WCF) ger möjlighet att logga lyckade och/eller misslyckade autentiseringsförsök.

    Loggning av misslyckade autentiseringsförsök kan varna administratörer om potentiella råstyrkeattacker. På samma sätt kan loggning av lyckade autentiseringshändelser ge en användbar spårningslogg när ett legitimt konto komprometteras. Aktivera WCF:s granskningsfunktion för tjänstsäkerhet

    Exempel

    Följande är en exempelkonfiguration med granskning aktiverat

    <system.serviceModel>
        <behaviors>
            <serviceBehaviors>
                <behavior name=""NewBehavior"">
                    <serviceSecurityAudit auditLogLocation=""Default""
                    suppressAuditFailure=""false"" 
                    serviceAuthorizationAuditLevel=""SuccessAndFailure""
                    messageAuthenticationAuditLevel=""SuccessAndFailure"" />
                    ...
                </behavior>
            </servicebehaviors>
        </behaviors>
    </system.serviceModel>
    

    Implementera tillräcklig hantering av granskningsfel

    Rubrik Information
    Komponent WCF
    SDL-fas Skapa
    Tillämpliga tekniker .NET Framework
    Attribut Ej tillämpligt
    Referenser MSDN, Fortify Kingdom
    Steg

    Den utvecklade lösningen är konfigurerad att inte generera ett undantag när den inte kan skriva till en granskningslogg. Om WCF har konfigurerats för att inte utlösa ett undantag när det inte går att skriva till en granskningslogg meddelas inte programmet om felet och granskning av kritiska säkerhetshändelser kanske inte inträffar.

    Exempel

    Elementet <behavior/> i WCF-konfigurationsfilen nedan instruerar WCF att inte meddela programmet när WCF inte kan skriva till en granskningslogg.

    <behaviors>
        <serviceBehaviors>
            <behavior name="NewBehavior">
                <serviceSecurityAudit auditLogLocation="Application"
                suppressAuditFailure="true"
                serviceAuthorizationAuditLevel="Success"
                messageAuthenticationAuditLevel="Success" />
            </behavior>
        </serviceBehaviors>
    </behaviors>
    

    Konfigurera WCF att meddela programmet när det inte går att skriva till en granskningslogg. Programmet bör ha ett alternativt meddelandeschema för att varna organisationen om att spårningsloggar inte underhålls.

    Kontrollera att granskning och loggning tillämpas på webb-API:et

    Rubrik Information
    Komponent Webb-API
    SDL-fas Skapa
    Tillämpliga tekniker Allmänna
    Attribut Ej tillämpligt
    Referenser Ej tillämpligt
    Steg Aktivera granskning och loggning av webb-API:er. Granskningsloggar bör avbilda användarkontext. Identifiera alla viktiga händelser och logga dessa händelser. Implementera centraliserad loggning

    Se till att lämplig granskning och loggning tillämpas på Field Gateway

    Rubrik Information
    Komponent IoT-fältgateway
    SDL-fas Skapa
    Tillämpliga tekniker Allmänna
    Attribut Ej tillämpligt
    Referenser Ej tillämpligt
    Steg

    När flera enheter ansluter till en fältgateway kontrollerar du att anslutningsförsök och autentiseringsstatus (lyckade eller misslyckade) för enskilda enheter loggas och underhålls på Field Gateway.

    I fall där Field Gateway underhåller IoT Hub autentiseringsuppgifter för enskilda enheter kontrollerar du också att granskning utförs när dessa autentiseringsuppgifter hämtas. Utveckla en process för att regelbundet ladda upp loggarna till Azure IoT Hub/lagring för långsiktig kvarhållning.

    Se till att lämplig granskning och loggning tillämpas på Cloud Gateway

    Rubrik Information
    Komponent IoT Cloud Gateway
    SDL-fas Skapa
    Tillämpliga tekniker Allmänna
    Attribut Ej tillämpligt
    Referenser Introduktion till övervakning av IoT Hub åtgärder
    Steg

    Design för att samla in och lagra granskningsdata som samlas in via IoT Hub operationsövervakning. Aktivera följande övervakningskategorier:

    • Enhetsidentitetsåtgärder
    • Kommunikation från enhet till moln
    • Kommunikation från moln till enhet
    • Anslutningar
    • Filuppladdningar