Dienstag, 12. September 2017

802.1X. Cisco Switch. Windows RADIUS (NSP).

Была поставлена следующая задача:
Есть доменный компьютер в зале совещаний. Он должен оставаться доменным. При заходе на него обычного пользователя домена, компьютер попадает в "Пользовательскую" сеть. Если на компьютер логинется работник ИТ-службы, компьютер попадает в "Админскую" сеть, с расширенными правами доступа. Если логин на компьютер происходит под гостевой учетной записью, то компьютер должен попасть в "Гостевую" сеть с доступом только в интернет. Также в "Гостевую" сеть должен попасть не корпоративный ноутбук, если его включить вместо компьютера. Компьютер может подключаться к коммутатору напрямую, так и через дополнительный порт IP-телефона Unify (Siemens).
Данную задачу решили с помощью технология 802.1x.


Что понадобилось?
  1. Домен Windows, как место централизованного хранения данных пользователя
  2. Сервер аутентификации, Network Policy Server (NPS) - Windows RADIUS
  3. DHCP server. 
  4. Аутентификатор, Switch Cisco WS-C2960-24PC-L, IOS: c2960-lanbasek9-mz.150-2.SE6
  5. Суппликант (клиент) 802.1X, тестовый компьютер
  6. IP-телефон Unify (Siemens)
  7. Сервер сертификатов (в моем случае от отсутствовал)
Для начала описание схемы.
Были выделены следующие vlan-ы и сети:
vlan 168 - 192.168.168.0/24 - "Админская" сеть
vlan 170 - 192.168.170.0/24 - "Пользовательская" сеть
vlan 99 - 192.168.254.0/24 - "Гостевая" сеть
vlan 90 - 10.10.10.0/24 - voice vlan
vlan 9 - 10.10.9.0 - vlan управления коммутатором
В качестве DHCP сервера использовалась Cisco 1841. Настройки DHCP сервера описывать не буду, так как никаких особенностей нет, все стандартно.
Ставим адрес на vlan-е управления коммутатором:
interface Vlan9
 ip address 10.10.9.22 255.255.255.0
Если коммутатор и NPS находятся в разных сетях, то необходимо проверить возможность их общения по определенным портам. Согласно technet.microsoft.com:
By default, NPS uses UDP ports 1812 and 1645 for authentication messages and UDP ports 1813 and 1646 for accounting messages.
Далее заводим в домене двух тестовых пользователей и помещаем каждого из них в свою группу:
cisco_user1 - член группы Cisco_VLAN_168
cisco_user2 - член группы Cisco_VLAN_170
Для начала настроим схему без участия телефона.

Настройка Network Policy Server Microsoft Windows 2012 R2

Приступаем к настройке Network Policy Server на базе RADIUS Microsoft Windows 2012 R2(RUS). То, что сервер русский, создает некоторые неудобства.
В "Политиках" создаем новую Политику запросов на подключение (Connection Request Policy)

В "Условиях" (Conditions) добавляем "Тип порта NAS"(Port Type NAS) - Ethernet 

В "Параметрах" (Settings) ничего не настраиваем.
В "Управлении шаблонами" (Templates) создаем "Общий секрет" (Shared Secret), чтобы потом применить данный шаблон на каждом устройстве.
В "RADIUS-клиенты" (RADIUS Clients) добавляем наш коммутатор и применяем созданный ранее шаблон "Общего секрета" (Shared Secret)

Далее создаем политики авторизации пользователей. В "Политики" -> "Сетевые политики"
В "Условиях" (Conditions) указываем условия успешной авторизации. То есть авторизация происходит в проводной сети и только для пользователей, членов определенной группы.
В "Ограничениях" (Constraints), "Методы проверки пользователей" (Authentification Method) указываем Механизмы авторизации указываем EAP и MSCHAP v2.
В "Тип порта NAS" (NAS Port Type) указываем тип туннелей подключения 802.1X - Ethernet
Во вкладке "Параметры" (Settins) в атрибутах "Стандарт" добавляем следующие параметры:
  • Tunnel-Medium-Type    802
  • Tunnel-Type                 Virtual VLANs
  • Tunnel-Pvt-Group-ID    168 (Это VLAN в который после авторизации коммутатор поместит клиента)
В "Vendor Specific" указываем Tunnel-Tag   168 (Так же номер VLAN)
Осталось повторить настройку для vlan 170.
На этом настройка сервера NAS закончена.

Настройка коммутатора Cisco

Начиная с IOS 12.2(50)SE у Cisco поменялась реализация и соответственно настройка протокола 802.1X. Я буду настраивать "новый" IOS
Общие настройки в режиме глобальной конфигурации для работы с сервером RADIUS:
aaa new-model
aaa authentication dot1x default group radius
aaa authorization network default group radius
dot1x system-auth-control
radius server RADIUS
 address ipv4 10.10.10.73 auth-port 1645 acct-port 1646
 key 12345 ! Ключ SharedSecret указанный ранее в шаблоне

Базовые настройки порта.

interface FastEthernet0/3
 switchport mode access
 switchport access vlan 5
 authentication event fail action authorize vlan 99
 authentication event no-response action authorize vlan 99
 authentication port-control auto
 dot1x pae authenticator
 dot1x timeout quiet-period 15
 dot1x timeout tx-period 3
 spanning-tree portfast
authentication port-control auto Enables 802.1X authentication on the interface (12.2.50 SE and later)
dot1x pae authenticator Enables 802.1X authentication on the port with default parameters.
Исправление предыдущих default parameters
dot1x timeout quiet-period 15 Seconds to wait after failed attempt
dot1x timeout tx-period 3 Time to resubmit request
authentication event fail action authorize vlan 99 в этот VLAN попадет устройство в случае неудачной авторизации
authentication event no-response action authorize vlan 99 
в этот VLAN попадет устройство если оно не может\не хочет авторизоваться В моём случае это один и тот же VLAN.

Тюнинг

Кое-что в настройки на порту ещё можно добавить
authentication periodic periodic reauthentication
authentication timer reauthenticate server время в секундах после которого инициализируется реаутентификация (default 1 hour). Параметр server означает - брать это время с сервера.
authentication violation [protect, restrict, shutdown,  replace] команды нарушения прав доступа, в которых указывается действие, которое необходимо предпринять, когда на порту происходит нарушение безопасности. Смысл настроек тот же, что и при настройке Port security, за исключением одной (replace):
  • protect - пакеты отбрасываются, но оповещения о нарушении безопасности нет.
  • restrict - пакеты отбрасываются, отправляется SNMP trap, сообщение syslog и увеличивается счетчик нарушений (violation counter)
  • shutdown - порт уходит в err-disable и shutdown, выключается LED порта, отправляется SNMP trap, сообщение syslog и увеличивается счетчик нарушений (violation counter).
  • replace - текущая сессия сбрасывается, инициируется аутентификация нового устройства
authentication event server dead action authorize vlan 180 в этот VLAN попадет устройство, при смерти RADIUS сервера.

Настройка компьютера

Поддержка протокола 802.1X сейчас существует во всех операционных системах. Существует много сторонних суппликантов. Я пользовался встроенным в Windows 10. Чтобы включить поддержку 802.1X на Windows, необходимо сначала запустить службу "Проводная автонастройка" и поставить "Тип запуска службы" - Автоматически.





Потом в настройках сетевой карты, идем на вкладку "Проверка подлинности" и настраиваем так:
Заходим в "Параметры". Здесь, выбираем метод проверки подлинности и, так как у меня нет сервера сертификации, снимаю галку с проверки сертификата.

На этом настройка компьютера закончена.

Настройка устройств не понимающих 802.1X

Для такого рода устройств можно использовать аутентификацию по MAC. Создаем в домене пользователей, username и password которых совпадают с MAC-адресом устройства. То есть, например:username 001ae8567343, password 001ae8567343, без пробелов, точек или минусов. Тут вероятно понадобится подправить доменную политику, которая запрещает простые пароли и совпадение пароля и имени пользователя. Или написать новую политику для группы пользователей с пониженными требованиями к паролю. Также этих пользователей лучше исключить из группы Domain Users.
Создаем новую группу в домене куда будут помещены данные девайсы (пользователи). Снова создаем политику авторизации, которая будет отличаться только группой. В "Условиях авторизации" появляется параметр PAP, SPAP.
На Cisco на порту необходимо прописать один параметр map.

IP-телефон Unify (Siemens)

С телефонами получилось интересно. Они понимают 802.1X, но это надо настроить. Без настройки они прекрасно работают если на порту прописать voice vlan.  Дополнительно ничего прописывать и настраивать не нужно. Не нужен и параметр map на порту. Единственно коммутатор (во всяком случае с данным IOS) показывает что телефон находится в "Гостевом" vlan, хотя реально он находится в voice vlan  и получает адрес из "Телефонной" сети. Устройство подключенное через телефон аутентифицируется нормально. Про аутентификацию телефонов планирую написать позже.

Keine Kommentare:

Kommentar veröffentlichen