Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:
IoT Edge 1.5
Внимание
IoT Edge 1.5 LTS — это поддерживаемый выпуск. IoT Edge 1.4 LTS достиг срока окончания службы 12 ноября 2024 года. Если вы используете более ранний выпуск, ознакомьтесь с Update IoT Edge.
Azure IoT Edge для Linux в Windows использует все функции безопасности узла Windows клиента или сервера и гарантирует, что все дополнительные компоненты соответствуют тем же принципам безопасности. В этой статье описываются различные принципы безопасности, включенные по умолчанию, и некоторые необязательные принципы, которые можно включить.
Защита виртуальных машин
Курированная виртуальная машина IoT Edge для Linux (EFLOW) основана на Microsoft Azure Linux. Azure Linux — это внутреннее распространение Linux для облачной инфраструктуры Майкрософт, пограничных продуктов и служб. Azure Linux предоставляет согласованную платформу для этих устройств и служб, а также помогает Корпорации Майкрософт оставаться в курсе обновлений Linux. Дополнительные сведения см. в разделе безопасности Azure Linux.
Виртуальная машина EFLOW использует четырехточечную комплексную платформу безопасности.
- Сервисные обновления
- Корневая файловая система только для чтения
- Блокировка брандмауэра
- DM-Verity
Сервисные обновления
При возникновении уязвимостей безопасности Azure Linux предоставляет последние обновления безопасности и исправления через ежемесячные обновления EFLOW. У виртуальной машины нет диспетчера пакетов, поэтому вы не можете вручную скачать или установить пакеты RPM. EFLOW устанавливает все обновления виртуальной машины с помощью механизма обновления A/B. Дополнительные сведения об обновлениях EFLOW см. в разделе Update IoT Edge для Linux в Windows.
Корневая файловая система только для чтения
Виртуальная машина EFLOW состоит из двух основных разделов: rootfs и данных. Секции rootFS-A или rootFS-B взаимозаменяемы, и одна из них подключена как файловая система / только для чтения, поэтому вы не можете изменить файлы в этой секции. Раздел данные, монтируется в /var, доступен для записи и чтения, поэтому его содержимое можно изменять. Процесс обновления не изменяет данные, хранящиеся в этой секции, поэтому он не изменяется во всех обновлениях.
Поскольку для определённых вариантов использования может потребоваться доступ для записи в /etc, /home, /root и /var, EFLOW накладывает эти каталоги на раздел данных в /var/.eflow/overlays для предоставления доступа для записи. Эта настройка позволяет записывать данные в эти каталоги. Дополнительные сведения о наложениях см. в overlayfs.
| Раздел | Размер | Описание |
|---|---|---|
| BootEFIA | 8 МБ | Раздел прошивки A для будущей загрузки без GRUB |
| BootA | 192 МБ | Содержит загрузчик для секции A |
| RootFS A | 4 ГБ | Одна из двух активных и пассивных секций с корневой файловой системой |
| BootEFIB | 8 МБ | Раздел прошивки B для будущей загрузки без GRUB |
| BootB | 192 МБ | Содержит загрузчик для раздела B |
| RootFS B | 4 ГБ | Одна из двух активных и пассивных секций с корневой файловой системой |
| лог | 1 ГБ или 6 ГБ | Определенный раздел, смонтированный под /logs |
| Данные | 2 ГБ до 2 ТБ | Раздел состояния для хранения постоянных данных во время обновлений. Расширяемый в соответствии с конфигурацией развертывания. |
Примечание.
Разметка разделов представляет логический размер диска и не отражает физическое пространство, занимаемое виртуальной машиной на диске ОС хоста.
Брандмауэр
По умолчанию виртуальная машина EFLOW использует программу iptables для конфигураций брандмауэра. Iptables настраивает, поддерживает и проверяет таблицы правил фильтрации IP-пакетов в ядре Linux. Реализация по умолчанию позволяет входящий трафик через порт 22 (служба SSH) и блокирует другой трафик. Проверьте конфигурацию iptables , выполнив следующие действия.
Открытие сеанса PowerShell с повышенными привилегиями
Подключение к виртуальной машине EFLOW
Connect-EflowVmПеречисление всех правил iptables
sudo iptables -L
Проверенная загрузка
Виртуальная машина EFLOW поддерживает проверенную загрузку с помощью включенной функции ядра device-mapper-verity (dm-verity), которая обеспечивает прозрачную проверку целостности блочных устройств. dm-verity помогает предотвратить постоянные руткиты, которые могут удерживать привилегии суперпользователя и приводить к компрометации устройств. Эта функция гарантирует, что базовый образ программного обеспечения виртуальной машины совпадает и не изменяется. Виртуальная машина использует функцию dm-verity для проверки определенного блочного устройства, базового уровня хранилища файловой системы и просмотра соответствия ожидаемой конфигурации.
По умолчанию эта функция отключена на виртуальной машине, но ее можно включить или отключить. Дополнительные сведения см. в разделе dm-verity.
Доверенный модуль платформы (TPM)
Технология доверенного платформенного модуля (TPM) предназначена для предоставления аппаратных функций, связанных с безопасностью. Микросхема доверенного платформенного модуля — это безопасный криптопроцессор, предназначенный для выполнения криптографических операций. Микросхема включает несколько механизмов физической безопасности, чтобы сделать её устойчивой к вскрытию, и вредоносное программное обеспечение не может изменить функции безопасности TPM.
Виртуальная машина EFLOW не поддерживает vTPM. Однако вы можете включить или отключить функцию сквозного пропуска TPM, которая позволяет виртуальной машине EFLOW использовать TPM в Windows на хосте. Это позволяет выполнять два основных сценария:
- Используйте технологию TPM для автономной настройки IoT Edge устройств с помощью службы предварительной настройки устройств (DPS). Дополнительные сведения см. в статье Создание и подготовка IoT Edge для Linux на устройстве с Windows в большом масштабе с использованием доверенного платформенного модуля.
- Доступ только для чтения к криптографическим ключам, хранящимся в TPM. Дополнительные сведения см. в разделе Set-EflowVmFeature, чтобы включить сквозную передачу TPM.
Безопасная связь узла и взаимодействие с виртуальной машиной
EFLOW позволяет взаимодействовать с виртуальной машиной с помощью модуля PowerShell. Дополнительные сведения см. в разделе функции PowerShell для IoT Edge на Linux в Windows. Для выполнения этого модуля требуется сеанс с повышенными привилегиями, и он подписан сертификатом Корпорации Майкрософт.
Вся связь между хостовой операционной системой Windows и виртуальной машиной EFLOW, использующей командлеты PowerShell, осуществляется через канал SSH. По умолчанию служба SSH виртуальной машины не позволяет проходить проверку подлинности с помощью имени пользователя и пароля и разрешает проверку подлинности только на основе сертификата. Сертификат создается во время процесса развертывания EFLOW и является уникальным для каждой установки EFLOW. Чтобы предотвратить атаки методом перебора SSH, виртуальная машина блокирует IP-адрес, если он пытается более трех попыток соединения в минуту к службе SSH.
В версии непрерывного выпуска EFLOW (CR) транспортный канал для подключения SSH изменяется. Изначально служба SSH выполняется через TCP-порт 22, к которому может получить доступ любой внешний устройство в той же сети с помощью сокета TCP. Для обеспечения безопасности EFLOW CR запускает службу SSH по Hyper-V сокетам вместо обычных TCP-сокетов. Все взаимодействие по сокетам Hyper-V происходит между ОС узла Windows и виртуальной машиной EFLOW без использования сети. Эта настройка ограничивает доступ к службе SSH, разрешая подключения только для хост-ОС Windows. Дополнительные сведения см. в сокетах Hyper-V.
Следующие шаги
Дополнительные сведения о основах безопасности Windows IoT
Будьте в курсе последних обновлений IoT Edge для Linux на Windows.