Представьте себе, что рядом с вами в организации есть сетевая розетка и все, что туда подключается, автоматически получает туда доступ. Любые устройства - даже если они являются "шпионскими" или не авторизованными.
Вы конечно скажете - но есть же простой, как тапок, протокол под названием Port Security!
Верно, но как он работает? Вы либо указываете MAC-адрес, который может подключиться к порту и получить доступ в сеть, либо указываете какое-то количество таких MAC адресов, которые будут динамически опознаны коммутатором или смешиваете два этих способа.
Но что если вы находитесь в публичной зоне, например там, куда вы приглашаете клиентов, или, к примеру вы находитесь на некой веранде, откуда зачастую можно работать. Там внедрён Port Security, все нормально.
Но вдруг ваш ноутбук кто-то умудрился ловко спереть и что тогда? У кого-то постороннего появится доступ в вашу сеть, так как доступ по его MAC-адресу разрешен. Тут-то и вступает в дело 802.1X - он позволяет проводить аутентификацию не устройства, но пользователя. Таким образом, если устройство будет украдено, злоумышленники все равно не получат доступ в сеть.
Логичным вопросом будет "Как же я обеспечу гостей доступом в сеть без предоставления им полного доступа"? Ответ - легко, и вариантов десятки: гостевая учетка и гостевой VLAN, специальный портал саморегистрации для гостей и так далее и тому подобное.
Также некоторые скажут - ну конечно, у меня в компании доступ к беспроводной сети так и организован, через синхронизацию с AD и по учетным записям пользователей. Но как это работает в случае проводного доступа? Сразу отвечу, что 802.1X используется как в беспроводной сети, так и в проводной. Подробнее о принципе действия, его компонентах я расскажу ниже.
Из чего состоит 802.1X
У 802.1X есть три основных компонента - суппликант, аутентификатор и сервер аутентификации. Суппликант - это ваше оконечное устройство и пользователь с определенным ПО (здесь нет смысла углубляться в различные виды суппликантов).
Аутентификатор - это коммутатор или точка доступа (первое сетевое устройство уровня доступа, на который пришел трафик с суппликанта.
И, наконец, сервером аутентификации является специальное ПО или устройство, принадлежащее к классу NAC - Network Access Control, или средствам контроля сетевого доступа. Конкретный класс решений для реализации 802.1X называется RADIUS-сервером.
Итак, порядок подключения следующий: вы пытаетесь получить доступ в сеть и аутентификатор говорит - предъявите, пожалуйста документы. Ваше устройство (суппликант) предоставляет нужную информацию - логин и пароль, сертификат, обе этих сущности вместе и прочие. Далее аутентификатор отправляет полученную информацию на сервер аутентификации и ждёт ответа. Далее, в базовом варианте, сервер аутентификации отправит обратно на аутентификатор разрешение и после этого аутентификатор разрешение суппликанту. До этого момента почти никакой трафик разрешен не будет!
Важно понимать, что в сторону аутентификатора уходит фрейм с определенным регистром (для этого и нужен суппликант), а аутентификатор энкапсулирует отправляет полученную информацию от суппликанта в сторону сервера аутентификации как IP – пакет (чтобы его можно было маршрутизировать).
Протоколы в технологии 802.1X
Давайте теперь подробнее поговорим о протоколах в этой технологии – так как 802.1X являет собой неикий собирательный термин. Основных протоколов 2 – EAPoL (Extensible Authentication Protocol over LAN) и RADIUS (Remote Authentication Dial-In User Service).
Есть очень простые и не очень безопасные формы EAP и очень надежные, но крайне сложные в настройке. В простейшем виде будет необходим только логин и пароль. В более сложных – сертификат, токен и прочее. Есть правило – чем проще настроить EAP – тем он менее взломостойкий и наоборот :)
В наше время одним из популярных и очень умных RADIUS – серверов является Cisco ISE. Он позволяет авторизовывать пользователей в зависимости от их контекста: Что за устройство? Кто? Где? Когда? Было ли устройство скомпрометировано ранее? и автоматически профилировать каждое подключенное устройство для того, чтобы понимать какие устройства есть у вас в сети и в каком состоянии они находятся – многие даже не подозревают о том, как много у них в организации подключено неизвестных устройств (при количестве пользователей более 1000).
Ниже на диаграмме можно увидеть весь процесс установления соединения при использовании 802.1X: