SQL Server

Ми встановлюємо шифрування з'єднань до бази даних MS SQL Server

Ми встановлюємо шифрування з'єднань до бази даних MS SQL Server

Якщо ви використовуєте незахищені/незахищені мережі для підключення клієнтів/програм до бази даних на Microsoft SQL Server, доцільно використовувати шифрування трафіку. У цій статті ми покажемо, як налаштувати та включити обов'язковий трафік SSL/TLS, щоб підключити клієнтів до Microsoft SQL Server.

Починаючи з MS SQL 2016 замість SSL, TLS використовується.

Щоб увімкнути шифрування для підключення до MS SQL Server, вам потрібно встановити сертифікат TLS/SSL на сервері. Це може бути комерційний сертифікат, сертифікат, виданий вашим СА, або сертифікат, визначений самостійно. Сертифікат TLS повинен задовольнити такі умови:

Ви можете створити самооцінений сертифікат за допомогою PowerShell (сертифікати самовизначення рекомендуються лише в тестових носіях):

New selfsignedcerticate-dnsname srv-rds1.Ресурс.Com -certStoreLocation cert: \ localmachine \ мій

Якщо ви звернетесь до екземпляра MSSQL не лише за назвою хоста, але і за іншими іменами (наприклад, на сервері є слухач групи, що завжди є доолі з базою даних цього брокера RDS), вам потрібно Додайте всі можливі імена до теми альтернативної назви. Випустити самооцінений сертифікат з кількома SAN протягом трьох років:

$ Todaydate = get-date
$ Add3year = $ сьогодні.Addyears (3)
$ NewCert = NewsersignedCertificate -dnsname Srv-RDS1, SRV-RDS1.Winitpro.LOC, SQL-RDSDB-LISTE.Winitpro.Loc -SertStoreLocation cert: \ localmachine \ my -onotter $ add3year

Імпортуйте сертифікат у надійному:

$ Certfile = експорт -certificate -sert $ newcert -filepath c: \ certname.Цер
Імпорт -certificate -SertSertElocation cert: \ localmachine \ authroot -filepath $ certfile.Повне ім'я

Якщо ви використовуєте сертифікат, отриманий від вашого або зовнішнього СА, його потрібно імпортувати на комп'ютер (або користувача, якщо MS SQL Server набрякає від імені користувача або контрольованого облікового запису GMSA). Якщо послуга SQL Server запускається від імені облікового запису, який не має місцевого адміністратора, вам потрібно забезпечити доступ до читання сертифіката.

Тепер вам потрібно прив’язати свій сертифікат до встановленого SQL Server:

  1. ВІДЧИНЕНО SQL Server Configuration Manager, Йти до Конфігурація мережі SQL Server, Відкриті властивості Протоколи MSSQLServer;
  2. Увімкніть опцію Силове шифрування;
  3. Перейдіть на вкладку Сертифікат І у списку падіння вибирайте сертифікат, який ви імпортуєте в магазин або комп'ютерні сертифікати;
  4. Перезапустити MS SQL для застосування змін.

Щоб завжди використовувати зашифроване з'єднання з сервером MSSQL, вам потрібно:

Клієнти повинні довіряти сертифікату, який використовується для шифрування трафіку. В іншому випадку, під час підключення з’явиться помилка:

Не вдається підключитися до SRV-SQL. Підключення було успішно встановлене з сервером, але анеррор, що виникає під час процесу входу. (Постачальник: постачальник SSL, помилка: 0 - Ланцюг сертифікатів був виданий повноваженням, якому не довіряють.) (Microsoft SQL Server, Помилка: -2146893019)

Ви можете додати сертифікат до домену, довіреного комп’ютерам, використовуючи GPO.

Так що SSM завжди використовують шифрування для підключення до бази даних SQL Server, відкрийте вікно з'єднання (підключіться до сервера) -> Параметри -> Увімкніть параметр Зв'язок шифрування.

Коли з’являється помилка "Цільове головне ім'я неправильне ", Перевірте, що ви використовуєте для підключення імені SQL Server, зазначеного в імені теми або сертифіката SAN.

Ви можете підключитися до SQL Server за допомогою модуля SQLServer PowerShell і перевірити, чи підтримується ваш SQL Server

Заклик -Sqlcmd -Sertance "srv -rds1" -query "selectinct encrypt_option від sys.dm_exec_connections what session_id = @hpid "

Якщо ваша копія SQL запущена на порту порту, вона вказана так: -ServerInstance "SRV-RDS1,21221"

У нашому прикладі SQL Server підтримує зашифровані з'єднання ( Encrypt_option = true ).

Бази даних Azure SQL підтримують лише безпечні з'єднання. Навіть якщо параметр підключення шифрування не знаходиться в CSMS, з'єднання з Azure SQL все одно буде зашифровано (див. Стаття безпеки бази даних в Azure SQL).

Як заблокувати з'єднання певної Інтернет -програми в Windows 10
Бувають випадки, коли вам потрібно заборонити певну програму взаємодіяти з Інтернетом. Наприклад, ви хочете заборонити автоматичне оновлення або забло...
Як перетворити формат відео M4V у MP4
Для зберігання фільмів, музичних кліпів та іншого мультимедійного вмісту в магазині iTunes Формат часто використовується M4V. У своїй структурі вона б...
Як безпечно придбати використану відеокарту і не помилятися
Всі ми хочемо йти в ногу з часом. Ми купуємо для себе телефони, гаджети, комп’ютери. Однак останні не такі прості, адже іноді це надмірні гроші для зв...