Мы развернули сервер Radius (Freeradius 3.x) и подключили его к нашей базе данных LDAP (ForgeRock OpenDJ).
Мы успешно настроили EAP-TTLS с действующими сертификатами и установите его как метод подключения по умолчанию. (почти все остальные настройки оставлены по умолчанию)
Однако, когда EAP-TTLS установлен, пароль передается через PAP. Я не специалист по сетям, но я читал, что PAP не защищен и не должен использоваться? (Я чувствую, что в Интернете много запутанного материала)
Если я попытаюсь войти в систему с помощью любого другого, например MS-CHAPv2, произойдет сбой с различными ошибками:
FAILED: No NT/LM-Password. Cannot perform authentication'
или
freeradius_1 | (22) eap_md5: ERROR: Cleartext-Password is required for EAP-MD5 authentication
Очевидно, это требует дополнительной настройки.
Вопрос в том, подходит ли нам PAP, когда у нас есть EAP-TTLS с 2019 года? Или нам стоит подумать о том, чтобы установить другой тип по умолчанию?
У нашего LDAP есть хешированные пароли (очевидно), так что у нас вообще есть другой вариант? На основе этот документ который я нашел, кажется, это наш единственный вариант.
В этом случае при условии, что сертификат, представленный сервером, правильно подтвержден запрашивающей стороной, конфиденциальность (защита от отслеживания) и целостность (защита от модификации) обеспечивается EAP-TLS / TLS.
Ключевым моментом здесь является то, что сертификат сервера является подтверждено правильно. Если это не так, злоумышленник может настроить сеть-приманку, предоставить запрашивающему поддельный сертификат и получить учетные данные в виде открытого текста.
Любая организация, серьезно относящаяся к безопасности, либо внедрит EAP-TLS (устраняя необходимость в пароле), либо запустит растворяемый установщик (SecureW2, Cloudpath, eduroamCAT - если это для eduroam) на своих беспроводных клиентах, чтобы правильно настроить параметры аутентификации 802.1X.
В прошлый раз, когда я проверил Windows 10, в частности, не было реализовано какое-либо закрепление сертификата / SSID, поэтому указание на то, что вы доверяли сертификату сервера во время начальной попытки аутентификации, фактически не добавляло никакой безопасности. Для последующих попыток аутентификации с другим сертификатом соискатель с радостью предоставит вам отпечаток нового сертификата без каких-либо указаний на несоответствие. Единственный способ исправить это - явно установить параметры проверки сертификата (доверенные центры сертификации, ожидаемый шаблон имени субъекта) для беспроводной сети либо вручную, либо с помощью программы установки с растворением (как упоминалось выше).
Чтобы ответить на ваш другой вопрос о том, какие внутренние методы TTLS / PEAP будут работать с LDAP, если вы используете аутентифицированные привязки LDAPv3 для аутентификации пользователя, тогда да, будут работать только PAP или GTC (см. PEAPv0 / GTC). Оба они действуют примерно одинаково.
Если вы извлекаете хэши и выполняете сравнение локально на сервере RADIUS и сохраняете хэш NT-Password для пароля пользователя, а также любой другой хэш, который вы используете, то это позволяет вам выполнять MSCHAPv2.
Честно говоря, NT-пароли используют чрезвычайно слабое хеширование (MD4), так что это почти так же плохо, как хранение открытого текста в OpenLDAP. Вам необходимо взвесить вероятность того, что ваша установка OpenLDAP будет скомпрометирована, и риск того, что все хэши будут украдены / взломаны, и вероятность того, что кто-то проведет атаку MITM, а также риск кражи подмножества паролей.
В заключение: если вы используете EAP-PWD, существует некоторая ограниченная поддержка использования хешированных копий пароля как на сервере Supplicant, так и на сервере RADIUS, но этот метод EAP широко не поддерживается за пределами сред Linux.
Я очень недоволен ситуацией, TBH, но чтобы заставить всех принять новый метод EAP, потребуются значительные усилия со стороны нескольких поставщиков.
Единственное, что можно реализовать на стороне FreeRADIUS, - это настроить «выборочные проверки» для параметров проверки сертификатов и исправить любых пользователей, которые их не выдержали. Это можно сделать путем динамической замены сертификата, представленного соискателю, на недействительный и проверки того, что соискатель возвращает правильное предупреждение (invalid_ca) на сервер RADIUS. Это приведет к сбою аутентификации (если все работает правильно), но соискатели также будут довольно быстро повторять попытку, так что, если выборочные проверки происходят довольно редко, это не слишком большая проблема.