SuperMicro IPMI с использованием Windows RADIUS (NPS)
Я изо всех сил пытаюсь использовать установку RADIUS на базе Windows (сервер сетевой политики) с интерфейсами SuperMicro IPMI.
Я обнаружил, что мне нужно добавить специфичный для поставщика атрибут H=4, I=4
( Приложение C в руководстве по SuperMicro IPMI), но я не уверен насчет некоторых параметров, необходимых для настройки политики NPS:
Я думаю, что мне не хватает либо кода поставщика, либо назначенного поставщиком номера атрибута, который должен иметь числовое значение. Само значение атрибута является H=4, I=4
строка.
3 ответа
ответ Джастина Реденбаха помог мне решить эту проблему. Мы используем FortiAuthenticator в качестве RADIUS-сервера. Я создал новый словарь для IPMI и импортировал его в виде файла:
VENDOR IPMI 10876
BEGIN-VENDOR IPMI
ATTRIBUTE Permissions 1 string BOTH
END-VENDOR IPMI
Затем я настроил пользователя на значения атрибутов H=4, I=4.
конфигурация пользователя в FortiAuthenticator
С этой конфигурацией все работало как шарм
Теоретически также должна быть возможность добавлять значения атрибутов непосредственно в словарь, но по какой-то причине это не сработало. Словарь должен выглядеть примерно так:
VENDOR IPMI 10876
BEGIN-VENDOR IPMI
ATTRIBUTE Permissions 1 string BOTH
VALUE UserPermissions H=4, I=4 1
END-VENDOR IPMI
Я не стал дополнительно исследовать эту проблему, поскольку мне помогло добавление значений непосредственно пользователю.
Я нашел эту статью в поисках совета о том, как настроить это в NPS. Мне удалось это выяснить, нет, благодаря поддержке SuperMicro:
Тип услуги: Вход в систему
. Специфический атрибут поставщика > Добавить
код поставщика: 10876
Да. Соответствует >
Номер атрибута, присвоенный поставщиком: 1
Формат атрибута: строка
Значение атрибута: H=4, I=4
Даже с идентификатором поставщика 0, я сомневаюсь, что это сработает, так как он будет вставлять 0x00000000 перед строковым значением... если только опция "Не соответствует" позволяет указать необработанное значение для атрибута 26.
Supermicro использовала нестандартную, не RFC-совместимую схему кодирования для своего атрибута авторизации.
Если вы посмотрите на формат Vendor-Specific
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Vendor-Id
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Vendor-Id (cont) | String...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
В начале атрибута должен быть 32-битный PEN. Но они только что вставили туда строковое значение.
Единственный способ заставить это работать (если опция "Это не соответствует" не помогает) - это использовать другой сервер RADIUS в качестве шлюза, переводя атрибут RFC, такой как Service-Type, в некорректный атрибут Supermicro.
FreeRADIUS и radiator, вероятно, могут быть настроены для этого.
FreeRADIUS> = 3.0.0 содержит явные условия для работы с некорректными атрибутами. Они помечаются как неизвестные типы октетов при получении от внешнего сервера, поэтому их можно пропустить при проксировании.
Вы также можете создать их в конфигурации, используя синтаксис OID атрибута (Attr-<TLV/OID string>
).
В этом случае вы хотите Attr-26
для необработанного поставщика типа VSA. Затем вам нужно одно из нескольких значений магической строки:
- Обратный звонок "H=1, I=1" -
Attr-26 = 0x483D312C20493D31
- Пользователь "H=2, I=2" -
Attr-26 = 0x483D322C20493D32
- Оператор "H=3, I=3" -
Attr-26 = 0x483D332C20493D33
- Администратор "H=4, I=4" -
Attr-26 = 0x483D342C20493D34