802.1X на коммутаторах: чужой ноутбук в сеть не пустим
После инцидента с чужим ноутбуком в порте клиента настроили 802.1X с доменной аутентификацией: неизвестное устройство уходит в карантин, рабочая сеть остаётся закрытой.
Аутентификация 802.1X на коммутаторах начинает внедряться в корпоративном сегменте
Случай был неприятный. Один из клиентов - офис на тридцать с лишним человек, свежая AD, аккуратный периметр - обнаружил в конце рабочего дня, что в свободный порт коммутатора в переговорной кто-то воткнул ноутбук. Чей - непонятно. Посетители в тот день были, кто именно что делал - никто не видел. Ноутбук уже убрали. Что он успел наделать в сети - тоже непонятно.
Ничего катастрофического не произошло, но вопрос повис в воздухе: физический доступ к розетке равен доступу в сеть. Розетки в переговорных, в коридорах, иногда у ресепшена - это открытые ворота для любого, кто принёс с собой ноутбук и сетевой кабель.
Что такое 802.1X и зачем он нужен
Протокол 802.1X появился именно для такой ситуации. Механика простая: когда устройство подключается к порту коммутатора, порт остаётся в заблокированном состоянии и пропускает только трафик аутентификации. Устройство должно представиться - через EAP поверх коммутатора к серверу RADIUS. Если RADIUS говорит «знаю тебя» - порт открывается в нужный VLAN. Если «не знаю» или молчание - устройство уходит в карантинный сегмент или вообще не получает сеть.
Роли три:
- Supplicant - устройство, которое хочет в сеть. На Windows XP это встроенный клиент 802.1X, включается в свойствах сетевой карты.
- Authenticator - коммутатор с поддержкой 802.1X. Cisco Catalyst, D-Link DGS, HP ProCurve - большинство управляемых коммутаторов с нормальной прошивкой это умеют.
- Authentication Server - RADIUS. У нас Windows Server 2003 с Internet Authentication Service (IAS), который смотрит в Active Directory.
Как настраивали
Схема получилась такая: компьютеры домена проходят аутентификацию машинным сертификатом (EAP-TLS) - без участия пользователя, прямо при загрузке. Пользовательские ноутбуки гостей и всё остальное неизвестное - получают карантинный VLAN с доступом только в интернет и без маршрута во внутреннюю сеть.
На коммутаторе Cisco Catalyst 2950 это выглядит примерно так:
aaa new-model
aaa authentication dot1x default group radius
dot1x system-auth-control
interface FastEthernet0/1
switchport mode access
switchport access vlan 10
dot1x port-control auto
dot1x guest-vlan 99
VLAN 10 - рабочая сеть, VLAN 99 - карантин. Гостевой VLAN срабатывает, если устройство вообще не отвечает на EAP-запросы (не поддерживает 802.1X) или не прошло аутентификацию.
На стороне IAS: создали политику, которая проверяет членство компьютера в группе AD «Domain Computers», проверяет сертификат машины. Сертификаты раздаёт корпоративный CA через GPO - автоматически, при вступлении в домен.
Где зарылись
Подводных камней оказалось несколько, и часть из них мы прошли болезненно.
Принтеры, IP-телефоны, сетевые сканеры. Они не умеют EAP вообще. Для них пришлось делать исключения по MAC-адресу (MAB - MAC Authentication Bypass). Это слабее, чем сертификатная аутентификация, потому что MAC можно подделать, но лучше, чем вообще ничего. Перечень таких устройств зафиксировали в RADIUS отдельным списком.
Логины при загрузке. Когда компьютер грузится, сначала проходит машинная аутентификация, потом пользователь логинится. Если машинная аутентификация не прошла - порт в карантине, и политики от AD не применяются. Первые два дня после включения 802.1X получили звонки: «не грузятся скрипты входа, нет доступа к файловому серверу». Оказалось - несколько машин с просроченными сертификатами. Обновили через GPO.
Хаб в переговорной. У одного клиента в переговорной стоял неуправляемый хаб - чтобы подключать несколько ноутбуков одновременно. 802.1X на порту с хабом работает хуже: аутентифицируется первое устройство, остальные получают сеть транзитом. Хаб заменили на небольшой управляемый коммутатор - это позволило включить аутентификацию уже на его портах.
Пересмотр топологии. После включения 802.1X стало видно, что несколько портов в здании были подключены «навсегда» - к устройствам, которые никто не помнит. Пришлось разбираться что там вообще висит. Это неожиданный, но полезный побочный эффект: инвентаризация сети до этого была приблизительной.
Что получилось на выходе
Воткнуть чужой ноутбук в порт теперь можно - получит карантинный VLAN с интернетом. Внутренней сети не видит. Доменные ресурсы недоступны. Если устройство не умеет 802.1X вообще - то же самое, карантин по умолчанию.
Корпоративные машины проходят автоматически, без участия пользователя. Никаких лишних диалогов, никаких паролей сверх обычного входа в Windows. Это важно: если безопасность добавляет трение для нормальной работы - люди ищут обходы.
Для гостевого интернета переговорных хватает карантинного VLAN - там есть NAT наружу и больше ничего. Если надо дать гостю интернет, не пуская его в сеть - это и есть штатный сценарий.
Настройка заняла примерно полтора дня на среднего размера офис: час на IAS, час на GPO с сертификатами, остальное - прокатка по коммутаторам и разбор инцидентов с принтерами. Самое долгое - найти и переиздать сертификаты на машинах, которые давно не перезагружались.
Если хотите понять, через какие порты у вас реально можно войти в сеть - аудит инфраструктуры обычно даёт неожиданные ответы на этот вопрос.
- 50 000 попыток за ночь: переходим на SSH-ключи · 13 июня 2005
- Контроль USB-устройств: как закрыть флешки и не парализовать работу · 19 мая 2005