Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Разбиране на заключването на SQL Server за защитена среда на база данни

Сигурността е основна грижа в наши дни във всеки сектор. Сигурността на базата данни също е основна грижа за всеки клиент. SQL Server е проектиран да защити всички ваши данни, съхранявани в базите данни, но понякога не успяваме да приложим правилния набор от конфигурации и оставяме дупка в нашата система. Хакери и неоторизирани извънземни могат да използват тези вратички, за да проникнат във вашата система. Вашите данни могат да бъдат компрометирани или злонамерени, системните ви ресурси могат да бъдат изтрити, за да се създаде прекъсване за спиране на бизнес дейностите ви, данните на клиентите ви може да бъдат изложени на конкуренти и т.н.

Заключване или втвърдяване на SQL сървър

Целият процес за защита на вашата среда на база данни е известен като блокиране на база данни \ SQL Server. Ще опиша различни параметри и подробности за конфигурацията, които можете да приложите, за да защитите средата на вашата база данни.

Инсталирайте само задължителните компоненти

Нека започнем практики за блокиране с инсталацията на SQL Server. SQL Server предлага различни компоненти и функции, които DBA избират за различни изисквания. Някои от тези компоненти и функции са дадени по-долу:

  1. Механизъм за бази данни
  2. Услуги за отчитане
  3. Услуги за интеграция
  4. Analysis Services Engine
  5. Услуги за уведомяване
  6. Документация и образци (Примерни бази данни и кодове)
  7. Пълнотекстово търсене
  8. Други функции като репликация, услуги за машинно обучение, услуги за качество на данните и др.

Добра практика е да инсталирате само необходимите функции, защото по този начин намалявате или ограничавате възможностите за повърхностна атака. Освен това ще имате ниско използване на системните ресурси.

Инсталирайте най-новите актуализации

Уверете се, че актуализирате системите си навреме. Ако бъдат открити нови уязвимости, те се публикуват в бюлетини за сигурност от доставчиците на вашите продукти.

Не говоря за актуализиране само на корекции на SQL Server, а за всичко, което се изпълнява на вашата система, като се започне от операционната система до всяко друго приложение, което е инсталирано на вашата машина. Винаги прилагайте корекции, за да поддържате софтуера си актуален, за да предотвратите всякакви външни заплахи или атаки.

Използвайте режим на удостоверяване на Windows

Винаги избирайте режим на удостоверяване на Windows за потребителски връзки, ако нямате зависимости за използване на режима за удостоверяване на SQL Server. Той е по-сигурен и удостоверява влизането в Windows с Windows Active директория по време на всеки опит за влизане. SQL Server има два типа режими на удостоверяване.

  • Удостоверяване на Windows
  • Смесен режим (Windows + SQL Server)

Режим за удостоверяване на Windows: Това е режим на удостоверяване по подразбиране за SQL Server. Режимът за удостоверяване на Windows използва локални акаунти, потребителски акаунти в активна директория и групи при предоставяне на достъп до SQL Server. В този режим вие като администратор на база данни можете да предоставите на потребителите на домейн или локален сървър достъп до сървъра на базата данни, без да създавате и управлявате отделен акаунт в SQL Server.

Смесен режим: Режимът на смесено удостоверяване има и двете опции. Можете да използвате удостоверяване, базирано на Windows, както и удостоверяване, базирано на вход в SQL Server. Механизмът за удостоверяване на SQL Server се основава на акаунти, които се управляват вътре в SQL Server, включително политиката за пароли. Може да се наложи смесено удостоверяване, ако имате някои зависимости за поддръжка на наследени приложения.

Можете да следвате стъпките по-долу, за да изберете или промените режима на удостоверяване на сървъра:

  1. Стартирайте SQL Server Management Studio и се свържете с целевия си екземпляр на SQL Server.
  2. В SQL Server Management Studio щракнете с десния бутон върху екземпляра на SQL Server и след това щракнете върху Свойства .
  3. Щракнете върху Сигурност страница в левия панел, можете да видите и двете опции за удостоверяване в десния панел под Удостоверяване на сървъра раздел. Ако искате да защитите своя екземпляр, не забравяйте да превключите към режима за удостоверяване на Windows. Просто трябва да щракнете върху бутона за избор на режима за удостоверяване на Windows и след това да щракнете върху OK за да приложите промените.
  1. В диалоговия прозорец SQL Server Management Studio щракнете върху OK за да потвърдите необходимостта от рестартиране на SQL Server.

Режимът за удостоверяване на Windows е по-сигурен избор. Въпреки това, ако се изисква удостоверяване в смесен режим, трябва да предоставите сложни пароли за входовете на SQL Server и да приложите политики за сигурност\заключване за по-добра сигурност. Също така се препоръчва да деактивирате акаунта на SQL Server sa, ако използвате смесен режим на удостоверяване. Ще обсъдя това в следващия раздел.

Преименувайте/Деактивирайте sa акаунта

Login sa се създава по подразбиране при инсталиране на SQL Server, така че това може да бъде една от потенциалните причини нападателите да хакнат или да поемат контрола върху този акаунт. Не забравяйте, че това влизане има права за системно администриране, така че всеки, който има достъп до този акаунт, може да управлява вашите бази данни и екземпляри на SQL Server.

Трябва да изпълните командата по-долу, за да деактивирате sa акаунта.

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

Можете да видите изпълнението му на фигурата по-долу.

Преди да преименувате или деактивирате sa акаунта, проверете дали съществува друг акаунт с административни привилегии в екземпляра на SQL Server.

Промяна на портовете на SQL сървър по подразбиране

Всички знаем, че SQL Server използва порт 1433 за всякакви клиентски заявки и комуникации. Тъй като тази конфигурация е обществено достояние, хакерите могат да се насочат към тази конфигурация, за да се свържат с вашия екземпляр на SQL Server.

Можете да промените порта на SQL Server, като следвате стъпките по-долу.

  1. Влезте в целевата си машина, където е инсталиран SQL Server.
  2. Стартирайте Мениджъра за конфигурация на сървъра инструмент.
  3. Разгънете Мрежовата конфигурация на SQL сървър възел от левия панел и изберете Протоколи за да бъде конфигуриран екземплярът на SQL Server.
  4. В десния панел щракнете с десния бутон върху името на протокола TCP/IP и изберете Свойства .
  5. В Свойствата на TCP/IP диалогов прозорец, изберете IP адреси раздел. Има съответен запис за всеки IP адрес, присвоен на сървъра.
  6. Изчистете стойностите и за двата TCP динамични порта и TCP порт за всеки IP адрес с изключение на IP адресите под IPAll .
  7. В IPAll секция за всеки екземпляр, въведете нов порт, който искате да слуша SQL Server.
  8. Щракнете върху Прилагане и рестартирайте услугите на SQL Server.

Деактивирайте услугата на браузъра SQL

Услугите на браузъра на SQL Server се инсталират с инсталацията на екземпляр на SQL Server. Тази услуга пренасочва връзката ви към порта, на който работи SQL Server. Ако тази услуга работи, това ще бъде една стъпка по-лесно за нападателите, защото им позволява да се свържат със SQL Server, без да предават номера на порта. Така че е по-добре да деактивирате тази услуга, след като смените порта.

Деактивирайте опцията xp_cmdshell

SQL Server предлага разширена съхранена процедура xp_cmdshell за стартиране и изпълнение на команди на операционната система от SQL Server. Трябва да бъде деактивиран, за да се предотврати всякакъв риск за сигурността. Можете да намерите тази разширена съхранена процедура в конфигурации на ниво сървър или като изпълните sp_configure T-SQL съхранена процедура. Можете да изпълните следните T-SQL изрази, за да деактивирате тази конфигурация.

-- 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

Използвайте криптиране или маскиране на данни

SQL Server предлага различни методологии за криптиране за защита на вашите данни. Шифроването се препоръчва, ако вашите потребители имат достъп до данни през обществената мрежа. SQL Server има множество опции за прилагане на правилния набор от криптиране, като се имат предвид нуждите на вашия бизнес. Това е списъкът с опции за криптиране или маскиране на данни, които можем да използваме, за да защитим данните си:

  • TDE (Прозрачно криптиране на данни)
  • Защитете данните с помощта на ключове за криптиране
  • Винаги шифровайте
  • Динамично маскиране на данни

Премахване на BUILTIN\Administrators от SQL Server

Винаги трябва да премахваме акаунта BUILTIN\Administrators от екземпляра на SQL Server, за да ограничим нежелания достъп до екземпляра на базата данни. Най-добрият начин е да предоставите на потребителите достъп до SQL Server поотделно. Можете също да добавите група хора в групата на Windows и да им предоставите достъп до SQL Server. Можете да използвате по-долу T-SQL оператор, за да премахнете това данни за вход от екземпляра на SQL Server.

Можете също да премахнете това влизане, като използвате GUI през SQL Server Management Studio. Просто трябва да се свържете с вашия екземпляр на SQL Server, след което да разширите папката за сигурност на ниво екземпляр. Тук можете да щракнете с десния бутон върху това име за вход, за да го премахнете от екземпляра на SQL Server.

--DROP Login
DROP LOGIN [BUILTIN\Administrators]

Сигурни пароли и адекватни потребителски привилегии

Винаги предоставяйте адекватни права на всеки потребител, те трябва да са минимални, като се има предвид ролята им при достъп до базите данни. Също така, никога не трябва да използваме слаби пароли за всяко влизане или същите данни за вход и парола. Винаги използвайте правилата за пароли за всяко влизане в SQL.

Конфигуриране на одита за влизане в SQL Server

SQL Server е предоставил функция за одит за улавяне на подробности за всички неуспешни и успешни влизания. Това е много полезна конфигурация, ако искате да проверите кой се свързва или опитва да се свърже с вашите бази данни. Можем да конфигурираме сигнала на SQL Server, който ще изпраща известия по пощата при всяко неуспешно и успешно влизане в SQL Server. Можете да следвате стъпките по-долу, за да активирате одита за влизане.

  • Свържете се с целевия си екземпляр на SQL Server в SQL Server Management Studio
  • Щракнете с десния бутон върху името на екземпляра на SQL Server и след това щракнете върху Свойства .
  • Щракнете върху Сигурност раздел в левия панел. Ще получите Проверка на влизане в десния панел, както е показано на първата екранна снимка на тази статия
  • Изберете желаната опция и затворете Свойства на сървъра страница
  • Рестартирайте услугата SQL Server, за да приложите тази промяна

Премахнете неизползваните входове в SQL Server

Винаги следете данните си за вход в SQL Server. Трябва да бъдете внимателни при премахването на всички акаунти за влизане, които вече не се използват. Знам, че е трудно да се управлява ръчно, но можете да конфигурирате известие по пощата, за да изпращате имейл за всички данни за влизане в SQL Server и техните привилегии.

Заключение

Обясних някои от възможните конфигурации, които можем да приложим, за да защитим нашите бази данни от външни заплахи. Вземете предвид всички горепосочени точки, докато внедрявате политиките за укрепване на базата данни в средата.

Моля, споделете тази статия и дайте отзивите си в секцията за коментари, за да можем да подобрим.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да нулирате стойността на колоната за идентичност в таблицата на SQL Server - SQL Server / T-SQL урок, част 43

  2. Как можем да видим тялото на криптираната съхранена процедура в SSMS?

  3. Как работи функцията STR() в SQL Server (T-SQL)

  4. Как да предам стойност на параметър на съхранена процедура в компонент OLE DB Source?

  5. Всеки външен ключ на SQL Server трябва ли да има съвпадащ индекс?