SSO (Прошивка и настройка Cisco Catalyst коммутаторов, с привязкой к RADIUS NPS)

от автора

Настройка Cisco Catalyst 2950,2960,3750 + RADIUS Windows NPS

Начну с конфига и сразу всё буду описывать. Для удобства предлагаю открыть блокнот и в него вставлять команды.

Конфигурирование будем проводить на примере модели 2960-24Т.

enable conf t hostname S1 #Где S1 ваше имя коммутатора enable secret cisco #где cisco ваш привилегированный пароль service password-encryption #обязательно шифруем пароли в конфигурации banner motd $ WARNING: This system is for the use of authorized personnel only.Unauthorized access is a violation of state and federal,civil and criminal laws.$  int vlan 25 # настраиваем management доступ (SVI), у меня это VLAN25, у вас это может быть VLAN 1 ip address 10.25.0.10 255.255.255.0 description MGM no shutdown exit  ip default-gateway 10.25.0.1 # указываем шлюз

После этого можем обновить прошивку.

В связи с санкциями сайт Cisco не даёт возможности скачать прошивку, поэтому её можно будет взять тут.

Прошивка коммутаторов описывается много где, но мы ещё сделаем интеграцию с RADIUS настроенном на Windows NPS.

В примере буду использовать Tftpd by Ph. Jounin (скачать) для Windows.
Настройка его проста, в Current Directory указываем путь для размещения файлов, в Server interfaces указываем на каком сетевом интерфейсе будет доступен TFTP сервер.

На сегодняшний день актуальные версии для 2960:

  • 12 версия — c2960-lanbasek9-mz.122-55.se12.bin
  • 15 версия — c2960-lanbasek9-mz.150-2.se11.bin

Узнать текущую версию прошивки можно следующей командой:

Switch#show version  Switch   Ports   Model                SW Version     SW Image ------   -----   -----                ----------     ---------- *    1   52      WS-C2960-48PST-L     12.1(22)EA9    C2960-LANBASEK9-M

Обновление происходит через bin-файл, копируем файл с TFTP на флеш-память коммутатора:

Switch#copy tftp://10.10.0.50/Cisco/c2960-lanbasek9-mz.150-2.se11.bin flash:

Указываем загрузку коммутатора с новой прошивкой, копируем текущую конфигурацию в загрузочную и перезагружаем коммутатор:

 Switch#configure terminal Switch#boot system flash:c2960-lanbasek9-mz.150-2.se11.bin Switch#exit Switch#copy running-config startup-config Switch#reload 

После успешной загрузки коммутатора, старую прошивку можно удалить, выполнив команду:

 Switch#delete c2960-lanbasek9-mz.121-22.ae9.bin 

Далее продолжаем настройку конфигурации, подразумевая что у нас IOS уже 15 версии:

conf t login  block-for 180 attempts 21 within 30 #настройка блокировки при бездействии no ip domain-lookup ip domain-name S1.ssmu.ru  #указание доменного имени для генерации  crypto key generate rsa 1024 aaa new-model aaa authentication login vty local aaa authorization network default if-authenticated  line vty 0 4 login authentication vty transport input ssh logging synchronous exit  line vty 5 15  exit  ip ssh version 2 ip ssh  time-out 120  username netadmin privilege 3 secret passwd #пароль указывайте свой  do write  

Итак, мы добрались до RADIUS авторизации. Теперь нам потребуется зайти на Windows сервер и установить роль «Сервер политики сети» NPS.

Сначала нужно включить сервис и зарегистрировать его в домене:

Создаю единый шаблон с ключом для всех Cisco:

Теперь создаём клиента, который будет подключаться к серверу RADIUS:

Далее переходим в политику и создаём политику для авторизации. У нас будет уровень доступа, организованных на группах AD. Это группа для изменения конфигурации и для чтения конфигурации. Чтение конфига нам потребуется для автоматического бэкапа. Бэкап будем осуществлять через oxidized, об этом я напишу в следующей статье.

Создали политику, привязали к вендору и указали группу, которая сможет делать изменения на свитчах:

Указываем максимальные права доступа:

shell:priv-lvl=15

Далее создаём вторую политику для группы только на чтение.

shell:priv-lvl=3

Далее возвращаемся к настройке коммутатора. В тестовой среде я использую один NPS сервер, но настоятельно рекомендую указывать два. В NPS есть возможность импорта и экспорта конфигурации — это поможет быстро настроить второй NPS сервер:

 radius server NPS address ipv4 10.20.0.254 auth-port 1812 acct-port 1813 key 0syJuvT5n!tAyFQ%QJ5DYDPyb74CbH4E%Iqs%hOhE&s!0!E%g2BV!aVy%hWvmCB      #ваш пароль exit  aaa group server radius NPS server name NPS exit  aaa authentication login NPS group NPS local aaa authorization exec NPS group NPS local aaa authorization console  line console 0 authorization exec NPS login authentication NPS  line vty 0 4 #session-timeout 60 authorization exec NPS login authentication NPS #transport input ssh  line vty 5 15 session-timeout 60 authorization exec NPS login authentication NPS transport input none 

Авторизация готова, можно проверить подключение по SSH через доменную учётку.
Если есть ошибки, то нужно смотреть логи на NPS сервере по пути «C:\Windows\System32\LogFiles».

Далее отключаем STP, в моём случаем используется MSTP на выше стоящих коммутатора. Настраиваем верное время, настраиваем защиту от атак и опрос по snmp.

  no spanning-tree vlan 1-900 #STP я не использую на уровнях доступа, у меня на агрегации включен MSTP    errdisable recovery cause all   errdisable recovery interval 300  ntp server 10.20.0.2 #указываем NTP сервер, как правило, это контроллер домена clock timezone NOVT +7  #https://fastreroute.com/cisco-clock-timezone-configuration/  service timestamps debug datetime localtime service timestamps log datetime localtime  vtp mode transparent #что бы у вас не пропали VLAN'ы в самый не удобный момент, переводим VTP в прозрачный режим  no ip http server  ip dhcp snooping vlan 1-500 #   отображает доверенные порты и VLAN'ы, на которых включен DHCP snooping no ip dhcp snooping information option #иначе может откидывать пакеты с 82 опцией  interface G0/1  description To Server  ### switchport mode access  ip arp inspection trust # коммутатор проверяет, не передается ли "неправильный" IP-адрес в теле ARP-пакета, вместо IP-адреса отправителя и получателя. Если будет обнаружен "неправильный" IP-адрес, то коммутатор отбросит пакет, в том числе и DHCP с опцией 82 для iOS 15   ip dhcp snooping trust   int range fa0/1 - 24  storm-control broadcast level 10.00 5.00 # включаем защиту от шторма  storm-control multicast level 10.00 5.00  storm-control action shutdown exit  privilege exec level 3 show running-config view full #разрешаем читать конфигурацию с правами 3  snmp-server community OKB-v2 ro #указывайте ваше SNMP community только на чтение,если есть public community,его нужно убрать,т.к. ЭТО НЕ БЕЗОПАСНО!  spanning-tree portfast default spanning-tree portfast bpduguard default spanning-tree loopguard default  # (защищает от завиcания STP)  

Список литературы:


ссылка на оригинал статьи https://habr.com/ru/articles/756342/