Guide för integration med Microsoft SQL Server

Översikt

Den här guiden konfigurerar CBOM Secure Discover_DB-sensorn för att upptäcka kryptografiska tillgångar som hanteras av Microsoft SQL Servers Transparent Data Encryption (TDE). Sensorn ansluter till en skrivskyddad inloggning och frågar systemkatalogvyer, skrivskyddat:

  • Databaskrypteringsnycklar (DEK) via sys.dm_database_encryption_keys
  • Servernivåcertifikat som skyddar DEK:er via sys.certificates
  • Asymmetriska nycklar (RSA/ECC) som används för DEK-skydd via sys.asymmetric_keys
  • Symmetriska nycklar på server- eller databasområdet via sys.symmetric_keys

För varje tillgång registreras namn, algoritm, tumavtryck, nyckellängd och skapande-/utgångsdatum. Den dekrypterar aldrig data, exporterar nyckelmaterial eller utför skrivningar.

Förutsättningar

  1. SQL Server 2008 eller senare (alla utgåvor som stöder TDE); 2019+ rekommenderas för fullständig katalogtäckning.
  2. Nätverksåtkomst från sensorvärden till instansen på TCP 1433 (eller den anpassade porten).
  3. SQL Server-autentisering (blandat läge) eller en mappad Windows-inloggning om Windows-autentisering används.
  4. sysadmin- eller securityadmin-rättigheter för att skapa inloggningen och bevilja behörigheter.
  5. CBOM-administratörsåtkomst för att skapa en Discover_DB-sensor.
  6. Minst en TDE-aktiverad databas för meningsfulla DEK-resultat (certifikat/nycklar räknas upp oavsett).

Steg-för-steg-guide

Steg 1: Skapa en skrivskyddad inloggning

Skapa en dedikerad inloggning i huvuddatabasen (återanvänd inte program- eller administratörskonton):

ANVÄND master; GÅ SKAPA LOGGA IN cbom_reader MED LÖSENORD = 'R3pl@ceW1thStr0ngP@ssword!', DEFAULT_DATABASE = master, CHECK_EXPIRATION = PÅ, CHECK_POLICY = PÅ; GÅ

Steg 2: Bevilja de tre nödvändiga serverbehörigheterna

Endast läsbehörigheter på servernivå behövs, inga databasroller eller dataläsningsåtkomst:

ANVÄND master; GO BEVILJ VISA SERVERSTATUS TILL cbom_reader; -- sys.dm_database_encryption_keys och DMV:er BEVILJ VISA VALFRI DEFINITION TILL cbom_reader; -- sys.certificates, sys.asymmetric_keys, sys.symmetric_keys BEVILJ VISA VALFRI DATABAS TILL cbom_reader; -- räkna upp databaser och krypteringsstatus GO

Verifiera med en fråga mot sys.server_permissions som är kopplade till sys.server_principals, förvänta dig GRANT-rader för alla tre behörigheter.

Steg 3: Verifiera åtkomst till katalogvy

Ansluten som cbom_reader, bekräfta att varje obligatorisk vy returnerar resultat (eller en tom uppsättning) utan behörighetsfel:

SELECT namn, ämne, tumavtryck, algoritm_beskrivning, utgångsdatum FRÅN sys.certifikat; SELECT namn, algoritm_beskrivning, tumavtryck FRÅN sys.asymmetric_nycklar; SELECT DB_NAMN(databas-id) AS databasnamn, krypteringsstatus, krypterartyp, nyckelalgoritm, nyckellängd FRÅN sys.dm_databaskrypteringsnycklar; SELECT namn, algoritm_beskrivning, nyckellängd, skapa_datum FRÅN sys.symmetriska_nycklar;

Steg 4: Konfigurera CBOM Secure Sensor

sensorer: - namn: mssql-tde-prod typ: Discover_DB aktiverad: sant schema: "0 2 * * *" anslutning: drivrutin: mssql värd: "sql-prod-01.corp.example.com" port: 1433 databas: master # server-scope katalogfrågor användarnamn: "cbom_reader" lösenord: "${CBOM_MSSQL_PASSWORD}" encrypt: sant # enforce TLS trust_server_certificate: false discovery: kataloger: [sys.certificates, sys.asymmetric_keys, sys.dm_database_encryption_keys, sys.symmetric_keys] include_system_databases: false output: asset_types: [certifikat, asymmetric_key, symmetric_key, tde_dek] taggar: { miljö: produktion, data_klassificering: konfidentiell } meddelanden: on_expiring_cert_days: 30

Lagra lösenordet som refereras av ${CBOM_MSSQL_PASSWORD} i en hemlighetshanterare; hårdkoda det aldrig.

Steg 5: Validera

cbom-sensorkörning --namn mssql-tde-prod

Bekräfta att körningen ansluter och rapporterar upptäckta antal certifikat/asymmetrisk nyckel/DEK/symmetrisk nyckel. I CBOM-inventeringen filtrerad efter source = mssql-tde-prod, verifiera att certifikat och TDE-databaskrypteringsnycklar visas med tumavtryck, algoritm, utgångsdatum och ämne ifyllda. Om SQL-granskning är aktiverad, bekräfta att cbom_reader endast utfärdade SELECT:er mot katalogvyer.

Vanliga fel

Inloggning misslyckades för användaren 'cbom_reader'

Orsak: Inloggningen saknas/är inaktiverad, lösenordet är felaktigt eller så är instansen i läge Endast Windows-autentisering.

Lösning: Aktivera blandat läge (och starta om tjänsten), bekräfta att inloggningen inte är inaktiverad och återställ lösenordet med ÄNDRA INLOGGNING om det behövs.

Användaren har inte behörighet att utföra den här åtgärden

Orsak: En av VIEW SERVER STATE / VIEW ANY DEFINITION / VIEW ANY DATABASE beviljades inte eller återkallades.

Lösning: Kör behörighetsverifieringsfrågan igen och bevilja eventuella saknade behörigheter igen.

SSL-leverantör – certifikatkedjan är inte betrodd

Orsak: trust_server_certificate är falskt men SQL Server TLS-certifikatet är självsignerat eller kommer från en opålitlig certifikatutfärdare.

Lösning: Installera SQL Server CA i sensorvärdens förtroendearkiv (föredras) eller utfärda ett certifikat från en betrodd CA. Använd endast trust_server_certificate: true som en tillfällig lösning som inte är i produktion.

Säkerhetsrekommendationer

  • Ge endast de tre listade behörigheterna för inloggningen, aldrig rollerna sysadmin, db_owner eller dataåtkomst.
  • Rotera lösenordet enligt schema (CHECK_EXPIRATION = ON) och lagra det i en hemlighetshanterare.
  • Framtvinga kryptering: sant och trust_server_certificate: falskt; sätt Framtvingad kryptering = Ja på servern.
  • Aktivera SQL Server-granskning för cbom_reader för att registrera skrivskyddade SELECT:er mot katalogvyer.
  • Begränsa inkommande TCP/1433 till sensorvärdens IP-adress via brandvägg eller nätverkssäkerhetsgrupper.

Slutsats

Med en cbom_reader-inloggning med lägsta behörighet och tre läsbehörigheter på servernivå ger Discover_DB-sensorn CBOM Secure kontinuerlig, skrivskyddad insyn i SQL Server TDE-certifikat, asymmetriska nycklar, symmetriska nycklar och databaskrypteringsnycklar, utan att exponera eller dekryptera skyddade data, och, med utgångsmeddelanden, snabb medvetenhet om händelser i certifikatets livscykel.