Поделиться через


IoT Edge для Linux в системе безопасности Windows

Область применения: Флажок IoT Edge 1.4 IoT Edge 1.4

Внимание

Поддерживаются выпуски IoT Edge 1.5 LTS и IoT Edge 1.4. IoT Edge 1.4 LTS заканчивается жизнью 12 ноября 2024 года. Если вы используете более ранний выпуск, см. статью Обновление IoT Edge.

Azure IoT Edge для Linux в Windows дает преимущества от всех предложений безопасности от запуска на узле клиента или сервера Windows и гарантирует, что все дополнительные компоненты сохраняют одну и ту же локальную среду безопасности. В этой статье содержатся сведения о различных локальных средах безопасности, включенных по умолчанию, и некоторые из необязательных локальных объектов, которые пользователь может включить.

Защита виртуальных машин

Курированная виртуальная машина IoT Edge для Linux (EFLOW) основана на Microsoft CBL-Mariner. CBL-Mariner — это внутреннее распространение Linux для облачной инфраструктуры Майкрософт и пограничных продуктов и служб. CBL-Mariner предназначен для обеспечения согласованной платформы для этих устройств и служб и повышает способность Корпорации Майкрософт оставаться в курсе обновлений Linux. Дополнительные сведения см. в разделе "Безопасность CBL-Mariner".

Виртуальная машина EFLOW основана на четырехточечных комплексных платформах безопасности:

  1. Сервисные обновления
  2. Корневая файловая система только для чтения
  3. Блокировка брандмауэра
  4. DM-Verity

Сервисные обновления

При возникновении уязвимостей безопасности CBL-Mariner делает последние исправления безопасности и исправления, доступные для обслуживания с помощью ежемесячных обновлений ELOW. Виртуальная машина не имеет диспетчера пакетов, поэтому невозможно вручную скачать и установить пакеты RPM. Все обновления виртуальной машины устанавливаются с помощью механизма обновления EFLOW A/B. Дополнительные сведения об обновлениях EFLOW см. в статье Об обновлении IoT Edge для Linux в Windows

Корневая файловая система только для чтения

Виртуальная машина EFLOW состоит из двух основных разделов корневых файлов и данных. Секции rootFS-A или rootFS-B взаимозаменяемы, и одна из этих секций подключена как файловая система /только для чтения, что означает, что никакие изменения не допускаются в файлах, хранящихся в этой секции. С другой стороны, раздел данных, подключенный к /var разделу, доступен для чтения и записи, что позволяет пользователю изменять содержимое внутри секции. Данные, хранящиеся в этой секции, не управляются процессом обновления и поэтому не будут изменяться во время обновлений.

Так как вам может потребоваться доступ /etcна запись в , /var /home/rootдля конкретных вариантов использования, доступ на запись для этих каталогов выполняется путем их переложения в раздел данных специально в каталог./var/.eflow/overlays Конечным результатом этого является то, что пользователи могут писать что-либо в предыдущие упомянутые каталоги. Дополнительные сведения о наложениях см. в разделе о наложениях.

Макет секции EFLOW CR

Секция Размер Description
BootEFIA 8 МБ Раздел встроенного ПО A для будущей загрузки GRUBless
BootA 192 МБ Содержит загрузчик для секции A
RootFS A 4 ГБ Одна из двух активных и пассивных секций с корневой файловой системой
BootEFIB 8 МБ Раздел встроенного ПО B для будущей загрузки GRUBless
BootB 192 МБ Содержит загрузчик для раздела B
RootFS B 4 ГБ Одна из двух активных и пассивных секций с корневой файловой системой
Журнал 1 ГБ или 6 ГБ Журналы, связанные с определенным разделом в /logs
Data 2 ГБ до 2 ТБ Секции с отслеживанием состояния для хранения постоянных данных в обновлениях. Расширяемый в соответствии с конфигурацией развертывания

Примечание.

Макет секции представляет размер логического диска и не указывает физическое пространство, которое виртуальная машина будет занимать на диске ОС узла.

Брандмауэр

По умолчанию виртуальная машина EFLOW использует программу iptables для конфигураций брандмауэра. Iptables используется для настройки, обслуживания и проверки таблиц правил фильтрации IP-пакетов в ядре Linux. Реализация по умолчанию разрешает только входящий трафик через порт 22 (служба SSH) и блокирует трафик в противном случае. Конфигурацию iptables можно проверить следующим образом:

  1. Открытие сеанса PowerShell с повышенными привилегиями

  2. Подключение к виртуальной машине EFLOW

    Connect-EflowVm
    
  3. Перечисление всех правил iptables

    sudo iptables -L
    

    По умолчанию iptables EFLOW

Проверенная загрузка

Виртуальная машина EFLOW поддерживает проверенную загрузку с помощью включенной функции ядра device-mapper-verity (dm-verity), которая обеспечивает прозрачную проверку целостности блочных устройств. dm-verity помогает предотвратить постоянные корневые киты, которые могут храниться на корневых привилегиях и компрометации устройств. Эта функция гарантирует, что базовый образ программного обеспечения виртуальной машины он такой же, и он не был изменен. Виртуальная машина использует функцию dm-verity для проверки конкретного блочного устройства, базового уровня хранилища файловой системы и определения соответствия ожидаемой конфигурации.

По умолчанию эта функция отключена в виртуальной машине и может быть включена или отключена. Дополнительные сведения см. в разделе dm-verity.

Доверенный модуль платформы (TPM)

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

Виртуальная машина EFLOW не поддерживает vTPM. Однако пользователь может включить или отключить сквозную функцию доверенного платформенного модуля, которая позволяет виртуальной машине EFLOW использовать TPM операционной системы Windows. Это позволяет использовать два основных сценария:

Безопасный узел и обмен данными с виртуальной машиной

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.