Вопросы безопасности SQL Server на виртуальных машинах Azure

ОБЛАСТЬ ПРИМЕНЕНИЯ: SQL Server на виртуальной машине Azure

Этот раздел содержит общие рекомендации по безопасности, которые помогут обеспечить безопасный доступ к экземплярам SQL Server на виртуальной машине Azure.

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

Наряду с рекомендациями, описанными в этом разделе, рекомендуется просмотреть и реализовать рекомендации по обеспечению безопасности с применением традиционных локальных средств защиты и соответствующих средств защиты виртуальных машин.

Azure Defender для SQL

Azure Defender для SQL обеспечивает поддержку функций безопасности в Центре безопасности Azure, таких как оценки уязвимости и оповещения безопасности. Подробные сведения см. в статье о включении Azure Defender для SQL.

Управление на портале

После регистрации виртуальной машины SQL Server с расширением SQL IaaS вы можете настроить некоторые параметры безопасности с помощью ресурса виртуальных машин SQL на портале Azure, например включить интеграцию Azure Key Vault или аутентификацию SQL.

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

Подробные сведения см. в статье об управлении виртуальной машиной SQL Server на портале.

Интеграция с хранилищем ключей Azure

Существует несколько функций шифрования SQL Server, например прозрачное шифрование данных (TDE), шифрование на уровне столбцов (CLE) и шифрование резервной копии. Эти формы шифрования требуют хранить используемые для шифрования ключи и управлять ими. Служба Azure Key Vault предназначена для обеспечения лучшей защиты этих ключей и управления ими в надежном расположении с высоким уровнем доступности. Соединитель SQL Server позволяет SQL Server использовать эти ключи из Azure Key Vault. Подробные сведения см. в других статьях этой серии: Краткий контрольный список, Размер виртуальной машины, Хранилище, Конфигурация HADR, Сбор базовых показателей.

Подробные сведения см. в статье об интеграции Azure Key Vault.

Управление доступом

При создании виртуальной машины SQL Server следует предусмотреть тщательный контроль доступа к ней и серверу SQL Server. В общем случае следует:

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

В следующих разделах приводятся соответствующие рекомендации, которые вы сможете обдумать.

Защита подключений

При создании виртуальной машины SQL Server с помощью образа из коллекции доступен параметр Подключение SQL Server, позволяющий выбрать одно из трех значений: Локальное (только в виртуальной машине) , Частное (в виртуальной сети) или Общий доступ в Интернет.

Подключение к серверу SQL Server

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

Выбранные параметры на портале используют правила безопасности для входящего трафика группы безопасности сети (NSG) виртуальной машины, чтобы разрешить или запретить сетевой трафик к виртуальной машине. Можно изменить существующие или создать новые правила входящего трафика NSG, чтобы разрешить трафик на порт SQL Server (по умолчанию — 1433). Можно также указать конкретные IP-адреса, которым разрешен обмен данными через этот порт.

Правила группы безопасности сети

Помимо правил NSG, ограничивающих сетевой трафик, можно также использовать брандмауэр Windows на виртуальной машине.

Если применяются конечные точки в классической модели развертывания, удалите все неиспользуемые конечные точки в виртуальной машине. Инструкции по использованию списков ACL в конечных точках см. в разделе Управление ACL для конечной точки. Это не требуется для виртуальных машин, которые используют Azure Resource Manager.

Наконец, рассмотрите возможность включения шифрования подключений к экземпляру ядра СУБД SQL Server на виртуальной машине Azure. Настройте новый экземпляр SQL Server с подписанным сертификатом. Дополнительные сведения см. в статьях Включение шифрования соединений в ядре СУБД и Синтаксис строки подключения.

Шифрование

Управляемые диски предлагают такие возможности, как шифрование на стороне сервера и Шифрование дисков Azure. Шифрование на стороне сервера позволяет шифровать неактивные данные и защищает данные в соответствии с корпоративными обязательствами по обеспечению безопасности и соответствия требованиям. Шифрование дисков Azure использует технологию шифрования BitLocker или DM-Crypt, а также интегрируется с Azure Key Vault для шифрования дисков ОС и дисков данных.

Порты не по умолчанию

По умолчанию сервер SQL Server ожидает передачи данных через стандартный порт 1433. Чтобы повысить безопасность, настройте сервер SQL Server для ожидания передачи данных через нестандартный порт, например 1401. Если вы подготавливаете образ SQL Server из коллекции на портале Azure, то можете указать этот порт в колонке Параметры SQL Server.

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

  • Для виртуальных машин Resource Manager щелкните Безопасность в разделе Ресурс виртуальных машин SQL. Это даст возможность изменить номер порта.

    Изменение TCP-порта на портале

  • Для классических виртуальных машин или виртуальных машин SQL Server, которые не были подготовлены с помощью портала, можно вручную настроить порт, подключившись к ним удаленно. Инструкции по настройке приведены в разделе Configure a Server to Listen on a Specific TCP Port (Настройка сервера для ожидания передачи данных через определенный TCP-порт). Если вы используете этот ручной способ, необходимо также добавить правило брандмауэра Windows, чтобы разрешить входящий трафик для этого TCP-порта.

Важно!

Указание нестандартного порта имеет смысл, если порт SQL Server открыт для общих подключений из Интернета.

Если сервер SQL Server ожидает передачи данных через нестандартный порт, его необходимо указывать при подключении. Например, рассмотрим ситуацию, когда IP-адрес сервера SQL Server — 13.55.255.255 и он ожидает передачи данных через порт 1401. Чтобы подключиться к серверу SQL Server, в строке подключения следует указать 13.55.255.255,1401.

Управление учетными записями

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

  • Создайте уникальную локальную учетную запись администратора с именем, отличным от Administrator.

  • Используйте сложные надежные пароли для всех учетных записей. Дополнительные сведения о том, как создать надежный пароль, см. в статье Создание надежного пароля.

  • По умолчанию во время настройки виртуальной машины SQL Server в Azure выбирается проверка подлинности Windows. Следовательно, имя для входа SA отключается, а пароль назначается в ходе настройки. Мы рекомендуем не использовать и не включать имя для входа SA. Если вам необходимо имя для входа SQL, используйте одну из следующих стратегий.

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

      Совет

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

    • Если необходимо использовать имя для входа SA, включите его после подготовки и задайте для него новый надежный пароль.

Дальнейшие действия

Если вам также интересны рекомендации по повышению производительности, ознакомьтесь со статьей Рекомендации по оптимизации производительности SQL Server в Виртуальных машинах Azure.

Другие темы, связанные с запуском SQL Server на виртуальных машинах Azure, рассматриваются в статье Приступая к работе с SQL Server в виртуальных машинах Azure. Если у вас есть вопросы по виртуальным машинам SQL Server, см. раздел часто задаваемых вопросов.

Дополнительные сведения см. в других статьях этой серии: