sql >> Database teknologi >  >> RDS >> Sqlserver

Forståelse af SQL Server Lockdown til Secure Database Environment

Sikkerhed er den største bekymring i disse dage i alle sektorer. Databasesikkerhed er også en stor bekymring for enhver kunde. SQL Server er designet til at sikre alle dine data, der er gemt i databaserne, men nogle gange undlader vi at anvende det rigtige sæt af konfigurationer og efterlader et hul i vores system. Hackere og uautoriserede aliens kan bruge disse smuthuller til at trænge ind i dit system. Dine data kan blive kompromitteret eller udskældt, dine systemressourcer kan slettes for at skabe et afbrydelse for at stoppe dine forretningsaktiviteter, dine kunders data kan blive eksponeret for konkurrenter osv.

SQL-serverlåsning eller -hærdning

Hele processen for at sikre dit databasemiljø er kendt som en database \ SQL Server lockdown. Jeg vil beskrive forskellige parametre og konfigurationsdetaljer, som du kan anvende for at sikre dit databasemiljø.

Installer kun påkrævede komponenter

Lad os starte lockdown-praksis med SQL Server-installationen. SQL Server tilbyder forskellige komponenter og funktioner, som DBA'er vælger til forskellige krav. Nogle af disse komponenter og funktioner er angivet nedenfor:

  1. Databasemotor
  2. Rapporteringstjenester
  3. Integrationstjenester
  4. Analysis Services Engine
  5. Underretningstjenester
  6. Dokumentation og prøver (eksempel på databaser og koder)
  7. Fuld tekstsøgning
  8. Andre funktioner såsom replikering, maskinlæringstjenester, datakvalitetstjenester osv.

Det er en god praksis kun at installere nødvendige funktioner, fordi du ved at gøre det reducerer eller begrænser mulighederne for overfladeangreb. Derudover vil du have en lav systemressourceudnyttelse.

Installer seneste opdateringer

Sørg for at opdatere dine systemer til tiden. Hvis der opdages nye sårbarheder, offentliggøres det i sikkerhedsbulletiner af dine produktleverandører.

Jeg taler ikke om kun at opdatere SQL Server-patches, men alt, hvad der kører på dit system fra operativsystemet til enhver anden applikation, der er installeret på din maskine. Anvend altid patches for at holde din software opdateret for at forhindre eksterne trusler eller angreb.

Brug Windows-godkendelsestilstand

Vælg altid Windows-godkendelsestilstand for brugerforbindelser, hvis du ikke har nogen afhængigheder til at bruge SQL Server-godkendelsestilstanden. Det er mere sikkert og autentificerer Windows-login med Windows Active directory under hvert loginforsøg. SQL Server har to typer godkendelsestilstande.

  • Windows-godkendelse
  • Blandet tilstand (Windows + SQL Server)

Windows-godkendelsestilstand: Dette er en standardgodkendelsestilstand for SQL Server. Windows-godkendelsestilstand udnytter lokale konti, aktive mappebrugerkonti og grupper, når der gives adgang til SQL Server. I denne tilstand kan du som databaseadministrator give domæne- eller lokale serverbrugere adgang til databaseserveren uden at oprette og administrere en separat SQL Server-konto.

Blandet tilstand: Blandet godkendelsestilstand har begge muligheder. Du kan bruge Windows-baseret godkendelse såvel som SQL Server-login-baserede godkendelser. SQL Server-godkendelsesmekanisme er baseret på konti, der administreres inde i SQL Server, inklusive adgangskodepolitikken. Blandet godkendelse kan være påkrævet, hvis du har nogle afhængigheder til at understøtte ældre applikationer.

Du kan følge nedenstående trin for at vælge eller ændre servergodkendelsestilstanden:

  1. Start SQL Server Management Studio, og opret forbindelse til din SQL Server-målforekomst.
  2. I SQL Server Management Studio skal du højreklikke på SQL Server-forekomsten og derefter klikke på Egenskaber .
  3. Klik på Sikkerhed side i venstre rude, kan du se begge godkendelsesmuligheder i højre rude under Servergodkendelse afsnit. Hvis du vil sikre din instans, skal du sørge for at skifte til Windows-godkendelsestilstand. Du skal blot klikke på alternativknappen i Windows-godkendelsestilstanden og derefter klikke på OK for at anvende ændringerne.
  1. Klik på OK i dialogboksen SQL Server Management Studio for at anerkende behovet for at genstarte SQL Server.

Windows-godkendelsestilstand er et mere sikkert valg. Men hvis blandet-mode-godkendelse er påkrævet, bør du give komplekse adgangskoder til SQL Server-logins og anvende sikkerheds-\lockout-politikker for bedre sikkerhed. Det anbefales også at deaktivere SQL Server sa-konto, hvis du bruger blandet godkendelsestilstand. Jeg vil diskutere dette i næste afsnit.

Omdøb/deaktiver sa-kontoen

Login sa oprettes som standard under installation af SQL Server, så dette kan være en af ​​de potentielle årsager til, at angribere hacker eller tager kontrol over denne konto. Husk, at dette login har systemadministrationsrettigheder, så alle, der har adgang til denne konto, kan administrere dine databaser og SQL Server-instanser.

Du skal køre nedenstående kommando for at deaktivere sa-kontoen.

--Disable sa login
USE MASTER
GO
ALTER LOGIN sa DISABLE;
GO

Du kan se dens udførelse i nedenstående figur.

Før du omdøber eller deaktiverer sa-kontoen, skal du kontrollere, at der findes en anden konto med administrative rettigheder på SQL Server-instansen.

Skift standard SQL Server-porte

Vi ved alle, at SQL Server bruger port 1433 til enhver klientanmodning og kommunikation. Da denne konfiguration er i det offentlige domæne, kan hackere målrette denne konfiguration for at oprette forbindelse til din SQL Server-instans.

Du kan ændre SQL Server-porten ved at følge nedenstående trin.

  1. Log ind på din målmaskine, hvor SQL Server er installeret.
  2. Start Server Configuration Manager værktøj.
  3. Udvid SQL Server Network Configuration node fra ruden til venstre, og vælg Protokoller for at SQL Server-forekomsten skal konfigureres.
  4. I højre rude skal du højreklikke på protokolnavnet TCP/IP og vælg Egenskaber .
  5. I TCP/IP-egenskaber dialogboksen skal du vælge IP-adresser fanen. Der er en tilsvarende indgang for hver IP-adresse, der er tildelt serveren.
  6. Ryd værdierne for begge TCP Dynamic Ports og TCP-port for hver IP-adresse undtagen IP-adresserne under IPAll .
  7. I IPAll sektion for hver forekomst skal du indtaste en ny port, som du vil have SQL Server til at lytte på.
  8. Klik på Anvend, og genstart SQL Server Services.

Deaktiver SQL Browser Service

SQL Server Browser-tjenester installeres med SQL Server-instansinstallationen. Denne service omdirigerer din forbindelse til den port, som SQL Server kører på. Hvis denne service kører, vil det være et skridt nemmere for angribere, fordi det giver dem mulighed for at oprette forbindelse til SQL Server uden at videregive dens portnummer. Så det er bedre at deaktivere denne tjeneste efter at have ændret porten.

Deaktiver xp_cmdshell Option

SQL Server tilbyder en udvidet lagret procedure xp_cmdshell til at køre og udføre operativsystemkommandoer fra SQL Server. Det bør være deaktiveret for at forhindre enhver sikkerhedsrisiko. Du kan finde denne udvidede lagrede procedure i serverniveaukonfigurationer eller ved at køre sp_configure T-SQL lagret procedure. Du kan køre nedenstående T-SQL-sætninger for at deaktivere denne konfiguration.

-- Enable advanced options to display configure xp_cmdshell
sp_configure 'show advanced options', '1'
RECONFIGURE

-- Disable xp_cmdshell
sp_configure 'xp_cmdshell', '0' 
RECONFIGURE
GO

Brug datakryptering eller maskering

SQL Server tilbyder forskellige krypteringsmetoder til at beskytte dine data. Kryptering anbefales, hvis dine brugere tilgår data over det offentlige netværk. SQL Server har flere muligheder for at implementere det rigtige sæt af krypteringer i betragtning af din virksomheds behov. Dette er listen over krypterings- eller datamaskeringsmuligheder, vi kan bruge til at sikre vores data:

  • TDE (Transparent Data Encryption)
  • Sikre data ved hjælp af krypteringsnøgler
  • Kryptér altid
  • Dynamisk datamaskering

Fjern BUILTIN\Administrators fra SQL Server

Vi bør altid fjerne BUILTIN\Administrators-kontoen fra SQL Server-forekomsten for at begrænse uønsket adgang til databaseforekomsten. Den bedste måde er at give brugerne adgang til SQL Server individuelt. Du kan også tilføje en gruppe personer i Windows-gruppen og give dem adgang til SQL Server. Du kan bruge nedenstående T-SQL-sætning til at slette dette login fra SQL Server-instansen.

Du kan også droppe dette login ved hjælp af GUI gennem SQL Server Management Studio. Du skal bare oprette forbindelse til din SQL Server-instans og derefter udvide sikkerhedsmappen på instansniveau. Her kan du højreklikke på dette login for at fjerne det fra SQL Server-forekomsten.

--DROP Login
DROP LOGIN [BUILTIN\Administrators]

Stærke adgangskoder og tilstrækkelige brugerrettigheder

Tildel altid passende rettigheder til hver bruger, de skal være minimale, når de tager deres rolle i betragtning, mens de får adgang til databaserne. Vi bør heller aldrig bruge svage adgangskoder til noget login eller det samme login og kodeord. Brug altid adgangskodepolitikken til ethvert SQL-login.

Konfigurer SQL Server Login Auditing

SQL Server har leveret en revisionsfunktion til at fange detaljer om alle mislykkede og vellykkede logins. Dette er en meget nyttig konfiguration, hvis du vil kontrollere, hvem der forbinder eller forsøger at oprette forbindelse til dine databaser. Vi kan konfigurere SQL Server-advarslen, som sender e-mailbeskeder ved hvert mislykket og vellykket login til SQL Server. Du kan følge nedenstående trin for at aktivere login-revision.

  • Opret forbindelse til din mål-SQL Server-instans i SQL Server Management Studio
  • Højreklik på SQL Server-forekomstens navn, og klik derefter på Egenskaber .
  • Klik på Sikkerhed fanen i venstre rude. Du får Login-revision i ruden til højre, som det blev vist i det første skærmbillede af denne artikel
  • Vælg den ønskede indstilling, og luk Serveregenskaber side
  • Genstart SQL Server-tjenesten for at anvende denne ændring

Fjern ubrugte SQL Server-logins

Hold altid øje med dine SQL Server-logins. Du bør være opmærksom på at fjerne alle login-konti, som ikke længere er i brug. Jeg ved, at det er svært at administrere manuelt, men du kan konfigurere en e-mail-alarm til at sende en e-mail om alle SQL Server-login og deres privilegier.

Konklusion

Jeg har forklaret nogle af de mulige konfigurationer, som vi kan anvende for at sikre vores databaser mod eksterne trusler. Overvej alle ovenstående punkter, mens du implementerer databasehærdningspolitikkerne til miljøet.

Del venligst denne artikel og giv din feedback i kommentarfeltet, så vi kan forbedre os.


  1. Basering af databasemodeller i virkeligheden:En bloggers udfordring

  2. Brug MySQL Relational Databases på Ubuntu 9.10 (Karmic)

  3. En oversigt over streamingreplikering til TimescaleDB

  4. Sådan konverterer du rækker til kolonne i Oracle-tabellen