Intel AMT KVM - внутреннее устройство и настройка

Поддержка Intel AMT KVM появилась начиная с Intel AMT версии 6. Представляет собой встроенный в Intel ME сервер RealVNC. Т.е. это целиком "сторонний" (по отношению к Intel) продукт, располагаемый в Intel ME 6.x и более новых версий и позволяющий любому VNC-совместимому клиенту (в том числе на основе открытых/бесплатных решений) управлять AMT-компьютером.
В качестве компенсации за предоставление собственной разработки, RealVNC получила право взимать плату за некоторые дополнительные фичи, уникальные именно при использовании собственного (закрытого/платного) клиентского RealVNCPlus.


Используемые для Intel AMT KVM порты
 

AMT KVM Ports

Внутри Intel ME имеется RealVNC-сервер, позволяющий удалённо видеть, что происходит на экране компьютера, а также управлять его мышкой и клавиатурой. Стандартным для VNC является порт 5900, на него от RealVNC-сервера данные идут без какой-либо обработки. Стандарт VNC не предполагает шифрования. Исключением является лишь первичная передача пароля, в процессе которого задействован DES-56bit. Который, конечно же, тоже давно устарел и не считается безопасным.
Кроме передачи на порт 5900, трафик от VNC также передаётся, если можно так сказать, "в AMT", где уже может быть зашифрован с помощью TLS-сертификата и передан в локальную сеть через "редиректный" Intel AMT порт 16995.
На картинке видно, что возможна работа и через нешифрованный редиректный порт 16994, однако точно также как и нешифрованный Intel AMT HTTP-порт 16992, он обычно не используется - собственно, зря, что ли, мы так долго настраивали сертификаты? :) Потому часто он просто и не указывается. В результате, если отбросить "лишнее" (не требующееся для рассмотрения работы Intel AMT KVM в нашем и общем случае), получится такая схема:
 

AMT KVM Ports main

Если кратко, то порт 5900 - не шифруется, порты 16993/16995 - шифруются.

Порт 16993 остался в схеме потому, что изначальное соединение (авторизация) идёт через него, а вот уже сами данные от VNC-сервера - через 16995. Потому, в частности, для корректной работы Intel AMT KVM должны быть открыты оба этих порта.

Итого, все стандартные VNC-клиенты, соответственно, смогут работать с Intel AMT KVM лишь через 5900-й порт и не будут работать через 16993/16995, т.к. работа с последними подразумевает использование Intel AMT SDK, про что они, конечно же, не в курсе.

К "нестандартным" относится лишь упомянутый в начале RealVNCPlus, который "знает" про Intel AMT SDK, а потому работает с 16993/16995. Его рассмотрим отдельно в следующих частях.

Конечно же, отсутствие шифрования - не самая приятная вещь, но она является следствие соблюдения (старого) стандарта. Есть разные способы исправления этого недоразумения, например, организация шифрованного туннеля, внутри которого уже используется нешифрованный VNC-трафик. Однако с учётом понятной специфики Intel AMT KVM, работающей даже без ОС, например, до её загрузки:
 

AMT starting Windows

...имеются очевидные сложности - ставить "туннель" на самом управляемом компьютере "пока некуда" (т.к. ОС не запущена). В таком случае подобный туннель можно проложить лишь, например, до роутера в подсети, через который уже подключиться к компьютеру.

В любом случае, использование стандартного порта для работы с Intel AMT KVM весьма и весьма удобно. Да и не всегда принципиально защититься от шпиёнов, слушающих ваш трафик, сколько получить возможность не ходить в какую-то бухгалтерию, а удалённо посмотреть, что у них там за "новые синие обои с непонятными буквами кто-то поставил".


Включение Intel AMT KVM с помощью Manageability Commander

Самый простой и самый очевидный способ включения Intel AMT KVM - с помощью Командира. В предыдущих частях мы уже как-то настроили Intel AMT 6 на материнской плате Intel DQ57TM. Отличия в работе AMT KVM для всех версий АМТ его поддерживающих (т.е. AMT6+) нет. Потому можно смело демонстрировать на "самом старом" - ровно также это будет и для "самого нового" - AMT 10 на момент написания статьи.
Итак, подключаемся к АМТ-компьютеру:
 

connect to AMT6

Ранее мы настроили AMT-сертификаты на данном компьютере, потому подключаться нужно с указанием DNS-имени, в данном случае это amt6.vpro.by (указывающее на локальный адрес 192.168.0.62). При попытке подключения к АМТ с указанием "привычного" IP получим несоответствие Common Name сертификата (имя, на которое он выдаётся):
 

connect to AMT6 IP

Т.е. соединение устанавливает и оно шифрованное (TLS - также виден замок), однако после получим проблемы (неработоспособность некоторых фич, связанных с TLS).
Сходные проблемы получим, если на компьютере, где запускается Manageability Commander не установлен root-сертификат, от которого мы выписывали АМТ-сертификат:
 

connect to AMT6 root cert

Выполнив перечисленные важные условия для полностью корректной работы с АМТ (должен быть синий значок соединения и замочек) - двигаемся дальше.
Переходим на очевидно главную для работы с Intel AMT KVM вкладку Remote Control. Какие изначальные настройки будут у вас (для вашей АМТ-системы) точно предположить нельзя, обычно они имеют следующий вид ("по дефолту"):
 

AMT Remote Control

Первые два нас сейчас (для работы с Intel AMT KVM) не интересуют, остальные обычно такие:

  • Redirection Port — Disabled
  • User Consent Required — KVM Only
  • Remote Desktop Settings — Disabled, no ports open
  • Remote Desktop Viewer - Not set

К сожалению, пункты для управления KVM не очевидны, да к тому же их несколько (и все важны). В старых версиях MDTK было по-другому:
 

AMT old MDTK7

Видна отдельная вкладка KVM, но в реальности с ней связаны и другие настройки. Потому разберём подробно их по очереди.
Первым делом жмём на "самую главную" для Intel AMT KVM кнопку Remote Desktop Settings:
 

AMT Remote Desktop Settings

Видно, что некоторые пункты (Redirection Port, User Consent) дублируют уже имеющиеся, их изменение здесь повлечёт изменение и на "родительской" вкладке. Это из-за того, что они не "чисто-KVM-ные", а используются и для другого функционала Intel AMT (например, IDE-R - удалённая загрузка АМТ-компьютера по сети).
Чтобы разобраться с этой путаницей, по очереди пройдёмся по всем пунктам с отражением на внутреннюю схему работы AMT KVM.

State
 

AMT State

Эта "главная кнопка" включает/выключает" работу VNC-сервера вообще, потому при его выключении другие параметры значения не имеют особого смысла и потому становятся серыми (недоступными для изменения):
 

AMT State Disabled

Естественно, для использования AMT KVM пункт State должен быть Enabled.

Standard Port (5900)
 

AMT Standard Port 5900

Для того, чтобы можно было использовать AMT KVM с помощью стандартного (читай - бесплатного) VNC-клиента, необходимо включить его (AMT KVM) работу на стандартном (для VNC) порту 5900.
Для этого и предназначена данная опция - она включает/выключает VNC-трафик на порту 5900, никак его не преобразовывая и который далее не имеет никакой "АМТ-составляющей" (потому и доступен любому VNC-клиенту).

Redirection Port (16993/16995)
 

AMT Redirection Port

Данная опция включает перенаправление VNC-трафика "на уровень AMT".

"Перенаправление" (Redirect) не означает, что "оттуда" (со стандартного VNC-порта) трафик "забирается" и что при включении Redirect Port трафик на порту 5900 пропадает. Нет, он условно "копируется" - и туда, и туда.

"На уровень АМТ" обозначает, что после с ним можно будет работать через АМТ порты 16993/16995.

Default Primary Monitor

Данная опция актуальна лишь в мультимониторных системах, когда к управляемому АМТ-компьютеру подключены несколько дисплеев. Однако нужно помнить, что это касается лишь встроенной графики, при работе с "внешними" видеокартами функционал Intel AMT KVM не будет доступен.

Local User Consent

По умолчанию включена "защита создания KVM-сессии" с помощью подтверждения шестизначным числом, которое высвечивается перед началом соединения на экране АМТ-компьютера и которое требуется указать администратору:
 

AMT User Consent prompt

В это время на АМТ-компьютере выскакивает окошко "Remote Assistance Session" с кодом доступа, который и нужно ввести, чтобы начать управлять компьютером с помощью АМТ KVM:
 

AMT Remote Assistance Session Windows

При чём не важно, загружена ли операционная система, данное "окошко" запрашивается в любой момент (при обращении к АМТ компьютеру для создания VNC-подключения), например, при старте Windows:
 

AMT Remote Assistance Session Windows starting

Или в BIOS Setup:
 

AMT Remote Assistance Session BIOS

Подобная "защита" крайне неудобна (для администратора в первую очередь), особенно это очевидно, когда пытаешься управлять собственным же компьютером. Потому один из первых вопросов при работе с Intel AMT KVM - как её отключить. Попытка это сделать тут же обычно заканчивается ошибкой:
 

AMT User Consent error

При чём может ругаться (как на приведенной выше) на другие опции (это глюк программы), либо вообще делать вид, что данная настройка применилась, однако при работе будет вновь запрашивать подтверждение (User Consent) либо вообще не хотеть соедниться - всё это потому, что обычно настройка User Consent присутствует в BIOS/MEBx:
 

AMT User Consent MEBx

А все настройки в BIOS/MEBx имеют "больший вес" и их нельзя изменить программно. Если это не учитывать (а, к сожалению, не всегда, вообще, технически возможно это учесть/перепроверить) - будут непонимание и раздражение "почему не работает". Например, в случае материнской платы Intel DQ57TML по умолчанию User Consent включён:
 

AMT User Consent MEBx KVM

Изменяем на None:
 

AMT User Consent MEBx None

И теперь он отключится и больше не будет запрашиваться.

Вариант "ALL" - подразумевает запрос User Consent и для KVM и для IDE-R. Большинство утилит "не умеют" такой вариант, потому им лучше не пользоваться.

В разных системах-компьютерах-ноутбуках-биосах пункт управления User Consent может называться по-разному и располагаться в других менюшках - просто учитывайте такой факт. Хотя его может и не быть - тогда получится программно (с помощью Командира) его и выключить и включить при желании.

Ещё одно важное замечание: изменить настройки User Consent, подключившись через AMT KVM-сессию не получится (т.к. данные данные переменные "задействованы"). Это придётся сделать "ручками" (зайдя на компьютере в BIOS Setup) либо через SOL-доступ (а не KVM):

AMT SOL

User Consent Timeout

Если вы всё же решите использовать User Consent, то в данном пункте можно задать количество секунд, пока "висит" окошко с запросом кода:



AMT User Consent prompt timeout

После окончания этого периода потребуется повторить запрос и ввести новые цифры доступа.

Remote Session Timeout

Здесь задаётся время таймаута KVM-сессии в минутах - через сколько минут она оборвётся, если администратор ничего не делает. Стандартные значения 3-5 минут.
Если указать 0 - сессия не будет обрываться (к сожалению, некоторые утилиты некорректно обрабатывают такой вариант, хотя это обычно удобней).

Remote Desktop Authetication

Здесь задаётся пароль доступа к VNC-серверу (как раз тот, который передаётся с DES-шифрованием). По стандарту VNC он должен быть из 8 символов и быть "строгим" (т.е. типа P@ssw0rd).
Если в данной строке его не указать - он останется прежним (просто не будет меняться).


Индикация Intel AMT KVM сессии

Процесс работы по AMT KVM на управляемом компьютере отображается в виде красной рамки вокруг всего экрана и моргающего "компьютерчика":
 

AMT Remote KVM Session

При чём, точно также как и запрос на подтверждение сессии это не относится к ОС, оно отображается везде, в т.ч. пока компьютер не загружен, например, в BIOS Setup:
 

AMT Remote KVM Session BIOS

Рекомендуемые настройки Intel AMT KVM

Итак, выключив надоедливый User Consent уже можно пользоваться и получать удовольствие от Intel AMT KVM. Однако стоит также упомянуть и о "рекомендуемых настройках".
После вышеописанных манипуляций, в принципе, можно "всё включить":



AMT Recommended Settings

Однако при таком подходе на компьютере будет постоянно доступен порт 5900, на который смогут подключиться любой желающий из локальной сети (ещё раз напомню - он идёт "мимо АМТ", что видно на картинках, АМТ его лишь либо включает либо выключает).
Ещё одна особенность, если вы его (стандартный порт 5900) включили и поставили в операционной системе "ещё один" (программный) VNC-сервер на 5900 - он ("программный") не будет работать, т.к. трафик до него банально не дойдёт - 5900-й порт "загребает себе" AMT KVM).
Потому рекомендуется выключать 5900-й порт и включать его лишь на время работы (управления AMT-компьютером). Аналогично и по редиректным портам - включать их лишь на время работы. Это "официальные рекомендации" (с точки зрения максимальной безопасности), как удобней - уже решать вам.
Я обычно использую вариант с отключённым VNC-портом:
 

AMT Redirect


Это получается и защищённый (всё через TLS), и универсальный вариант - некоторые AMT KVM-утилиты (работающие именно через AMT-порты) не умеют сами включать редиректные порты перед началом KVM-сессии и предполагают, что редирект включён).

Добавить комментарий

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
Anti-bot.