Создание доверенного сертификата для подключения к БД
Доверенный сертификат для подключения к БД можно приобрести в одном из удостоверяющих центров либо сгенерировать самоподписанный сертификат по инструкции ниже".
-
Название сертификата должно быть равно полному имени сервера равный DNS имени сервера.
-
В качестве цели использования необходимо указывать "Серверная аутентификация".
Создание и установка сертификата в Linux
-
Установите пакет
opensslкомандой:-
Astra Linux / Альт Сервер / Ubuntu
-
РЕД ОС
$ sudo apt-get install openssl
$ sudo dnf install openssl
-
-
Создайте самоподписанный сертификат SSL.
$ openssl req -x509 -newkey rsa:2048 -keyout docsvision.key -nodes -out docsvision.crt -subj "/CN=example.company.com" -addext subjectAltName=DNS:example.company.com (1)1 Замените docsvision.keyиdocsvision.crtна собственные названия для ключа и сертификата, вместо/CN=example.company.comукажите адрес сервера Docsvision на Linux, например,/CN=help.docsvision.com. -
Сгенерируйте и сохраните сертификат
docsvision.pfx:$ openssl pkcs12 -inkey docsvision.key -in docsvision.crt -export -out docsvision.pfx (1)Пароль на сертификат указывать не нужно.
-
Добавьте сертификат в доверенные, скопировав его в директорию
/usr/local/share/ca-certificates/. -
Обновите список доверенных сертификатов:
-
Astra Linux / Альт Сервер / Ubuntu
-
РЕД ОС
$ sudo update-ca-certificates
$ sudo update-ca-trust
-
-
Полученный сертификат в формате
.pfxнеобходимо скопировать в каталог~/.dotnet/corefx/cryptography/x509stores/my. Если каталог отсутствует, создайте его самостоятельно. Пользователь, выполняющий шифрование, должен обладать правами на чтение и выполнение файлов в каталоге, а также правами на чтение сертификата. -
Экспортируйте сертификат следующей командой:
openssl pkcs12 -export -name "http://webservice.com" -out .\out\authservice.pfx -inkey .\out\authservice.key -in .\out\authservice.crt (1)
1 В .\out\authserviceукажите путь для сохранения сертификата. Также заменитеnameна имя сервера Microsoft SQL.Утилита запросит пароль на сертификат и на файл
.pfx. -
Импортируйте сертификат на сервере с Microsoft SQL и поместите его в Личное хранилище.
Рисунок 1. Сертификат в личном хранилище -
Запустите Диспетчер конфигурации SQL Server. В категории сетевая конфигурация SQL Server найдите раздел Протоколы для "имя-сервера".
-
В свойствах раздела Протоколы для "имя-сервера" выберите вкладку Сертификат и укажите импортированный сертификат.
-
Перейдите на вкладку Флаги и отметьте флаг ForceEncryption в значение Да.
-
Чтобы настройки применились, перезапустите службу экземпляра сервера Microsoft SQL.
Создание сертификата в Windows
-
В ОС Windows самоподписанный сертификат можно сгенерировать следующей командой в PowerShell:
New-SelfSignedCertificate -CertStoreLocation cert:\currentuser\my -DnsName "example.company.com" -FriendlyName "Docsvision Site" -KeyUsage "DigitalSignature", "KeyEncipherment" -KeyAlgorithm RSA -KeyLength 2048 -NotAfter $([datetime]::now.AddDays(90))Расшифровка команды:-
-CertStoreLocation cert:\currentuser\my— место установки сертификата -
-DnsName "example.company.com"— адрес сайта -
-FriendlyName "Docsvision Site"— название сайта -
-KeyAlgorithm RSA— алгоритм шифрования -
-KeyLength 2048— длина ключа. -
-NotAfter $([datetime]::now.AddDays(90))— срок действия сертификата (90 дней). Рекомендуется устанавливать от 90 до 360 дней.
-
-
Сертификат появится в хранилище Личное среди сертификатов пользователя, из которого его можно экспортировать в файл. Выберите сертификат из списка двойным нажатием мыши, откройте вкладку "Состав".
Рисунок 3. Просмотр сертификата на вкладке "Состав" -
Экспортируйте сертификат, нажав кнопку Копировать в файл, и проследуйте инструкциям мастера экспорта сертификатов.
-
Установите пакет
opensslкомандой:-
Astra Linux / Альт Сервер / Ubuntu
-
РЕД ОС
$ sudo apt-get install openssl
$ sudo dnf install openssl
-
-
Создайте самоподписанный сертификат SSL.
$ openssl req -x509 -newkey rsa:2048 -keyout docsvision.key -nodes -out docsvision.crt -subj "/CN=example.company.com" -addext subjectAltName=DNS:example.company.com (1)1 Замените docsvision.keyиdocsvision.crtна собственные названия для ключа и сертификата, вместо/CN=example.company.comукажите адрес сервера Docsvision на Linux, например,/CN=help.docsvision.com. -
Сгенерируйте и сохраните сертификат
docsvision.pfx:$ openssl pkcs12 -inkey docsvision.key -in docsvision.crt -export -out docsvision.pfx (1)Пароль на сертификат указывать не нужно.
-
Добавьте сертификат в доверенные, скопировав его в директорию
/usr/local/share/ca-certificates/. -
Обновите список доверенных сертификатов:
-
Astra Linux / Альт Сервер / Ubuntu
-
РЕД ОС
$ sudo update-ca-certificates
$ sudo update-ca-trust
-
-
Экспортируйте сертификат следующей командой:
openssl pkcs12 -export -name "http://webservice.com" -out .\out\authservice.pfx -inkey .\out\authservice.key -in .\out\authservice.crt (1)
1 В .\out\authserviceукажите путь для сохранения сертификата. Также заменитеnameна имя сервера Microsoft SQL.Утилита запросит пароль на сертификат и на файл
.pfx. -
Импортируйте сертификат на сервере с Microsoft SQL и поместите его в Личное хранилище.
Рисунок 4. Сертификат в личном хранилище -
Запустите Диспетчер конфигурации SQL Server. В категории сетевая конфигурация SQL Server найдите раздел Протоколы для "имя-сервера".
-
В свойствах раздела Протоколы для "имя-сервера" выберите вкладку Сертификат и укажите импортированный сертификат.
-
Перейдите на вкладку Флаги и отметьте флаг ForceEncryption в значение Да.
-
Чтобы настройки применились, перезапустите службу экземпляра сервера Microsoft SQL.