Защита сервера Базы данных Azure для MySQL

База данных Azure для MySQL — это полностью управляемая служба баз данных, которая обеспечивает встроенную высокую доступность, автоматизированные резервные копии и возможности масштабирования. Защита развертываний баз данных MySQL имеет решающее значение для защиты конфиденциальных данных и обеспечения соответствия отраслевым стандартам.

В этой статье описано, как защитить развертывание сервера Базы данных Azure для MySQL.

Сетевая безопасность

В разделе "Безопасность сети" описано, как запретить общедоступный доступ и использовать сетевые функции для интеграции MySQL в безопасную сегментированную архитектуру облачной сети. Общие сведения см. в разделе "Основные понятия подключения и сети" для базы данных Azure для MySQL — гибкий сервер.

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

  • Отключение доступа к общедоступной сети. Отключите доступ к общедоступной сети для MySQL, чтобы предотвратить доступ к Интернету. Это действие гарантирует, что доступ к базе данных может получить только доверенные сети.
  • Частные конечные точки: используйте частные конечные точки для безопасного подключения к MySQL из виртуальной сети.
  • Кроме того, используйте интеграцию виртуальной сети: используйте интеграцию виртуальной сети для подключения MySQL к виртуальной сети. Эта интеграция обеспечивает безопасный доступ из ресурсов Azure и сервера к используемым ресурсам, таким как ИИ.
  • Устаревшие правила брандмауэра: если требуется разрешить доступ с определенных IP-адресов, используйте устаревшие правила брандмауэра и конечные точки службы. Однако этот подход не рекомендуется. Вместо этого предпочитайте использовать частные конечные точки или интеграцию виртуальной сети.

Статьи по безопасности сети приведены в разделах сети:

Управление идентичностью

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

  • Используйте Microsoft Entra вместо локальной проверки подлинности базы данных: запретить локальную проверку подлинности для сервера MySQL. Вместо этого используйте проверку подлинности Microsoft Entra (не смешанный режим) для управления доступом к базе данных. Microsoft Entra обеспечивает централизованную проверку подлинности с строгими элементами управления безопасностью и защитой Defender для удостоверений в режиме реального времени. Дополнительные сведения см. в общих сведениях о Microsoft Entra и в статье Аутентификация Microsoft Entra для гибкого сервера База данных Azure для MySQL.

  • Используйте управляемые удостоверения для безопасного доступа к приложениям: используйте управляемые удостоверения в Azure для безопасной проверки подлинности приложений и служб без необходимости управления учетными данными. Управляемые удостоверения предоставляют безопасный и упрощенный способ доступа к ресурсам, таким как База данных Azure для MySQL. Дополнительные сведения см. в разделе Управляемые удостоверения.

  • Принудительное обеспечение безопасности с помощью политик условного доступа: настройте политики условного доступа в Microsoft Entra для применения элементов управления безопасностью на основе пользовательского, расположения или контекста устройства. Эти политики позволяют динамически применять требования к безопасности на основе риска, повышая общую безопасность. Дополнительные сведения см. в статье об условном доступе Microsoft Entra.

  • Локальная проверка подлинности основана на возможностях проверки подлинности MySQL: если необходимо использовать локальную проверку подлинности, убедитесь, что вы используете официальную документацию mySQL по управлению доступом и управлению учетными записями. Инструкции по управлению пользователями MySQL см. в статье "Создание пользователей в базе данных Azure для MySQL".

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

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

  • Ограничение и управление повышенными разрешениями.
  • Применение многофакторной проверки подлинности.
  • Обеспечение регистрации и аудита привилегированных действий.

К службам безопасности, функциям и рекомендациям по управлению доступом относятся:

  • Используйте роли Entra для управления доступом: внедрите ролевую модель управления доступом Azure (RBAC) для управления доступом к ресурсам базы данных Azure для MySQL. Назначьте роли на основе принципа наименьшей привилегии, гарантируя, что пользователи и приложения имеют только необходимые им разрешения. Дополнительные сведения см. в статье Управление доступом на основе ролей Azure (RBAC) в целом и в статье Аутентификация Microsoft Entra для База данных Azure для MySQL — Гибкий сервер.

  • Следуйте рекомендациям entra:

    • Используйте многофакторную проверку подлинности (MFA) для добавления дополнительного уровня безопасности для доступа пользователей.
    • Реализуйте привилегированное управление удостоверениями (PIM) для управления, контроля и мониторинга доступа.
    • Политики условного доступа, доступ по требованию для защиты пользователей и баз данных.
  • Управление пользователями, ролями и разрешениями локальной базы данных: используйте встроенное управление ролями MySQL для управления доступом на уровне базы данных. Создайте пользовательские роли с определенными разрешениями, чтобы применить принцип наименьшей привилегии. Регулярно просматривайте и проверяйте эти роли, чтобы обеспечить соответствие политикам безопасности. Дополнительные сведения см. в статье "Создание пользователей в Базе данных Azure для MySQL".

Защита данных

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

Ниже приведены некоторые возможные службы безопасности, функции и рекомендации для раздела защиты данных:

Шифрование данных при передаче

  • Проверка подключений TLS: Azure MySQL всегда использует TLS для шифрования данных при передаче между приложением и базой данных. Настройте приложение для проверки используемого сертификата, например корневого ЦС, просроченных сертификатов, несоответствия имени узла и отзыва сертификатов. Эта практика помогает защитить конфиденциальную информацию от перехвата и атак посредника. Дополнительные сведения см. в статье Transport Layer Security (TLS) в База данных Azure для MySQL.

  • Убедитесь, что у клиента установлены последние сертификаты TLS: убедитесь, что клиентские приложения имеют последние сертификаты TLS, установленные для поддержки безопасных подключений. Эта практика помогает предотвратить сбои подключения и гарантирует, что приложение может устанавливать безопасные подключения с сервером MySQL. Дополнительные сведения см. в разделе "Протокол транспортного уровня безопасности (TLS) в База данных Azure для MySQL".

  • Требовать использования TLS 1.3. Настройте сервер MySQL, чтобы требовать TLS 1.3 для всех подключений. Эта конфигурация гарантирует, что используется только последняя и самая безопасная версия протокола, обеспечивающая лучшую безопасность и производительность. Дополнительные сведения см. в статье «Безопасность транспортного уровня (TLS) в База данных Azure для MySQL».

Шифрование данных в состоянии покоя

  • Данные всегда прозрачно шифруются с помощью SMK: База данных Azure для MySQL автоматически шифрует неактивных данных с помощью ключей, управляемых службой (SMK). Это шифрование гарантирует защиту данных без дополнительной настройки. Она использует базовую инфраструктуру службы хранилища Azure. Он охватывает основной сервер, реплики, восстановление на определенный момент времени (PITR) и резервные копии. Дополнительные сведения см. в разделе "Шифрование данных" для гибкого сервера База данных Azure для MySQL с помощью портала Azure.

  • Используйте управляемые клиентом ключи для дополнительного управления: если требуется больше контроля над ключами шифрования, используйте ключи, управляемые клиентом (CMK), хранящиеся в Azure Key Vault или Azure HSM. Этот параметр позволяет управлять ключами шифрования и обеспечивать больше параметров безопасности и соответствия требованиям. Дополнительные сведения см. в разделе "Шифрование данных с помощью ключей, управляемых клиентом" для Базы данных Azure для MySQL.

  • Настройте автоматическую смену ключей в KV или Managed HSM: если вы используете управляемые клиентом ключи, настройте автоматическую смену ключей в Azure Key Vault, чтобы убедиться, что ключи шифрования регулярно обновляются. База данных Azure для MySQL поддерживает автоматическое обновление версий ключей после смены ключа. Дополнительные сведения см. в статье Настройка автоматической ротации ключей в Azure Managed HSM или Общие сведения об автоматической ротации в Azure Key Vault, чтобы получить дополнительные сведения о Key Vault.

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

Анализ журналов и обнаружение угроз

В разделе "Ведение журнала и обнаружение угроз" рассматриваются элементы управления для обнаружения угроз в средах Azure.

Службы безопасности, функции и рекомендации по ведению журнала и обнаружению угроз: