Övning – Övervaka databasen

Slutförd

Anta att du får en avisering från företagets säkerhetsadministratör. Ett potentiellt säkerhetsintrång har identifierats i nätverket. En obehörig person kan ha använt databasen via skadlig aktivitet. Hur skulle du spåra detta?

Du vet att du aktivt måste övervaka databasen för misstänkt aktivitet. Vad kan du göra för att inte bara få insyn i vad som händer i databasen, utan även för att förhindra att skadlig aktivitet inträffar?

Azure SQL Database har inbyggda funktioner som hjälper dig att spåra vad som händer i databasen. Den kan övervaka och varna dig om den identifierar skadlig aktivitet.

Azure SQL Database-granskning

Genom att aktivera granskning lagras åtgärder som inträffar på databasen för senare granskning, eller för att låta automatiserade verktyg analysera dem. Granskning används också för hantering av regelefterlevnad och för att förstå hur databasen används. Granskning krävs också om du vill använda Azures hotidentifiering i din Azure SQL-databas.

Du kan använda SQL-databasgranskning för att:

  • Upprätthålla en spårningslogg för valda händelser. Du kan definiera kategorier med databasåtgärder som ska granskas.
  • Rapportera om databasaktivitet. Du kan använda förkonfigurerade rapporter och en instrumentpanel för att snabbt komma igång med aktivitets- och händelserapportering.
  • Analysera rapporter. Du kan hitta misstänkta händelser, ovanliga aktiviteter och trender.

Granskningsloggar skrivs till Tilläggsblobbar i ett Azure Blob Storage-konto som du anger. Granskningsprinciper kan tillämpas på servernivå eller databasnivå. När du är aktiverad kan du använda Azure-portalen för att visa loggarna eller skicka dem till Log Analytics eller Event Hubs för vidare bearbetning och analys.

Granskning i praktiken

För bästa praxis bör du undvika att aktivera både serverblobgranskning och databasblobgranskning tillsammans, såvida inte:

  • Du vill använda ett annat lagringskonto eller en kvarhållningsperiod för en viss databas.
  • Du vill granska händelsetyper eller -kategorier för en specifik databas som skiljer sig från resten av databaserna på servern. Du kan till exempel ha tabellinfogningar som behöver granskas, men endast för en specifik databas.

Annars rekommenderar vi att du endast aktiverar blobgranskning på servernivå och låter granskning på databasnivå vara inaktiverad för alla databaser.

Följ de här stegen för att konfigurera granskning i systemet.

  1. Logga in på Azure-portalen med samma konto som du använde när du aktiverade sandbox-miljön.

  2. I sökfältet överst i portalen söker du efter servern och väljer sedan servern i portalen. Ersätt NNNNNN med numret från servernamnet.

  3. I det vänstra menyfönstret går du till Säkerhet och väljer Granskning.

  4. Granskning är inaktiverat som standard. Aktivera den på databasservern genom att växla Aktivera Azure AQL-granskning till .

  5. När knappen PÅ har valts markerar du kryssrutan Lagring .

  6. Välj din prenumeration.

  7. Du kan välja ett befintligt lagringskonto eller skapa ett nytt lagringskonto för att lagra dina granskningar. Lagringskontot måste konfigureras till att använda samma region som din server.

    I det här fallet definierar du ett nytt lagringskonto. Under Lagringskonto väljer du Skapa ny. Fönstret Skapa lagringskonto visas. Namnge granskning av servernamn>för lagringskontot <och ersätt <servernamn> med ditt logiska servernamn.

  8. Låt resten av alternativen vara som standard och välj OK. Gå tillbaka till fönstret Lagringsinställningar , lämna standardvärdena och välj OK.

  9. Välj Spara för att spara ändringarna och aktivera granskning på databasservern.

Generera nu några granskningsposter och ta en titt på vad du kan förvänta dig.

  1. Logga in på databasen igen som ApplicationUser-användare .

    sqlcmd -S tcp:[server-name].database.windows.net,1433 -d marketplaceDb -U 'ApplicationUser' -P '[password]' -N -l 30
    
  2. Kör följande fråga.

    SELECT FirstName, LastName, EmailAddress, Phone FROM SalesLT.Customer;
    GO
    
  3. Tillbaka i Azure-portalen går du till SQL-servern, väljer SQL-databaser i det vänstra menyfönstret och väljer marketplace-databasen .

  4. I det vänstra menyfönstret i marketplace-databasen går du till Säkerhet och väljer Granskning.

  5. Eftersom du har aktiverat granskning på servernivå bör du se att den är aktiverad här. Välj Visa granskningsloggar på den övre menyraden för att visa loggarna.

  6. Du bör se en eller flera granskningsposter med PRINCIPAL NAME (huvudnamn) ApplicationUser och EVENT TYPE (händelsetyp) BATCH COMPLETED (batchen har slutförts). En av dem bör innehålla information om den fråga som du körde. Du kan även se andra händelser som misslyckad och lyckad autentisering. Välj en post så visas den fullständiga informationen om händelsen.

Skärmbild som visar en exempelhändelse i granskningsloggen.

De här åtgärderna konfigurerar granskningar på databasens servernivå. Granskningarna gäller för alla databaser på servern. Du kan också konfigurera granskning på databasnivå.

Ta en titt på en annan funktion som använder dessa loggar för att öka säkerheten för databasen.

Advanced Data Security för Azure SQL Database

Advanced Data Security (ADS) ger en uppsättning avancerade SQL-säkerhetsfunktioner såsom dataidentifiering och -klassificering, säkerhetsutvärdering och Advanced Threat Protection.

  • Dataidentifiering och -klassificering (för närvarande i förhandsversion) innehåller funktioner inbyggda i Azure SQL Database för identifiering, klassificering, etikettering och skydd av känsliga data i dina databaser. Det kan användas för att ge insyn i tillståndet för din databasklassificering samt för att spåra åtkomst till känsliga data i och utanför databasen.
  • Sårbarhetsbedömning är en tjänst som är enkel att konfigurera och som kan identifiera, spåra och hjälpa dig att åtgärda eventuella säkerhetsrisker i databasen. Den ger inblick i ditt säkerhetstillstånd och inkluderar lämpliga åtgärder för att lösa säkerhetsproblem och förbättra databasens skydd.
  • Advanced Threat Protection identifierar avvikande aktiviteter som indikerar ovanliga och potentiellt skadliga försök att komma åt eller utnyttja din databas. Den övervakar kontinuerligt databasen efter misstänkta aktiviteter och ger omedelbara säkerhetsaviseringar om potentiella säkerhetsproblem, SQL-inmatningsattacker samt avvikande åtkomstmönster i databasen. Advanced Threat Protection-aviseringar ger detaljerad information om misstänkt aktivitet och rekommenderar åtgärder för att undersöka och minska risken.

Inställningar och konfiguration

Aktivera ADS i databasen. ADS är en inställning på servernivå, så börja där.

  1. Gå tillbaka till DIN SQL-server i Azure-portalen. I sökfältet överst på sidan söker du efter _<server-name> och väljer sedan servern.

  2. I det vänstra menyfönstret, under Säkerhet, väljer du Microsoft Defender för molnet.

  3. Välj Aktivera Microsoft Defender för SQL.

  4. Välj Konfigurera bredvid meddelandet Aktiverad på prenumerationsnivå. Fönstret Serverinställningar visas.

  5. Periodiska återkommande genomsökningar är aktiverade som standard. När en veckovis genomsökning utlöses skickas en sammanfattning av genomsökningsresultatet till den e-postadress som du anger. I det här fallet inaktiverar du detta. Skicka även e-postmeddelande till administratörer och prenumerationsägare är aktiverat som standard för att skicka hoten till tjänstadministratörerna. Välj Spara längst upp för att spara inställningarna.

  6. Under Inställningar för Avancerat skydd väljer du Lägg till dina kontaktuppgifter... för att öppna fönstret E-postaviseringar för Defender för molnet. Här kan du välja att definiera var e-postmeddelanden för meddelanden levereras för både sårbarhetsbedömningen och Advanced Threat Protection som en lista över semikolonavgränsade e-postadresser. Skicka även e-postmeddelande till administratörer och prenumerationsägare är aktiverat som standard för att skicka hoten till tjänstadministratörerna.

  7. Du kan också välja Aktivera granskning.... för att aktivera Azure SQL-granskning.

  8. Välj Spara för att införa ändringarna.

Du får e-postaviseringar när sårbarheter identifieras. E-postmeddelandet beskriver vad som hände och vilka åtgärder som ska utföras.

Skärmbild som visar ett exempel på en aviseringsvarning från Microsoft Defender för molnet.

Dataidentifiering och -klassificering

  1. Gå till din Marketplace-databas. I sökfältet överst i Azure-portalen söker du efter Marketplace och väljer sedan databasen.

  2. I det vänstra menyfönstret, under Säkerhet, väljer du Dataidentifiering och klassificering.

Fliken Klassificering visar kolumner i dina tabeller som måste skyddas. Vissa av kolumnerna kan ha känslig information eller anses klassificerade i olika länder eller regioner.

Skärmbild som visar fliken Klassificering i fönstret Dataidentifiering och klassificering.

Ett meddelande visas om några kolumner behöver konfigurerat skydd. Det här meddelandet är formaterat som 15 kolumner med klassificeringsrekommendationer. Du kan välja texten för att visa rekommendationerna.

Markera de kolumner som du vill klassificera genom att markera bockmarkeringen bredvid kolumnen eller markera kryssrutan till vänster om schemarubriken. Välj knappen Acceptera valda rekommendationer för att tillämpa klassificeringsrekommendationerna.

Redigera sedan kolumnerna och definiera sedan informationstypen och känslighetsetiketten för databasen. Välj Spara för att spara ändringarna.

Inga aktiva rekommendationer bör visas när du har hanterat rekommendationerna.

Säkerhetsrisker

I det vänstra menyfönstret, under Säkerhet, väljer du Microsoft Defender för molnet.

I avsnittet Rekommendationer visas konfigurationsproblem för databasen och den associerade risken.

Välj en rekommendation. I rekommendationsfönstret visas information, till exempel risknivån, vilken databas den gäller för, en beskrivning av säkerhetsrisken och den rekommenderade reparationen för att åtgärda problemet. Tillämpa en reparation för att åtgärda problemen. Var noga med att åtgärda alla säkerhetsrisker.

Säkerhetsincidenter och aviseringar

I det här avsnittet visas en lista över identifierade hot.

Hantera problem genom att följa rekommendationerna. För problem som SQL-inmatningsvarningar kan du titta på frågan och arbeta bakåt till den plats där frågan körs i kod. När du har hittat den bör du skriva om koden så att den inte längre har problemet.