Integratiehandleiding voor Microsoft SQL Server
Overzicht
Deze handleiding beschrijft hoe u de CBOM Secure Discover_DB-sensor configureert om cryptografische assets te detecteren die worden beheerd door Microsoft SQL Server's Transparent Data Encryption (TDE). De sensor maakt verbinding met een alleen-lezen-login en voert alleen-lezen-query's uit op systeemcatalogusweergaven:
- Database-encryptiesleutels (DEK's) via sys.dm_database_encryption_keys
- Servercertificaten die DEK's beschermen via sys.certificates
- Asymmetrische sleutels (RSA/ECC) gebruikt voor DEK-bescherming via sys.asymmetric_keys
- Symmetrische sleutels op server- of databaseniveau via sys.symmetric_keys
Voor elk bestand worden de naam, het algoritme, de vingerafdruk, de sleutellengte en de aanmaak-/vervaldatum vastgelegd. Het decodeert nooit gegevens, exporteert geen sleutelmateriaal en voert geen schrijfbewerkingen uit.
Voorwaarden
- SQL Server 2008 of later (elke editie die TDE ondersteunt); 2019+ wordt aanbevolen voor volledige catalogusdekking.
- Netwerktoegang van de sensorhost naar de instantie via TCP-poort 1433 (of de aangepaste poort).
- SQL Server-verificatie (gemengde modus) of een toegewezen Windows-aanmelding als u Windows-verificatie gebruikt.
- sysadmin- of securityadmin-rechten zijn vereist om de login aan te maken en machtigingen te verlenen.
- CBOM-beheerdersrechten zijn vereist om een ​​Discover_DB-sensor aan te maken.
- Ten minste één TDE-compatibele database is vereist voor zinvolle DEK-resultaten (certificaten/sleutels worden hoe dan ook opgesomd).
Stapsgewijze handleiding
Stap 1: Maak een alleen-lezen account aan.
Maak een aparte login aan in de masterdatabase (gebruik geen applicatie- of beheerdersaccounts opnieuw):
USE master; GO CREATE LOGIN cbom_reader WITH PASSWORD = 'R3pl@ceW1thStr0ngP@ssword!', DEFAULT_DATABASE = master, CHECK_EXPIRATION = ON, CHECK_POLICY = ON; GO
Stap 2: Verleen de drie benodigde servermachtigingen.
Er zijn alleen leesrechten op serverniveau nodig, geen databaserollen of toegang tot gegevenslezen:
USE master; GO GRANT VIEW SERVER STATE TO cbom_reader; -- sys.dm_database_encryption_keys en DMV's GRANT VIEW ANY DEFINITION TO cbom_reader; -- sys.certificates, sys.asymmetric_keys, sys.symmetric_keys GRANT VIEW ANY DATABASE TO cbom_reader; -- databases en encryptiestatus opsommen GO
Controleer dit met een query op sys.server_permissions in combinatie met sys.server_principals; verwacht GRANT-rijen voor alle drie de machtigingen.
Stap 3: Controleer de toegang tot de catalogusweergave
Verbonden als cbom_reader, bevestig dat elke vereiste weergave resultaten (of een lege set) retourneert zonder toestemmingsfouten:
SELECT name, subject, thumbprint, algorithm_desc, expiry_date FROM sys.certificates; SELECT name, algorithm_desc, thumbprint FROM sys.asymmetric_keys; SELECT DB_NAME(database_id) AS database_name, encryption_state, encryptor_type, key_algorithm, key_length FROM sys.dm_database_encryption_keys; SELECT name, algorithm_desc, key_length, create_date FROM sys.symmetric_keys;
Stap 4: Configureer de CBOM Secure Sensor
Sensoren: - naam: mssql-tde-prod type: Discover_DB ingeschakeld: true schema: "0 2 * * *" verbinding: driver: mssql host: "sql-prod-01.corp.example.com" poort: 1433 database: master # catalogusquery's op serverniveau gebruikersnaam: "cbom_reader" wachtwoord: "${CBOM_MSSQL_PASSWORD}" versleutelen: true # TLS afdwingen trust_server_certificate: false discovery: catalogi: [sys.certificates, sys.asymmetric_keys, sys.dm_database_encryption_keys, sys.symmetric_keys] include_system_databases: false output: asset_types: [certificate, asymmetric_key, symmetric_key, tde_dek] tags: { omgeving: productie, data_classificatie: vertrouwelijk } meldingen: on_expiring_cert_days: 30
Bewaar het wachtwoord waarnaar wordt verwezen door ${CBOM_MSSQL_PASSWORD} in een geheimenbeheerder; programmeer het nooit hard.
Stap 5: Valideren
cbom sensor run --name mssql-tde-prod
Controleer of de run verbinding maakt en het aantal gevonden certificaten/asymmetrische sleutels/DEK's/symmetrische sleutels rapporteert. Controleer in de CBOM-inventaris, gefilterd op bron = mssql-tde-prod, of de certificaten en TDE-databaseversleutelingssleutels worden weergegeven met ingevulde vingerafdruk, algoritme, vervaldatum en onderwerp. Als SQL-auditing is ingeschakeld, controleer dan of cbom_reader alleen SELECT-query's heeft uitgevoerd op catalogusweergaven.
Veel voorkomende fouten
Aanmelden voor gebruiker 'cbom_reader' is mislukt.
Oorzaak: De aanmelding ontbreekt/is uitgeschakeld, het wachtwoord is onjuist of het apparaat bevindt zich in de modus 'alleen Windows-verificatie'.
Oplossing: Schakel de gemengde modus in (en herstart de service), controleer of de aanmelding niet is uitgeschakeld en reset het wachtwoord indien nodig met ALTER LOGIN.
De gebruiker heeft geen toestemming om deze actie uit te voeren.
Oorzaak: Een van de machtigingen VIEW SERVER STATE / VIEW ANY DEFINITION / VIEW ANY DATABASE is niet verleend of ingetrokken.
Oplossing: Voer de verificatiequery voor machtigingen opnieuw uit en verleen de ontbrekende machtigingen opnieuw.
SSL-provider – certificaatketen niet vertrouwd
Oorzaak: trust_server_certificate is onwaar, maar het SQL Server TLS-certificaat is zelfondertekend of afkomstig van een niet-vertrouwde CA.
Oplossing: Installeer de SQL Server CA in de vertrouwensarchief van de sensorhost (aanbevolen) of vraag een certificaat aan bij een vertrouwde CA. Gebruik trust_server_certificate: true alleen als tijdelijke, niet-productiegerichte oplossing.
Beveiligingsaanbevelingen
- Geef de gebruiker alleen de drie vermelde machtigingen, nooit de rollen sysadmin, db_owner of data-access.
- Wijzig het wachtwoord volgens een vast schema (CHECK_EXPIRATION = ON) en bewaar het in een geheimenbeheerder.
- Encryptie afdwingen: true en servercertificaat vertrouwen: false; stel Versleuteling afdwingen in op Ja op de server.
- Schakel SQL Server-auditing in voor cbom_reader om alleen-lezen SELECT-query's op catalogusweergaven vast te leggen.
- Beperk inkomend TCP/1433-verkeer tot het IP-adres van de sensorhost via een firewall of netwerkbeveiligingsgroepen.
Conclusie
Met een cbom_reader-login met minimale privileges en drie leesrechten op serverniveau biedt de Discover_DB-sensor CBOM Secure continue, alleen-lezen inzage in SQL Server TDE-certificaten, asymmetrische sleutels, symmetrische sleutels en database-encryptiesleutels, zonder beschermde gegevens bloot te leggen of te decoderen, en met meldingen over vervaldatums, tijdig inzicht in gebeurtenissen in de levenscyclus van certificaten.
