IEEE 802.1X — это стандарт IEEE для управления доступом к сети на основе портов (PNAC). Он является частью группы сетевых протоколов IEEE 802.1 . Он предоставляет механизм аутентификации для устройств, желающих подключиться к локальной или беспроводной локальной сети .
Стандарт напрямую касается техники атаки под названием Hardware Addition [1] , когда злоумышленник, выдавая себя за гостя, клиента или сотрудника, проносит в здание хакерское устройство, которое затем подключается к сети, предоставляя себе полный доступ. Яркий пример проблемы произошел в 2005 году, когда машина, подключенная к сети Walmart , взломала тысячи их серверов. [2]
IEEE 802.1X определяет инкапсуляцию протокола расширяемой аутентификации (EAP) по проводным сетям IEEE 802 [3] : §3.3 и по беспроводным сетям 802.11, [3] : §7.12, который известен как «EAP по локальной сети» или EAPOL. [4] EAPOL изначально был определен для IEEE 802.3 Ethernet, IEEE 802.5 Token Ring и FDDI (ANSI X3T9.5/X3T12 и ISO 9314) в 802.1X-2001, [5] но был расширен для соответствия другим технологиям IEEE 802 LAN, таким как беспроводная сеть IEEE 802.11 в 802.1X-2004. [6] EAPOL также был изменен для использования с IEEE 802.1AE («MACsec») и IEEE 802.1AR (Secure Device Identity, DevID) в 802.1X-2010 [7] [8] для поддержки идентификации сервисов и дополнительного шифрования точка-точка во внутреннем сегменте локальной сети. 802.1X является частью подуровня управления логическим каналом (LLC) эталонной модели 802. [9]
Аутентификация 802.1X включает три стороны: проситель, аутентификатор и сервер аутентификации. Проситель — это клиентское устройство (например, ноутбук), которое хочет подключиться к локальной/беспроводной локальной сети. Термин «проситель» также используется взаимозаменяемо для обозначения программного обеспечения, работающего на клиенте, которое предоставляет учетные данные аутентификатору. Аутентификатор — это сетевое устройство, которое обеспечивает канал передачи данных между клиентом и сетью и может разрешать или блокировать сетевой трафик между ними, например, коммутатор Ethernet или беспроводная точка доступа ; а сервер аутентификации , как правило, является доверенным сервером, который может получать и отвечать на запросы на доступ к сети и может сообщать аутентификатору, следует ли разрешить соединение, а также различные настройки, которые должны применяться к подключению или настройке этого клиента. Серверы аутентификации обычно запускают программное обеспечение, поддерживающее протоколы RADIUS и EAP . В некоторых случаях программное обеспечение сервера аутентификации может работать на оборудовании аутентификатора.
Аутентификатор действует как охранник защищенной сети. Запрашивающему лицу (т. е. клиентскому устройству) не разрешен доступ через аутентификатор к защищенной стороне сети до тех пор, пока личность запрашивающего лица не будет проверена и авторизована. При аутентификации на основе портов 802.1X запрашивающее лицо должно изначально предоставить требуемые учетные данные аутентификатору — они будут указаны заранее администратором сети и могут включать имя пользователя/пароль или разрешенный цифровой сертификат . Аутентификатор пересылает эти учетные данные на сервер аутентификации, чтобы решить, следует ли предоставить доступ. Если сервер аутентификации определяет, что учетные данные действительны, он информирует об этом аутентификатор, который, в свою очередь, позволяет запрашивающему лицу (клиентскому устройству) получить доступ к ресурсам, расположенным на защищенной стороне сети. [10]
EAPOL работает на канальном уровне , а в протоколе кадрирования Ethernet II имеет значение EtherType 0x888E.
802.1X-2001 определяет два логических объекта порта для аутентифицированного порта — «контролируемый порт» и «неконтролируемый порт». Контролируемый порт управляется 802.1X PAE (Port Access Entity), чтобы разрешить (в авторизованном состоянии) или предотвратить (в неавторизованном состоянии) входящий и исходящий сетевой трафик на/из контролируемого порта. Неконтролируемый порт используется 802.1X PAE для передачи и приема кадров EAPOL.
802.1X-2004 определяет эквивалентные сущности портов для просителя; поэтому проситель, реализующий 802.1X-2004, может запретить использование протоколов более высокого уровня, если он не подтверждает, что аутентификация успешно завершена. Это особенно полезно, когда используется метод EAP, обеспечивающий взаимную аутентификацию , поскольку проситель может предотвратить утечку данных при подключении к неавторизованной сети.
Типичная процедура аутентификации состоит из:
Проект с открытым исходным кодом под названием Open1X производит клиент Xsupplicant . Этот клиент в настоящее время доступен как для Linux, так и для Windows. Главные недостатки клиента Open1X в том, что он не предоставляет понятную и обширную пользовательскую документацию, а также в том, что большинство поставщиков Linux не предоставляют пакет для него. Более общий wpa_supplicant может использоваться для беспроводных сетей 802.11 и проводных сетей. Оба поддерживают очень широкий спектр типов EAP. [11]
iPhone и iPod Touch поддерживают 802.1X с момента выхода iOS 2.0. Android поддерживает 802.1X с момента выхода 1.6 Donut. ChromeOS поддерживает 802.1X с середины 2011 года. [12]
macOS предлагает встроенную поддержку с версии 10.3 . [13]
Avenda Systems предоставляет supplicant для Windows , Linux и macOS . У них также есть плагин для фреймворка Microsoft NAP . [14] Avenda также предлагает агенты проверки работоспособности.
По умолчанию Windows не отвечает на запросы аутентификации 802.1X в течение 20 минут после неудачной аутентификации. Это может вызвать значительные сбои в работе клиентов.
Период блокировки можно настроить с помощью параметра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\dot3svc\BlockTime [15] DWORD (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\wlansvc\BlockTime для беспроводных сетей) в реестре (вводится в минутах). Для Windows XP SP3 и Windows Vista SP2 требуется исправление , чтобы сделать период настраиваемым. [16]
Сертификаты сервера Wildcard не поддерживаются EAPHost, компонентом Windows, который обеспечивает поддержку EAP в операционной системе. [17] Это означает, что при использовании коммерческого центра сертификации необходимо приобретать отдельные сертификаты.
В Windows XP имеются серьезные проблемы с обработкой изменений IP-адресов, возникающих в результате аутентификации 802.1X на основе пользователя, которая изменяет VLAN и, следовательно, подсеть клиентов. [18] Microsoft заявила, что не будет портировать функцию SSO из Vista, которая решает эти проблемы. [19]
Если пользователи не входят в систему с перемещаемыми профилями, необходимо загрузить и установить исправление, если аутентификация осуществляется через PEAP с помощью PEAP-MSCHAPv2. [20]
Компьютеры на базе Windows Vista, подключенные через IP-телефон, могут не пройти аутентификацию, как ожидалось, и в результате клиент может быть помещен в неправильную VLAN. Для исправления этого доступно исправление. [21]
Компьютеры на базе Windows 7, подключенные через IP-телефон, могут не пройти аутентификацию, как ожидалось, и, следовательно, клиент может быть помещен в неправильную VLAN. Для исправления этого доступно исправление. [21]
Windows 7 не отвечает на запросы аутентификации 802.1X после сбоя первоначальной аутентификации 802.1X. Это может привести к значительному сбою в работе клиентов. Для исправления этой проблемы доступно исправление. [22]
Для большинства предприятий, которые развертывают и развертывают операционные системы удаленно, стоит отметить, что Windows PE не имеет встроенной поддержки 802.1X. Однако поддержка может быть добавлена в WinPE 2.1 [23] и WinPE 3.0 [24] с помощью исправлений, доступных от Microsoft. Хотя полная документация пока недоступна, предварительная документация по использованию этих исправлений доступна в блоге Microsoft. [25]
Большинство дистрибутивов Linux поддерживают 802.1X через wpa_supplicant и интеграцию с рабочим столом, например NetworkManager .
Начиная с iOS 17 и macOS 14 , устройства Apple поддерживают подключение к сетям 802.1X с использованием EAP-TLS с TLS 1.3 (EAP-TLS 1.3). Кроме того, устройства под управлением iOS/iPadOS/tvOS 17 или более поздних версий поддерживают проводные сети 802.1X. [26] [27]
eduroam (международная служба роуминга) требует использования аутентификации 802.1X при предоставлении доступа к сети гостям, посещающим другие учреждения, поддерживающие eduroam. [28]
BT (British Telecom, PLC) использует Identity Federation для аутентификации в услугах, предоставляемых широкому кругу отраслей и правительств. [29]
Не все устройства поддерживают аутентификацию 802.1X. Примерами служат сетевые принтеры, электроника на базе Ethernet, например, датчики окружающей среды, камеры и беспроводные телефоны. Для использования этих устройств в защищенной сетевой среде необходимо предоставить альтернативные механизмы для их аутентификации.
Одним из вариантов было бы отключение 802.1X на этом порту, но это оставляет этот порт незащищенным и открытым для злоупотреблений. Другой немного более надежный вариант — использовать опцию MAB. Когда MAB настроен на порту, этот порт сначала попытается проверить, соответствует ли подключенное устройство 802.1X, и если от подключенного устройства не получено никакой реакции, он попытается пройти аутентификацию на сервере AAA, используя MAC-адрес подключенного устройства в качестве имени пользователя и пароля. Затем сетевой администратор должен настроить сервер RADIUS для аутентификации этих MAC-адресов, либо добавив их в качестве обычных пользователей, либо внедрив дополнительную логику для их разрешения в базе данных инвентаризации сети.
Многие управляемые коммутаторы Ethernet [30] предлагают такие возможности.
Летом 2005 года Стив Райли из Microsoft опубликовал статью (основанную на оригинальном исследовании Microsoft MVP Святослава Пидгорного), в которой подробно описывалась серьезная уязвимость в протоколе 802.1X, включающая атаку «человек посередине» . Подводя итог, можно сказать, что уязвимость возникает из-за того, что 802.1X аутентифицируется только в начале соединения, но после этой аутентификации злоумышленник может использовать аутентифицированный порт, если у него есть возможность физически вставить себя (возможно, используя концентратор рабочей группы) между аутентифицированным компьютером и портом. Райли предполагает, что для проводных сетей использование IPsec или комбинации IPsec и 802.1X было бы более безопасным. [31]
Кадры EAPOL-Logoff, передаваемые запрашивающим устройством 802.1X, отправляются в открытом виде и не содержат данных, полученных из обмена учетными данными, который изначально аутентифицировал клиента. [32] Поэтому их тривиально легко подделать на общем носителе, и их можно использовать как часть целевого DoS- атаки как в проводных, так и в беспроводных локальных сетях. При атаке EAPOL-Logoff третья вредоносная сторона, имеющая доступ к носителю, к которому подключен аутентификатор, многократно отправляет поддельные кадры EAPOL-Logoff с MAC-адреса целевого устройства. Аутентификатор (полагая, что целевое устройство хочет завершить сеанс аутентификации) закрывает сеанс аутентификации цели, блокируя входящий трафик от цели, лишая ее доступа к сети.
Спецификация 802.1X-2010, которая начиналась как 802.1af, устраняет уязвимости предыдущих спецификаций 802.1X, используя MACsec IEEE 802.1AE для шифрования данных между логическими портами (работающими поверх физического порта) и аутентифицированными устройствами IEEE 802.1AR (Secure Device Identity / DevID). [7] [8] [33] [34]
В качестве временной меры, пока эти усовершенствования не будут широко внедрены, некоторые поставщики расширили протоколы 802.1X-2001 и 802.1X-2004, что позволяет проводить несколько одновременных сеансов аутентификации на одном порту. Хотя это предотвращает входящий трафик с устройств с неаутентифицированными MAC-адресами на аутентифицированный порт 802.1X, это не остановит вредоносное устройство, отслеживающее трафик с аутентифицированного устройства, и не обеспечивает никакой защиты от подмены MAC-адресов или атак EAPOL-Logoff.
Альтернативой , поддерживаемой IETF , является Протокол аутентификации для сетевого доступа (PANA), который также поддерживает EAP, хотя работает на уровне 3, используя UDP, таким образом, не будучи привязанным к инфраструктуре 802. [35]
802.1X является частью подуровня LLC и обеспечивает безопасную службу без установления соединения непосредственно над подуровнем MAC.
В Vista это вообще не проблема с функцией SSO, однако эта функция отсутствует в XP, и, к сожалению, у нас нет планов по ее портированию в XP, поскольку это слишком сложное изменение.