2018 sql server: SQL Server 2017 on Windows and Linux

Расшифровка сохранённых паролей в MS SQL Server / Хабр

tyomitch

Время на прочтение
3 мин

Количество просмотров 29K

Информационная безопасность *Microsoft SQL Server *Администрирование баз данных *

Перевод

Автор оригинала:

Antti Rantasaari

Давным-давно, в далёкой галактике, пред-предыдущий администратор вашего SQL Server задал в нём linked server, используя специально для этой цели созданный аккаунт со сгенерированным паролем. Теперь вам с этим линком нужно что-то сделать, например перенести его на другой SQL Server; но просто так это не сделать, потому что никто не знает пароля от того аккаунта. Знакомая ситуация?

Хотя MSSQL не хранит пароли для своих аккаунтов, а хранит только их хэши, — с linked server-ами так не получится, потому что для успешной аутентикации перед внешним сервером нужно обладать паролем в открытом виде. Пароли для linked server-ов хранятся в зашифрованном виде в таблице master.sys.syslnklgns:

Но не всё так просто. Во-первых, эта таблица недоступна из обычного SQL-соединения, а доступна только из Dedicated Administrative Connection. На DAC накладываются существенные ограничения: открыть DAC может только пользователь с привилегией sysadmin, и одновременно к одному серверу может быть открыто только одно DAC. Если у вас есть права локального администратора на сервере, но вы не можете войти в MSSQL с правами sysadmin, то есть обходной путь — заходить не из-под своего аккаунта, а из-под аккаунта сервиса MSSQL или даже из-под LocalSystem.

Во-вторых, несмотря на то, что поле с зашифрованным паролем называется pwdhash — это никакой не хэш, а зашифрованные данные. Ключ для расшифровки хранится в системной таблице master.sys.key_encryptions:

Этот ключ хранится в двух экземплярах: первый (thumbprint=0x01) позволяет использование только из-под аккаунта сервиса MSSQL, второй (thumbprint=0x0300000001) — из-под любого аккаунта на сервере. Обратите внимание, что ни один из хранящихся ключей не пригоден для «офлайн-расшифровки» паролей вне сервера, так что если злоумышленнику и удастся украсть данные обеих этих системных таблиц, ему это ничего не даст.

В-третьих, ключ для расшифровки сам зашифрован, и «ключ для ключа» хранится в системном реестре в HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\$InstanceName\Security\Entropy:

Чтобы прочитать из реестра это значение, опять же требуются права локального администратора на сервере.

Для получения всех трёх составляющих и расшифровки сохранённых паролей, автор создал удобный PowerShell-скрипт.

Если запустить его из-под аккаунта локального администратора на сервере, он порадует вас примерно таким окошком:

Если же вы не хотите запускать на production-сервере непонятно кем написанные скрипты, то саму расшифровку можно выполнить и без прав администратора, если сначала вытащить три составляющих при помощи SQL Studio и regedit, и вставить их в скрипт в явном виде. Первый шаг расшифровки ($ServiceKey = [System.Security.Cryptography.ProtectedData]::Unprotect($SmkBytes, $Entropy, 'LocalMachine')) обязан выполняться на сервере, но второй ($Decrypt = $Decryptor.​CreateDecryptor($ServiceKey,​$Logins.iv) и последующая работа с CryptoStream) может выполняться и в офлайне.

Аналогичным образом расшифровываются и credentials, сохранённые в базе для выполнения команд (xp_cmdshell и т.п.) от имени менее привилегированных аккаунтов, нежели сервис MSSQL.

С одной стороны, всё это кажется вопиющим примером security through obscurity: если расшифровка паролей для соединения с linked server-ами уже реализована в MSSQL, то почему нет возможности показать эти пароли забывчивому администратору? С другой стороны, с точки зрения безопасности всё весьма неплохо: для расшифровки паролей нужен доступ к серверу с правами локального администратора, а если злоумышленник получил такой доступ, то он уже и так может делать с сервером всё что захочет. )

Теги:

  • восстановление пароля
  • расшифровка
  • linked server

Хабы:

  • Информационная безопасность
  • Microsoft SQL Server
  • Администрирование баз данных

SQL Server дайджест #15: второй сервис пак для SQL Server 2016, как поднять сиквел на Маке и SQLSaturday Kyiv 2018

SQLSaturday в Украине: Киев (очень скоро), Харьков и Львов. SQL Server в докер контейнере. Видео докладов по SQL Server c европейских и мировых конференций. Сборник всех интересных возможностей SSMS и многое другое в сегодняшнем дайджесте. Погнали!

Почитать

Experience SQL Server 2017: Start your journey here: Есть желание установить SQL Server 2017, узнать максимально быстро, что нового появилось и какие возможности для вас открывает эта версия, но не знаете, с чего начать? Тогда вам сюда. Краткая подборка статей и ресурсов по SQL Server 2017 для быстрого старта.

SQL Server 2016 SP2: Вышел второй сервис пак для SQL Server 2016. Новость важная, так как добавляется много интересного функционала и оптимизаций. Радует, что Майкрософт даёт здесь много информации по релизу.

Read committed doesn’t guarantee much…: Отличный разбор ситуации от Пола Рендала. Суть проблемы в следующем, когда мы читаем данные из таблицы, и при этом кто-то пишет данные в таблицу в транзакции, в дефолтном уровне изоляции (Read Committed), возможно поведение, когда количество возвращаемых данных будет разное в зависимости от того, с какого времени после начала транзакции мы читаем данные.

Provisioning SQL Server Instances with Docker: Начиная с 2017 версии, SQL Server можно поднимать внутри докер контейнера, что открывает огромные возможности, как для быстрой настройки девелопмент энвайронмента, так и для кроссплатформенности (можно поднять сиквел на маке). В статье кратко расписано, как поднимать сиквел в докере, и основные нюансы такой конфигурации.

Take the SQL Server Mac challenge: А вот, собственно, и краткий мануал, как поднять SQL Server на Маке за 5 минут. И не от кого-нибудь, а от самого Боба Варда!

You really need to look out for msdb security: Вот это очень интересная статья. Наталкивает на правильные мысли в плане безопасности вашего сервера. Не буду раскрывать детали, но статью рекомендую прочитать.

mssql-cli, an open source and cross-platform CLI for SQL Server: Звучит как что-то странное, но это мега-новость! Наконец-то появляется удобная командная строка для SQL Server 🙂

SSMS Tips&Tricks — Free eBook: Бесплатная электронная книга от Грега Ло со всеми интересными возможностями SQL Server Management Studio.

Посмотреть

24 Hours of PASS 2018 Recordings: Опубликованы доклады онлайн конференции 24 of PASS 2018. Тематикой конференции была «Cross-Platform SQL Server Management».

SQLBits 2018 Recordings: Видео конференции SQLBits этого года. SQLBits — самая большая европейская конференция по Microsoft Data Platform в Европе. Проводится каждый год в Лондоне и собирает исключительно классных спикеров и доклады. Очень рекомендую, сам периодически залипаю на эти видео 🙂

SQL Day 2017 Recordings: SQL Day — вторая по размаху и контенту конференция по Microsoft Data Platform в Европе и одна из мои любимых конференций, на которые я езжу почти каждый год (и еду прямо сейчас). Уровень докладов такой же высокий, как и на SQLBits или PASS Summit. Есть доклады на польском, но большинство всё же на английском. Рекомендую ознакомиться.

Посетить

SQLSaturday Kyiv 2018: До конференции остаётся ровно неделя (19 мая 2018). Кто знает про конференцию, хорошо, кто не знает, напомню, что это бесплатная конференция, которая проводится в Киеве каждый год и традиционно собирает сильных специалистов по Data Platform со всего мира, которые приезжают в Украину и выступают на SQLSaturday. Уже второй год подряд количество регистраций переваливает за 1000, и если вы ещё не регистрировались, то самое время: www.sqlsaturday.com/739/registernow.aspx. Программу конференции можно посмотреть здесь: www.sqlsaturday. com/…​39/Sessions/Schedule.aspx.

SQLSaturday Kharkiv 2018: Следующая SQLSaturday в этом году пройдёт в Харькове 22 сентября. Подготовка к ней только начинается, но вы уже знаете, чего ожидать 🙂

SQLSaturday Lviv 2018: И ещё! Через неделю после Харькова — SQLSaturday во Львове! Уже можно регистрироваться.

← Предыдущий выпуск: SQL Server дайджест #14

Все про українське ІТ в телеграмі — підписуйтеся на канал редакції DOU

Теми:
SQL Server, SQL Server дайджест

TFS 2018 не распознает SQL Server 2019

Задавать вопрос

спросил

Изменено
2 года, 2 месяца назад

Просмотрено
1к раз

Я установил TFS 2018 Update 3. 2 в Windows Server 2019машина.
Я НЕ использовал экспресс-версию TFS 2018.

Версия сервера базы данных — Microsoft SQL Server 2019 Standard.
Я перехожу с TFS 2013 на TFS 2018 (обновление 3.2).
Я восстановил базу данных Tfs_Configuration на новый сервер базы данных SQL.

Уровень приложений и уровень данных находятся на разных серверах.

Когда я настраиваю TFS 2018, я могу подключиться к SQL Server 2019.

Но во время проверки готовности я получаю сообщение об ошибке, в котором говорится, что «SQL Server 2017» используется.

TF255146: Указанный экземпляр SQL Server (PH-DB00004) имеет версию «SQL Server 2017», которая не поддерживается этой версией Team Foundation Server. Дополнительные сведения о поддерживаемых версиях SQL Server см. на странице https://www.visualstudio.com/docs/setup-admin/requirements

. Кто-нибудь еще сталкивался с такими проблемами во время настройки TFS 2018.

Требования SQL для TFS 2018 показывают SQL Server 2016 (SP1) и более поздние версии.

Пожалуйста, подскажите, как действовать дальше.

Спасибо

  • tfs-2018

Я думаю, вы неправильно читаете документацию.

В документации не указано, что поддерживается SQL Server 2016 SP1 и более поздние версии. В нем перечислены несколько конкретных поддерживаемых версий, ни одна из которых не является SQL Server 2019. В вашем вопросе даже есть ссылка, в которой это явно указано: https://learn.microsoft.com/en-us/azure/devops/server/requirements?view =azure-devops-2020#azure-sql-database-and-sql-server

  • TFS 2018
    • SQL Server 2017
    • SQL Server 2016 (минимум SP1)

Это поддерживаемые версии. Только эти версии.

1

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя адрес электронной почты и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Сколько стоит Microsoft SQL Server?

Лицензирование SQL Server может оказаться одной из самых сложных тем, с которыми вам придется столкнуться. Как вы можете определить потребности вашего бизнеса, если вы не понимаете предмета? Будьте уверены, ServerMania обладает глубокими знаниями в этой области, и в этой статье вы узнаете все, что вам нужно знать о лицензировании SQL Server.

При развертывании сервера используются различные продукты Microsoft, и их продукты SQL Server оказались невероятно популярными в качестве программного обеспечения для серверов баз данных. Если вы хотите настроить SQL Hosting, важным фактором является то, сколько будет стоить лицензия SQL Server для работы.

В этой статье рассказывается, что такое SQL Server, какие версии доступны и как каждая из них лицензируется.

См. также: Решения для размещения серверов баз данных

Что такое SQL Server?

Впервые разработанная в 1989 году вместе с SQL Server 1.0, Microsoft SQL Server представляет собой полнофункциональную платформу управления базами данных. Обычно он используется средними и крупными предприятиями для удовлетворения любых требований к хранению и анализу баз данных. Основная роль SQL-сервера заключается в хранении и извлечении данных по запросу других программных приложений. Часть сложности этого программного обеспечения базы данных заключается в огромном количестве других программных приложений, с которыми оно должно взаимодействовать.

Обычно существует два типа организаций, которым требуется Microsoft SQL Server: один с ограниченным числом пользователей, например частная сеть. Для этого типа клиентов они предлагают отдельную лицензию для каждого устройства, которое выходит в сеть, как правило, при ограниченном количестве пользователей. Это называется моделью Server + CAL.

Для предприятий с почти неограниченным числом пользователей, таких как крупная организация, предоставляющая общий доступ, Microsoft предлагает лицензии SQL Server на сервер и действует как всеобъемлющая лицензия для всех пользователей (в отличие от лицензий на устройства). ). Это называется базовой моделью лицензирования.

Сервер SQL может использоваться для различных функций и может быть любого размера в зависимости от рабочей нагрузки и функции. SQL-сервер также обрабатывает различные типы данных, включая хранилища данных, кластеры больших данных, финансовые данные и выполняет анализ данных.

Ключевые функции SQL Server включают:

  • Машинное обучение
  • Анализ
  • Отчетность
  • Business Intelligence Studio
  • Полнотекстовый поиск

См. также: (Live Web inar) Встречайте ServerMania: измените свой опыт хостинга серверов

Описание лицензирования SQL Server

В своей модели лицензирования Microsoft использует два основных типа.

Лицензирование по количеству ядер — это модель лицензирования, используемая Microsoft, которая позволяет лицензировать любое устройство, имеющее доступ к SQL Server. В соответствии с этой лицензией каждому серверу, на котором размещается программное обеспечение SQL Server на физическом сервере или в среде операционной системы (OSE), будет предоставлена ​​лицензия на каждое ядро ​​процессора.

Примером этого может быть компания, выпускающая кредитные карты, управляющая фермой серверов, которая должна обрабатывать тысячи транзакций каждую минуту. Каждый раз, когда такому устройству, как система точек продаж, требуется доступ, они будут иметь клиентские лицензии на доступ, которые позволят им получить доступ к информации на сервере. Лицензирование программного обеспечения SQL должно быть включено в покупку сервера и оплачивается отдельно.

В рамках лицензионного соглашения с поставщиком услуг вам потребуется как минимум четыре лицензии на ядро ​​для каждого физического процессора на сервере (лицензии на ядро ​​продаются в упаковках по две), а также наличие соответствующих лицензий на все компоненты сервера. . Вы не можете использовать лицензию, распределяя ее по компонентам на нескольких серверах. Например, если вы попытаетесь запустить службы отчетов SQL Server на другом компьютере, вы нарушите лицензионное соглашение.

В рамках модели лицензирования Server+Cal (клиентские лицензии) и, как и в модели лицензирования Core, все компоненты сервера должны быть лицензированы. При этом у вас будет лицензия, назначенная операционной системе, физическому серверу, физическим ядрам, а также индивидуальная лицензия для всех, кто обращается к серверу 9.0003

Software Assurance, высокая доступность и аварийное восстановление

Преимуществом лицензирования SQL Server является программа Microsoft Software Assurance для обеспечения высокой доступности. В ноябре 2019 года Microsoft обновила свои преимущества Software Assurance и теперь включает дополнительные лицензии на случай аварийного переключения.

«Благодаря этим новым преимуществам клиенты Software Assurance смогут реализовать гибридные планы аварийного восстановления с SQL Server, используя наши функции, такие как группы доступности Always On, без дополнительных затрат на лицензирование пассивных реплик», — поясняется в объявлении Microsoft.

Ранее с помощью Software Assurance для SQL Server организации могли запускать только один пассивный экземпляр SQL Server для отработки отказа. Теперь Microsoft усилила преимущества, особенно когда речь идет о аварийном восстановлении.

«Событие аварийного переключения», в общих чертах, — это когда ваш сервер переключается с одной машины на другую и обычно вызывается отключением питания, сбоем диска, ошибкой кабеля, нехваткой памяти или вирусной атакой. С технической точки зрения, это когда вторичный узел не получает контрольный пакет от основного узла в течение периода времени, превышающего мертвый интервал, установленный на вторичном.

Высокая доступность — это функция серверной системы, целью которой является обеспечение согласованного уровня эксплуатационной производительности, обычно времени безотказной работы, часто измеряемого в SLA (соглашение об уровне обслуживания).

Какие версии серверов SQL доступны?

Microsoft предлагает виртуальный буфет серверов SQL, доступных в нескольких выпусках. Каждая версия имеет разные функции и предназначена для разных пользователей. Есть два основных выпуска: Mainstream и Specialized. Помимо снятых с производства версий, у каждого выпуска есть другая версия, а именно:

Mainstream
  • SQL Server Enterprise Edition
  • SQL Server Standard Edition
  • Web Edition
  • Business Intelligence edition
  • SQL Server Express Edition
Specialized Editions 901 41
  • Виртуальные машины Azure в облаке SQL Edition
  • Компактный (SQL CE) Edition
  • Developer Edition
  • Embedded (SSEE) Edition
  • Evaluation (Trial Edition)
  • Fast Track Edition
  • LocalDB Edition
  • Analytics Platform System Edition
  • Datawarehouse Appliance Edition

Express и Developer — бесплатные версии, предназначенные для очень ограниченного личного использования или для тестирования разработки.

Доступны следующие версии SQL Server:

90 182

Версия Окончание основной поддержки Окончание расширенной поддержки
SQL Server 2012 11.07.2017 12.07.2022
SQL Server 2014 09.07.2019 9/7/ 2024
SQL Server 2016 7/ SQL Server 2017 11.10.2022 12.10.2027
SQL Server 2019 07. 01.2025 1/8 /2030

Сколько стоит SQL Server?

Важно отметить, что лицензии обычно приобретаются при покупке сервера. Существует две модели лицензирования SQL Server. Его можно либо лицензировать на сервер с лицензией, необходимой для каждого устройства, которое подключается к серверу базы данных, либо его можно лицензировать на ядро ​​сервера базы данных с минимальной требуемой 4-ядерной лицензией.

Стоимость лицензии Microsoft SQL Server взимается в зависимости от количества ядер сервера базы данных и выбранной версии SQL Server. Каждый пакет поставляется с двумя лицензиями на ядро, лицензии необходимо приобретать отдельно от сервера.

Наименование продукта Ежемесячно Ежеквартально Раз в полгода Ежегодно 9018 6
Microsoft SQL Web —

за 2 ядра

$8. 50 $25.50  $51.00 $102.00
Microsoft SQL Standard – per 2  cores $139.00 $417.00  $834.00 $1668.00
Microsoft SQL Enterprise – per 2 cores $532.50 1597,50 $ 3195,00 $ 6390,00 $
Удаленный рабочий стол Windows Server — за 2 ядра 8,00 $ 24 $ .

Imacros | Все права защищены © 2021