Security

Почему лучше использовать EAP-TTLS вместо PEAP?

Как я понял, EAP-TTLS и PEAP имеют одинаковый уровень безопасности при внедрении в беспроводные сети. Оба обеспечивают аутентификацию только на стороне сервера с помощью сертификата. Недостатком EAP-TTLS может быть отсутствие встроенной поддержки в Microsoft Windows, поэтому каждый пользователь должен устанавливать дополнительное программное обеспечение.

Преимуществом EAP-TTLS может быть поддержка менее безопасных механизмов аутентификации (PAP, CHAP, MS-CHAP), но зачем они нужны в современной и правильно защищенной беспроводной системе?

Каковы ваши мнения? Почему я должен внедрять EAP-TTLS вместо PEAP? Допустим, у меня больше всего пользователей Windows, среднее количество пользователей Linux и меньше всего пользователей iOS, OSX.

Ответ 1

Клиентские ограничения:

  1. Клиенты iOS не будут поддерживать EAP-TTLS с PAP (только MsCHAPv2), если вы вручную (через компьютер) не установите профиль.

  2. Клиенты Windows не будут поддерживать EAP-TTLS из коробки (вам нужно будет установить программу типа secure2w), если у них нет беспроводных карт Intel.

  3. Android поддерживает почти все комбинации EAP и PEAP.

Ограничения базы данных паролей

Таким образом, реальная проблема заключается в том, как хранятся ваши пароли.

Если они находятся в:

  1. Active Directory, то вы можете использовать EAP-PEAP-MsCHAPv2 (на компьютерах Windows) и EAP-TTLS-MsCHAPv2 (на клиентах iOS).

  2. Если вы храните пароли в LDAP, вы можете использовать EAP-TTLS-PAP (Windows-боксы), но вы будете потеряны в отношении iOS.

Важные вопросы безопасности:

  1. И EAP-TTLS, и PEAP используют TLS (Transport Layer Security) поверх EAP (Extensible Authentication Protocol).

  2. Как вы, возможно, знаете, TLS является более новой версией SSL и работает на основе сертификатов, подписанных доверенным центральным хранилищем (Certification Authority CA).

  3. Чтобы создать туннель TLS, клиент должен подтвердить, что он обменивается данными с правильным сервером (в данном случае с сервером radius, используемым для аутентификации пользователей). Для этого он проверяет, представил ли сервер действительный сертификат, выданный доверенным центром сертификации.

  4. Проблема в том, что обычно у вас нет сертификата, выданного доверенным центром сертификации, а есть сертификат, выданный специальным центром сертификации, который вы создали только для этой цели. Операционная система будет жаловаться пользователям, что она не знает этот CA, и пользователи (ориентированные на вас) с радостью примут это.

Но это создает серьезный риск для безопасности:

  1. Кто-то может установить несанкционированную точку доступа внутри вашего предприятия (например, на ноутбуке), настроить ее на общение с собственным сервером radius (работающим на его ноутбуке или на собственной несанкционированной точке доступа).

  2. Если ваши клиенты обнаружат, что эта точка доступа имеет более сильный сигнал, чем ваши точки доступа, они попытаются подключиться к ней. Увидят неизвестный CA (пользователи принимают), установят TLS туннель, отправят аутентификационную информацию по этому туннелю, а неавторизованный radius запишет ее в журнал.

  3. Теперь важная часть: если вы используете схему аутентификации открытым текстом (например, PAP), мошеннический сервер radius будет иметь доступ к паролям ваших пользователей.

  4. Вы можете решить эту проблему, используя действительный сертификат, выданный центром сертификации, которому доверяют и iOS, и Windows (и Android). Или же вы можете распространить корневой сертификат центра сертификации среди своих пользователей и сообщить им, чтобы они отказывались от подключения, если увидят проблемы с сертификатом.

Ответ 2

PEAPv0, PEAPv1 и TTLS имеют одинаковые свойства безопасности.

PEAP это SSL-обертка вокруг EAP.

TTLS это SSL-обертка вокруг диаметральных TLV, несущих атрибуты аутентификации RADIUS.

EAP-TTLS-PAP может быть полезен (а не EAP-PEAP или EAP-TTLS), если внутренняя база данных аутентификации хранит учетные данные в необратимом хэш-формате, таком как bigcrypt или любой форме, не совместимой с MSCHAP (NT-OWF). В этом случае невозможно аутентифицироваться с помощью любого из методов, основанных на CHAP.

Хотя вы также можете эмулировать PAP, используя EAP-PEAPv1-GTC, это не так широко поддерживается клиентами.

PEAP имеет некоторую дополнительную функциональность по сравнению с TTLS при согласовании версии PEAP и исторических несовместимостей в PEAPv1 (таких как особенности клиента при получении мастер-ключа из PRF), которые попали в ранние реализации.

Обычно я вижу EAP-TTLS во встроенных клиентах, таких как абонентские модули в беспроводном оборудовании, а PEAP чаще используется в ноутбуках и мобильных телефонах.

EAP-TTLS исторически не поддерживался в клиентах Windows без необходимости установки стороннего программного обеспечения. Теперь EAP-TTLS поддерживается, начиная с Windows 8.

Некоторые дополнительные соображения:

EAP-TTLS был изобретен поставщиком RADIUS. EAP-PEAPv0 был изобретен компанией Microsoft. EAP-PEAPv1 появился в процессе IETF.

Была дополнительная работа IETF над PEAPv2, которая должна была сделать систему более безопасной за счет криптографической привязки к внутренним методам аутентификации. Насколько я могу судить, это ни к чему не привело.

Ответ 3

Основная причина, по которой люди используют TTLS, заключается в том, что таким образом вы можете позволить вашему серверу radius видеть пароль в открытом виде, что может быть полезно, в зависимости от бэкенда аутентификации.

Более новое соображение, которое может быть в пользу PEAP, заключается в том, что SoH, AFAICT представляется серверу RADIUS, только если он его запрашивает, а единственный способ запросить его на системах Microsoft это во время PEAP сессии. Так что если вы хотите получить агентскую оценку из безагентской оценки (поддержка которой, вероятно, будет обеспечена другими поставщиками AV), вам нужен PEAP, однако, если вы хотите обойти однофакторный бэкенд OAUTH, принимая голый пароль (потому что большие IDP, которые не предоставляют услугу внутреннего туннеля, заслуживают не меньшего, а их пользователи достаточно невежественны, чтобы ввести его), используйте TTLS.

Ответ 4

Я думаю, что автоподключение выиграет от обоих вариантов: чем больше вариантов, тем меньше хлопот... например, если автоподключение сначала пробует TTLS-PAP, а затем PEAP-MSCHAP, автоподключение будет быстрее при наличии TTLS-PAP. Так что в принципе: поддерживайте оба варианта, я не вижу недостатков.

Поскольку безопасность MSCHAP нарушена, PAP с паролем в открытом виде через ttls имеет тот же уровень безопасности, что и PEAP-MSCHAP.

Ответ 5

Необходимо учитывать, какие методы EAP поддерживаются клиентом изначально, а не с помощью дополнительного программного обеспечения, и какие методы внутренней аутентификации поддерживает сервер.

PEAP и EAP-TTLS предназначены для проверки идентификации сервера, но вы должны убедиться, что клиенты правильно настроены для проверки сертификата.

PEAP и MS-CHAPv2 хорошо поддерживаются клиентами, но, если ваш сервер не поддерживает MS-CHAPv2 (потому что вы не храните пароли в открытом виде), вам придется придумать другое решение. Это основная причина, по которой люди используют EAP-TTLS и PAP.

Схожие статьи

Security

Советы по оптимальному переходу на производственный сервер (UNIX)

Обфускация и деобфускация кода: всё про этот метод защиты ПО
Security

Обфускация и деобфускация кода: всё про этот метод защиты ПО

Security

Может ли виртуальная машина (ВМ) «взломать» другую ВМ, работающую на той же физической машине?

Security

Что требуется разработчикам для запуска собственного сервера виртуальных машин в корпоративной среде

×