Введение
Стандарт IEEE для управления доступом к сети на основе портов. IEEE 802.1X — это стандарт IEEE для управления доступом к сети на основе портов (PNAC). Он является частью группы сетевых протоколов IEEE 802.1 и обеспечивает механизм аутентификации устройств, желающих подключиться к локальной или беспроводной сети. Стандарт напрямую противодействует технике атаки, известной как "несанкционированное добавление оборудования" (hardware addition), когда злоумышленник, выдавая себя за гостя, клиента или сотрудника, проносит в здание взламывающее устройство и подключает его к сети, получая полный доступ. Ярким примером проблемы стал 2005 год, когда устройство, подключенное к сети Walmart, взломало тысячи их серверов.
IEEE 802.1X is an IEEE Standard for port based network access control (PNAC). It is part of the IEEE 802.1 group of networking protocols. It provides an authentication mechanism to devices wishing to attach to a LAN or WLAN. The standard directly addresses an attack technique called Hardware Addition where an attacker posing as a guest, customer or staff smuggles a hacking device into the building that they then plug into the network giving them full access. A notable example of the issue was in 2005 when a machine attached to Walmart's network hacked thousands of their servers
IEEE 802.1X определяет инкапсуляцию протокола расширяемой аутентификации (EAP) в проводных сетях IEEE 802 и беспроводных сетях 802.11, что известно как "EAP over LAN" или EAPOL. EAPOL был первоначально определен для IEEE 802.3 Ethernet, IEEE 802.5 Token Ring и FDDI (ANSI X3T9.5/X3T12 и ISO 9314) в стандарте 802.1X 2001 года, но был расширен для поддержки других технологий IEEE 802 LAN, таких как беспроводная сеть IEEE 802.11 в стандарте 802.1X 2004 года. EAPOL также был модифицирован для использования с IEEE 802.1AE ("MACsec") и IEEE 802.1AR (Secure Device Identity, DevID) в стандарте 802.1X 2010 года для поддержки идентификации служб и дополнительного шифрования типа "точка-точка" во внутреннем сегменте локальной сети.
Обзор
Аутентификация 802.1X включает в себя три стороны: запрашивающее устройство, аутентификатор и сервер аутентификации. Запрашивающее устройство – это клиентское устройство (например, ноутбук), желающее подключиться к локальной или беспроводной сети. Термин "запрашивающее устройство" также используется для обозначения программного обеспечения, работающего на клиенте и предоставляющего учетные данные аутентификатору. Аутентификатор – это сетевое устройство, обеспечивающее канал передачи данных между клиентом и сетью и способное разрешать или блокировать сетевой трафик, например, коммутатор Ethernet или беспроводная точка доступа. Сервер аутентификации, как правило, представляет собой доверенный сервер, который может принимать и обрабатывать запросы на доступ к сети, а также сообщать аутентификатору о необходимости разрешения соединения и применять различные настройки к соединению или параметрам этого клиента. Серверы аутентификации обычно используют программное обеспечение, поддерживающее протоколы RADIUS и EAP. В некоторых случаях программное обеспечение сервера аутентификации может быть установлено на аппаратном обеспечении аутентификатора. Аутентификатор выполняет роль охраны защищенной сети. Запрашивающему устройству (т.е. клиентскому устройству) не разрешается доступ через аутентификатор к защищенной части сети до тех пор, пока его личность не будет проверена и авторизована. При аутентификации 802.1X на основе порта запрашивающее устройство должно первоначально предоставить аутентификатору необходимые учетные данные, которые были предварительно определены администратором сети и могут включать имя пользователя/пароль или разрешенный цифровой сертификат. Аутентификатор пересылает эти учетные данные серверу аутентификации для принятия решения о предоставлении доступа. Если сервер аутентификации признает учетные данные действительными, он уведомляет аутентификатор, который, в свою очередь, разрешает запрашивающему устройству (клиентскому устройству) доступ к ресурсам, находящимся в защищенной части сети.
Протокольная операция
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. iPhone и iPod Touch поддерживают 802.1X начиная с выпуска iOS 2.0. Android поддерживает 802.1X начиная с версии 1.6 Donut. ChromeOS поддерживает 802.1X с середины 2011 года.
macOS имеет встроенную поддержку, начиная с версии 10.3. Avenda Systems предоставляет клиент для Windows, Linux и macOS. Также у них есть плагин для платформы Microsoft NAP. Avenda также предлагает агенты для проверки состояния системы.
Окна
По умолчанию Windows не отвечает на запросы аутентификации 802.1X в течение 20 минут после неудачной попытки аутентификации. Это может привести к серьезным сбоям в работе клиентов. Продолжительность блокировки можно настроить, используя DWORD-значение HKEY LOCAL MACHINE\SOFTWARE\Microsoft\dot3svc\BlockTime (HKEY LOCAL MACHINE\SOFTWARE\Microsoft\wlansvc\BlockTime для беспроводных сетей) в реестре (указывается в минутах). Для Windows XP SP3 и Windows Vista SP2 требуется установка исправления, чтобы сделать эту продолжительность настраиваемой. EAPHost, компонент Windows, обеспечивающий поддержку EAP в операционной системе, не поддерживает сертификаты сервера Wildcard. Это означает, что при использовании коммерческого удостоверяющего центра необходимо приобретать отдельные сертификаты.
Windows XP
Windows XP имеет серьезные проблемы с обработкой изменений IP-адресов, возникающих при использовании 802.1X-аутентификации на основе учетной записи пользователя, которая меняет VLAN и, следовательно, подсеть клиентов. Microsoft заявила, что не будет портировать функцию единого входа (SSO) из Vista, которая решает эти проблемы. Если пользователи не используют роуминговые профили, необходимо загрузить и установить исправление, если они проходят аутентификацию через PEAP с использованием PEAP MSCHAPv2.
Windows Vista (англ.) (англ.)
Компьютеры с Windows Vista, подключенные через IP-телефон, могут не проходить аутентификацию должным образом, что может привести к назначению клиента в неверную VLAN. Для устранения этой проблемы доступно исправление.
Windows 7
Компьютеры под управлением Windows 7, подключенные через IP-телефон, могут не проходить аутентификацию должным образом, что может привести к назначению клиента в неверную VLAN. Для устранения этой проблемы доступно исправление.
Окна PE
Для большинства предприятий, осуществляющих удалённое развёртывание и внедрение операционных систем, важно отметить, что Windows PE не имеет встроенной поддержки 802.1X. Однако поддержку можно добавить в WinPE 2.1 и WinPE 3.0 с помощью исправлений (hotfix), доступных на сайте Microsoft. Несмотря на то, что полная документация пока отсутствует, предварительная документация по использованию этих исправлений доступна в блоге Microsoft.
Линукс
Большинство дистрибутивов Linux поддерживают 802.1X посредством wpa supplicant и интеграции с окружением рабочего стола, например NetworkManager.
Устройства Apple
Начиная с iOS 17 и macOS 14, устройства Apple поддерживают подключение к сетям 802.1X с использованием EAP TLS с TLS 1.3 (EAP TLS 1.3). Кроме того, устройства под управлением iOS/iPadOS/tvOS 17 или более поздней версии поддерживают проводные сети 802.1X.
Федерации
eduroam (международная служба роуминга) требует использования аутентификации 802.1X при предоставлении доступа к сети гостям из других организаций, поддерживающих eduroam. BT (British Telecom, PLC) применяет федерацию удостоверений для аутентификации в сервисах, предоставляемых различным отраслям и государственным структурам.
MAB (обход аутентификации MAC)
Не все устройства поддерживают аутентификацию 802.1X. К ним относятся сетевые принтеры, электронное оборудование на основе Ethernet, такое как датчики окружающей среды, камеры и беспроводные телефоны. Для использования этих устройств в защищенной сетевой среде необходимо предусмотреть альтернативные механизмы аутентификации. Один из вариантов – отключить 802.1X на этом порту, но это оставит порт незащищенным и уязвимым для злоупотреблений. Другой, несколько более надежный вариант – использовать MAB. При настройке MAB на порту, он сначала попытается определить, поддерживает ли подключенное устройство стандарт 802.1X, и если от устройства не будет получено ответа, он попытается аутентифицироваться на сервере AAA, используя MAC-адрес устройства в качестве имени пользователя и пароля. В этом случае сетевому администратору необходимо настроить сервер RADIUS для аутентификации этих MAC-адресов, либо добавив их как обычных пользователей, либо реализовав дополнительную логику для сопоставления их с данными в базе данных сетевого инвентаря. Многие управляемые Ethernet-коммутаторы предоставляют такую возможность.
Общие медиа
Летом 2005 года Стив Райли из Microsoft опубликовал статью (основанную на оригинальных исследованиях MVP Microsoft Святослава Пидгорного), в которой подробно описана серьезная уязвимость в протоколе 802.1X, связанная с атакой типа «человек посередине». Суть уязвимости заключается в том, что 802.1X выполняет аутентификацию только в начале установления соединения, но после аутентификации злоумышленник, имеющий физическую возможность подключиться (например, с помощью концентратора рабочей группы) между аутентифицированным компьютером и портом, может использовать аутентифицированный порт. Райли рекомендует использовать IPsec или комбинацию IPsec и 802.1X для повышения безопасности проводных сетей. Фреймы EAPOL Logoff, отправляемые клиентом 802.1X, передаются в открытом виде и не содержат данных, полученных в ходе первоначального обмена учетными данными для аутентификации клиента. Поэтому их крайне легко подделать в общей среде и использовать для осуществления целевой DoS-атаки как в проводных, так и в беспроводных локальных сетях. При атаке EAPOL Logoff злоумышленник, имеющий доступ к среде, к которой подключен аутентификатор, многократно отправляет поддельные фреймы EAPOL Logoff от имени MAC-адреса целевого устройства. Аутентификатор (считая, что целевое устройство хочет завершить сеанс аутентификации) закрывает сеанс аутентификации целевого устройства, блокируя входящий трафик и лишая его доступа к сети. Спецификация 802.1X 2010, изначально разработанная как 802.1af, устраняет уязвимости, присутствовавшие в предыдущих спецификациях 802.1X, за счет использования MACsec IEEE 802.1AE для шифрования данных между логическими портами (работающими поверх физического порта) и аутентификации устройств с помощью IEEE 802.1AR (Secure Device Identity / DevID). В качестве временного решения, до широкого внедрения этих улучшений, некоторые производители расширили протоколы 802.1X 2001 и 802.1X 2004, разрешив одновременное проведение нескольких сеансов аутентификации на одном порту. Хотя это предотвращает прохождение трафика от устройств с неаутентифицированными MAC-адресами через аутентифицированный порт 802.1X, это не останавливает злоумышленника от перехвата трафика с аутентифицированного устройства и не обеспечивает защиту от подделки MAC-адресов или атак EAPOL Logoff.
Альтернативы
Альтернативой, поддерживаемой IETF, является протокол PANA (Protocol for Carrying Authentication for Network Access), который также передает EAP, но работает на третьем уровне, используя UDP, и поэтому не привязан к инфраструктуре 802.