Общие сведения о шифровании в Azure
В этой статье представлен обзор использования шифрования в Microsoft Azure. Здесь приведены сведения об основных областях шифрования, включая шифрование неактивных данных, шифрование данных в процессе, а также об управлении ключами с помощью Azure Key Vault. В каждом разделе содержатся ссылки для получения дополнительных сведений.
Шифрование неактивных данных
К неактивным данным относятся сведения, хранящиеся в постоянном хранилище на физическом носителе в любом цифровом формате. Это могут быть файлы на магнитных или оптических носителях, архивированные данные и резервные копии данных. Microsoft Azure предлагает различные решения для хранения данных для разных нужд, включая дисковое и файловое хранилище, а также хранилище больших двоичных объектов и таблиц. Корпорация Майкрософт также предоставляет возможности шифрования для защиты Базы данных SQL Azure, Azure Cosmos DB и Azure Data Lake.
Шифрование неактивных данных с помощью шифрования данных AES 256 доступно для служб в рамках программного обеспечения как службы (SaaS), платформы как службы (PaaS) и инфраструктуры как службы (IaaS) облачных моделей. В этой статье приводится краткое описание и предлагаются ресурсы, которые помогут вам воспользоваться различными вариантами шифрования Azure.
Дополнительные сведения о шифровании неактивных данных в Azure см. в разделе Шифрование неактивных данных в Azure.
Модели шифрования Azure
Azure поддерживает различные модели шифрования, включая шифрование на стороне сервера с помощью ключей, управляемых службами, ключей, управляемых клиентами в Key Vault, или ключей на оборудовании, управляемом клиентом. Шифрование на стороне клиента позволяет хранить ключи в локальной среде или в другом защищенном расположении, а также управлять ими.
Шифрование на стороне клиента
Шифрование на стороне клиента выполняется за пределами Azure. Сюда входят:
- Данные, зашифрованные приложением, выполняющимся в центре обработки данных клиента, или приложением службы.
- Зашифрованные данные, полученные Azure.
При шифровании на стороне клиента у поставщика облачных служб нет доступа к ключам шифрования и он не может расшифровать эти данные. Вы полностью управляете ключами.
Шифрование на стороне сервера
Три модели шифрования на стороне сервера имеют разные характеристики управления ключами, которые можно выбрать в соответствии с требованиями.
Ключи, управляемые службами, обеспечивают возможности управления, удобство и низкие издержки.
Ключи, управляемые клиентом, дают возможность контролировать ключи, включая возможность использования собственных ключей (BYOK) или их создания.
Ключи на оборудовании, управляемом клиентом, позволяют управлять ключами в собственном репозитории, не управляемом корпорацией Майкрософт. Это называется размещением собственного ключа (HYOK). Однако конфигурация сложна, потому большинство служб Azure не поддерживают эту модель.
Шифрование дисков Azure
Все управляемые диски, моментальные снимки и образы шифруются в службе "Шифрование службы хранилища" с помощью ключа, управляемого службой. Azure также предлагает варианты защиты временных дисков, кэшей и управления ключами в Azure Key Vault. Дополнительные сведения см. в разделе Общие сведения о параметрах шифрования управляемых дисков.
Шифрование службы хранилища Azure
Неактивные данные, размещенные в хранилище BLOB-объектов Azure и файловых ресурсах Azure, можно зашифровать на стороне сервера и на стороне клиента.
При шифровании службы хранилища Azure (SSE) данные можно автоматически зашифровать перед их сохранением и автоматически расшифровать после их получения. Процесс является полностью прозрачным для пользователей. Шифрование службы хранилища использует 256-разрядный алгоритм шифрования AES, являющийся одним из самых надежных блочных шифров. AES обеспечивает прозрачное шифрование, расшифровку и управление ключами.
Шифрование больших двоичных объектов Azure на стороне клиента
Шифрование больших двоичных объектов Azure можно выполнять разными способами.
Вы можете воспользоваться клиентской библиотекой службы хранилища Azure для пакета NuGet .NET для шифрования данных в клиентских приложениях до их передачи в службу хранилища Azure.
Дополнительные сведения о клиентской библиотеке службы хранилища Azure для пакета NuGet .NET приведены в описании службы хранилища Azure 8.3.0.
При использовании шифрования на стороне клиента с Key Vault данные шифруются с помощью одноразового симметричного ключа шифрования содержимого (CEK), который создает клиентский пакет SDK для службы хранилища Azure. CEK зашифрован с помощью ключа шифрования ключей (KEK), который может быть парой симметричных или асимметричных ключей. Ими можно управлять локально или сохранить в Key Vault. Зашифрованные данные затем передаются в службу хранилища Azure.
Дополнительные сведения о шифровании на стороне клиента с помощью Key Vault и инструкции приведены в разделе Шифрование и расшифровка BLOB-объектов в хранилище Microsoft Azure с помощью хранилища ключей Azure.
Вы также можете использовать клиентскую библиотеку службы хранилища Azure для Java, чтобы шифровать данные на стороне клиента перед передачей в службу хранилища Azure и расшифровывать их при скачивании в клиент. Эта библиотека также поддерживает интеграцию с Key Vault для управления ключами учетной записи хранения.
Шифрование неактивных данных с помощью Базы данных SQL Azure
База данных SQL Azure — это реляционная база данных общего назначения (служба) в Azure, которая поддерживает такие структуры, как реляционные данные, JSON, пространственные данные и XML. База данных SQL поддерживает шифрование на стороне сервера путем прозрачного шифрования данных (TDE) и шифрование на стороне клиента посредством функции Always Encrypted.
прозрачное шифрование данных.
TDE используется для шифрования файлов данных SQL Server, Базы данных SQL Azure и Azure Synapse Analytics в режиме реального времени с помощью ключа шифрования базы данных (DEK), хранящегося в загрузочной записи базы данных для обеспечения доступности во время восстановления.
TDE обеспечивает защиту данных и файлов журналов с помощью алгоритмов шифрования AES и 3DES. Шифрование файлов базы данных выполняется на уровне страницы. Страницы в зашифрованной базе данных шифруются перед записью на диск и расшифровываются во время чтения в память. В созданных базах данных Azure SQL TDE включено по умолчанию.
Функция Always Encrypted
Используя функцию Always Encrypted в SQL Azure, можно шифровать данные в клиентских приложениях перед их сохранением в базе данных SQL Azure. Можно также включить делегирование прав администрирования локальной базы данных третьим лицам и обеспечить разделение на владельцев данных (которые могут просматривать данные) и управляющих данными (у которых не должно быть доступа к данным).
Шифрование на уровне ячейки или столбца
База данных SQL Azure позволяет применять симметричное шифрование к столбцу данных с помощью Transact-SQL. Данный подход называется шифрованием на уровне ячейки или столбцам, так как при этом можно зашифровать определенные столбцы или даже ячейки данных с помощью разных ключей шифрования. При этом обеспечивается более детальное шифрование, чем при использовании TDE, при котором данные шифруются на страницах.
CLE имеет встроенные функции, которые можно использовать для шифрования данных с помощью симметричных или асимметричных ключей, с помощью открытого ключа сертификата или парольной фразы с использованием 3DES.
Шифрование базы данных Azure Cosmos DB
Azure Cosmos DB — это глобально распределенная многомодельная база данных Майкрософт. Пользовательские данные, хранящиеся в Azure Cosmos DB, в ненезависимом хранилище (твердотельные накопители) шифруются по умолчанию. Невозможно включить или отключить такое шифрование. Шифрование неактивных данных реализуется с применением различных технологий обеспечения безопасности, включая безопасные системы хранения ключей, зашифрованные сети и криптографические API. Ключами шифрования управляет корпорация Майкрософт, и их смена осуществляется в соответствии с ее внутренними правилами. При необходимости можно добавить второй уровень шифрования с ключами, которыми управляете вы, с помощью функции ключи, управляемые клиентом, или CMK.
Шифрование неактивных данных в Data Lake
Azure Data Lake — корпоративный централизованный репозиторий данных различных типов, собранных до любого формального определения требований или схемы. Data Lake Store поддерживает модель "Включено по умолчанию", прозрачное шифрование неактивных данных, настраиваемое во время создания учетной записи. По умолчанию Azure Data Lake Store управляет ключами автоматически, но вы можете управлять ими вручную.
При шифровании и расшифровке данных используются три типа ключей: главный ключ шифрования (MEK), ключ шифрования данных (DEK) и ключ шифрования блоков (BEK). MEK используется для шифрования DEK, хранящегося на постоянном носителе, а BEK можно получить на основе DEK и блока данных. Если вы управляете собственными ключами, MEK можно сменить.
Шифрование передаваемых данных
Azure предлагает множество механизмов защиты данных при их перемещении из одного расположения в другое.
Шифрование трафика канального уровня в Azure
Когда трафик клиентов Azure перемещается между центрами обработки данных — за пределами физических границ, не контролируемых корпорацией Майкрософт (или от имени корпорации Майкрософт), — к базовому сетевому оборудованию для подключения "точка — точка" применяется метод шифрования трафика канального уровня, использующий стандарты безопасности IEEE 802.1AE MAC (также известные как MACsec). Пакеты шифруются на устройствах перед отправкой, предотвращая физические атаки "man-in-the-middle" или snooping/wiretapping. Так как эта технология интегрирована в само сетевое оборудование, она обеспечивает шифрование со скоростью передачи данных на сетевом оборудовании без заметного увеличения задержки связи. Шифрование MACsec включено по умолчанию для всего трафика Azure, передаваемого в пределах региона или между регионами. Для его включения никаких действий со стороны клиентов не требуется.
Шифрование TLS в Azure
Корпорация Майкрософт дает клиентам возможность использовать протокол TLS для защиты данных при их передаче между облачными службами и клиентами. Центры обработки данных Майкрософт устанавливают подключение по протоколу TLS с клиентскими системами, подключающимися к службам Azure. TLS обеспечивает надежную аутентификацию, конфиденциальность сообщений, целостность данных (включая обнаружение незаконного изменения, перехвата и подделки сообщений), взаимодействие, гибкость алгоритмов, простоту развертывания и использования.
Полная безопасность пересылки (PFS) позволяет защитить подключения между клиентскими системами заказчиков и облачными службами Майкрософт с помощью уникальных ключей. Подключения также поддерживают 2048-разрядную длину ключей на основе RSA, длину ключей ECC 256-разрядной версии, проверку подлинности сообщений SHA-384 и шифрование данных AES-256. Благодаря такому сочетанию усложняется перехват данных и доступ к ним во время передачи.
Транзакции со службой хранилища Azure
При взаимодействии со службой хранилища Azure на портале Azure все транзакции выполняются по протоколу HTTPS. Кроме того, для взаимодействия со службой хранилища Azure можно использовать REST API службы хранилища по протоколу HTTPS. Можно принудительно задать использование протокола HTTPS при вызове интерфейсов REST API для доступа к объектам в учетных записях хранения, включив безопасное перемещение для учетной записи хранения.
Подписанные URL-адреса (SAS), которые можно использовать для делегирования доступа к объектам службы хранилища Azure, предусматривают возможность указывать, что при использовании подписанных URL-адресов можно использовать только протокол HTTPS. Таким образом любой пользователь, отправляя ссылки с маркерами SAS, будет использовать правильный протокол.
Протокол SMB 3.0, используемый для доступа к файловым ресурсам Azure, поддерживает шифрование и может использоваться в Windows Server 2012 R2, Windows 8, Windows 8.1 и Windows 10. Он обеспечивает доступ между регионами и даже доступ на компьютере.
При шифровании на стороне клиента данные шифруются перед отправкой в ваш экземпляр службы хранилища Azure, чтобы обеспечить их шифрование при передаче по сети.
Шифрование SMB в виртуальных сетях Azure
С помощью SMB 3.0 на виртуальных машинах под управлением Windows Server 2012 или более поздней версии можно защитить передачу данных путем шифрования данных при передаче по виртуальной сети Azure. Шифрование данных помогает защитить их от незаконного изменения и перехвата. Администраторы могут включить шифрование SMB для всего сервера или определенных общих ресурсов.
По умолчанию после включения шифрования SMB для общего ресурса или сервера доступ к зашифрованным общим ресурсам разрешен только клиентам SMB 3.0.
Шифрование передаваемых данных в виртуальных машинах
В зависимости от типа подключения шифрование данных, передаваемых с виртуальных машин под управлением Windows, на них и между ними, осуществляется несколькими способами.
Сеансы RDP
Вы можете подключиться к виртуальной машине и войти в нее с помощью протокола удаленного рабочего стола с клиентского компьютера Windows или с компьютера Mac с установленным клиентом RDP. Данные, передаваемые по сети во время сеанса RDP, можно защитить с помощью протокола TLS.
Кроме того, можно воспользоваться удаленным рабочим столом для подключения к виртуальной машине Linux в Azure
Защита доступа к виртуальным машинам Linux с помощью SSH
С помощью Secure Shell (SSH) можно подключиться к виртуальным машинам Linux, работающим в Azure, для удаленного управления. SSH — это протокол зашифрованного подключения, позволяющий безопасно входить в систему через незащищенные соединения. Это протокол подключения по умолчанию для виртуальных машин Linux, размещенных в Azure. Используя ключи SSH для аутентификации, не нужно применять пароли для входа. SSH использует пару открытого и закрытого ключей (асимметричное шифрование) для аутентификации.
Шифрование Azure VPN
К Azure можно подключиться через виртуальную частную сеть, создающую безопасный туннель, защищающий данные, отправляемые по сети.
VPN-шлюзы Azure
VPN-шлюз Azure можно использовать для отправки зашифрованного трафика между виртуальной сетью и локальным расположением по общедоступному подключению или между виртуальными сетями.
VPN-подключения типа "сеть — сеть" используют протокол IPsec для шифрования транспорта. VPN-шлюзы Azure используют набор предложений по умолчанию. VPN-шлюзы Azure можно настроить для использования настраиваемой политики IPsec/IKE с определенными алгоритмами шифрования и надежностью ключа, а не наборов политик по умолчанию Azure.
VPN типа "точка — сеть"
VPN-подключения типа "точка — сеть" позволяют отдельным клиентским компьютерам осуществлять доступ к виртуальной сети Azure. Для создания VPN-туннеля используется протокол SSTP. Он может проходить через брандмауэры (туннель выглядит как HTTPS-подключение). Для создания подключений типа "точка — сеть" можно использовать собственный корневой центр сертификации (ЦС) внутренней инфраструктуры открытых ключей.
Вы можете настроить VPN-подключение типа "точка — сеть" к виртуальной сети на портале Azure, используя аутентификацию на основе сертификата или PowerShell.
Дополнительные сведения о VPN-подключениях типа "точка — сеть" к виртуальным сетям Azure приведены в следующих разделах:
VPN-подключения типа "сеть — сеть"
Подключение VPN-шлюза типа "сеть — сеть" можно использовать для создания подключения между локальной сетью и виртуальной сетью Azure через VPN-туннель по протоколу IPsec/IKE (IKEv1 или IKEv2). Для этого типа подключения требуется локальное VPN-устройство, которому назначен внешний общедоступный IP-адрес.
Вы можете настроить VPN-подключение типа "сеть — сеть" к виртуальной сети с помощью Azure, PowerShell или Azure CLI.
Дополнительные сведения см. в разделе:
Создание подключения типа "сеть — сеть" на портале Azure
Создание виртуальной сети с VPN-подключением типа "сеть — сеть" с помощью PowerShell
Создание виртуальной сети с VPN типа "сеть — сеть" с помощью интерфейса командной строки
Шифрование передаваемых данных в Data Lake
Передаваемые (перемещаемые) данные также всегда шифруются в Data Lake Store. Данные не только шифруются перед сохранением на постоянном носителе. Они также всегда защищены при передаче благодаря использованию протокола HTTPS. HTTPS — единственный протокол, который поддерживают интерфейсы REST в Data Lake Store.
Дополнительные сведения о шифровании передаваемых данных в Data Lake см. в разделе Шифрование данных в Azure Data Lake Store.
Управление ключами с помощью Key Vault
Без соответствующей защиты и управления ключами шифрование бесполезно. Корпорация Майкрософт рекомендует использовать Key Vault в качестве решения по управлению доступом к ключам шифрования, используемым облачными службами. Разрешения на доступ к ключам можно назначать службам или пользователям с помощью учетных записей Microsoft Entra.
Key Vault освобождает организации от необходимости настройки, обновления и обслуживания аппаратных модулей безопасности и программного обеспечения по управлению ключами. При использовании Key Vault вы сохраняете контроль. В корпорации Майкрософт не видны ваши ключи, а приложения не имеют к ним прямого доступа. Кроме того, аппаратные модули безопасности позволяют импортировать и создавать ключи.