Русский
Русский
English
Статистика
Реклама

RADIUS немного о Mikrotik, NPS и не только

  • Цель статьи

  • Определение

  • Компоненты

  • Общие понятия

  • Сфераприменения

    • -login

    • -VPN (ppp*)

    • -wifi

    • -dot1x

  • диагностика

  • выводы

Цель

Цель данной статьи - объяснить логику работы радиуса в примерах, избавить от боязни и иллюзии сложности использования.

Определение, назначение, общие сведения

RADIUS - это протокол, для авторизации, аутентификации и учёта (AAA).

Позволяет повысить безопасность сети и централизованно управлять доступами.

Сервер RADIUS может иметь свою базу данных с учетными данными (например файлы илиmysql) или работать в паре с другим сервером, например Active Directory.

Кроме AAA позволяет передать некоторые дополнительныеданные (настройки) клиенту прошедшему аутентификацию, в том числе vendor-specific attributes (VSA). У Mikrotik такие тоже есть, позже пройдемся по самым интересным.

Существуют много популярных приложенийрадиус сервера, самый популярные: freeRADIUSи Служба NPS (Network Policy Server) Windows Server. Более подробно мырассмотрим второй вариант.

Компоненты кейса

  • Суппликант - устройство которое намеренопройти процедуру авторизации и аутентификации.

  • Аутентификатор - устройство к которому подключается суппликант, которое получаету суппликанта данные авторизации и которое проверяет их на RADIUS сервере. NB! Является клиентом для радиус-сервера.

  • RADIUS сервер (он же радиус сервер, он же сервер аутентификации).

Настройка

Установку роли описывать не буду, существует 100500 статей в картинках, например: тыц

  1. Добавлениерадиус клиента на радиус-сервере Намнужно заполнить "понятное имя", IP адрес и придумать пароль (а.к.а. "секрет"), которыйпонадобится при настройке аутентификатора (mikrotikв нашем случае)

Политикизапросов на подключение и Стетевые политики очень похожипри настройке, и нужно понимать разницу между ними. Первые нужны длятого что быпри определенных условияхопределить сервер на котором будет проходить проверка аутентификации клиента (к примеру локально или надругом удаленном радиус сервере) а так же для некоторых манипуляций с атрибутами. Вторые же позволяют определить набор условийпо которымвозможно обозначитьразрешить или отклонитьзапроос клиента на подключение.

Политики имеют порядок и обрабатываются по нему одна за другой. Если подключение не соответствует условиям политики, то проверяется следущаяи так далее. К примеру, это поможет разделить правила обработки для проводных\беспроводных и впн клиентов. {.is-warning}

  1. Добавление политики запросов на подключение

  2. Добавление сетевой политики

Некоторые типовые кейсы применения радиус сервера :

  1. централизованная аутентификация на устройствах поддерживающихaaa

  2. аутентификация для vpn (pptp\l2tp)

  3. аутентификация вwifi

  4. аутентификация устройств при подключении к порту rj45 - dot802.1x

Итак подробнее, + некоторые плюшки. Для всех наших пунктов нам нужнонастроить радиус клиента вmikrotik

/radius add address=10.10.11.100 comment="PVE AD" secret=STRONG_SECRET_PASSWORD service=ppp,login,hotspot,wireless,dhcp,ipsec,dot1x timeout=600ms

address -Адрес радиус сервера secret - пароль, который мы совсем недавно настраивали для радиус клиента service -сервисы в mikrotik, которые могут использовать радиусдля аутентификации.

Отдельно стоит отметить пункт timeout=600ms, если вы используете радиусчерез медленные каналы с большими задержками, стоит увеличитьэто значение.

Теперь можно начинать настраиватьинтересные вещи.

1. настроим входна микротик

/user aaaset accounting=yes default-group=read use-radius=yes

Стоит уделить внимание параметру default-group он означаетгруппу по умолчанию,вкоторая применится к пользователю.

Теперь настроим NPS:

Ноэто слишком просто и не интересно, давайте преставим немного мифическую, но более интересную ситуацию. Предположим мы хотим отразным уровням техподдержки, выдать разный уровень доступа на устройство. Или , предположим,в рамках одной компании разделить админой cетевиков c полным доступом и джунов, котоые могут только смотреть параметры.

ОбратимсякWikimikrotik, мы можем заметить RADIUS атрибут, который позволяет определитьдоступы какой группыприменятся к пользователюкоторый аутентифицируется на устройстве черезRADIUS. *Mikrotik-Group - Router local user group name (defines in /user group) for local users; HotSpot default profile for HotSpot users; PPP default profile name for PPP users. * воспользовавшись промт'оммы понимаем что этот атрибут позволяет задать нам имя встроенной группы при авторизации , или задать имя профиля при аутентификациив сервисыvpn или hostspot. этот атрибут мы буем использовать и позже.что бы отделить мух от котлет приавторизации для впн мы будем использовать дополнительные условия, но это позже.

итак, как мы этого добьемся мы можем создать вSystem -> users ->groupдве группы со специфичными параметрами доступа, а можем и воспользоваться уже существующими, к примеруfullиread.

Но все это ничего без второй части, нам необходимо настроитьNPS. Давайте создадим в остнастке Пользователи и компьютерыДве группы пользователей admins-network иadmins-junior. И два пользователяnet-juniorи net-admin,добавим их в соответствующие группы.

Политику запроса на подключение мы уже создали, перейдем к сетевым политикам. в Оснастке NPSсоздадим двеполитики mikrotik-login-juniorиmikrotik-admin-network ,в условиях первойзададим :

А вот так будет выглядеть настройка необходимого нам атрибута, из которого микротик определит в какую группу поместить подключенного пользователя.

Сразу попробуем авторизоваться ивидим что попали в нужную группуread

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

Политика mikrotik-admin-networkбудет отличаться тем что в условияхвыберем группу admins-networkа значение отрибутаMIKROTIK_GROUPзададим как full Результат ожидаемый, мы залогинилисьв микротик под полными правами:

/user active print detailFlags: R - RADIUS, M - by-romon 0 R when=jan/05/2021 10:36:52 name="net-admin" address=10.10.15.7 via=winbox     group=full 1 R when=jan/05/2021 10:37:04 name="net-admin" address=10.10.15.7 via=telnet     group=full

Перейдем к впн, и к стразу более интересному сценарию.

Предположим мы хотим отделитьадминов, от остальных работников. Выдадим админам профиль с подсетью которая будет иметь доступ к management vlanи не только, и выдадимотстальным сотрудникам профильс подсетью которая будет меть ограниченый доступ только к 1c, RDP, etc.. . Предположим, мы используюем для впнl2tp\ipsec/ Для этого создадим в микротик два профиля в PPP -> profile

/ip pool add name=pool_l2tp_admin ranges=10.10.21.10-10.10.21.250/ip pool add name=pool_l2tp_users ranges=10.10.22.10-10.10.22.250/ppp profile add dns-server=10.10.21.1 local-address=10.10.21.1 name=l2tp-vpn-admin remote-address=pool_l2tp_admin use-compression=no use-encryption=yes/ppp profile add dns-server=10.10.22.1 local-address=10.10.22.1 name=l2tp-vpn-users remote-address=pool_l2tp_users use-compression=no use-encryption=yes

В настройки правил форейвола дляограничения доступа подсетей япожалуй не буду углубляться,подразумевается что вы понимаете как изодной подсети запретить доступ кресурсу икак разрешить. (с)предпологается, что вы немного сетевик. Касательно примера подсети10.10.21.0/24необходимо разрешить форвард в подсети серверов и managementа подсети 10.10.22.0/24необходимо разрешить только доступк корпоративным сервисам, но не к сетям управления.

Настроим NPS. В остнастке Пользователи и компьютеры создадим 2 группы пользователей vpn-admins иvpn-users, знакомого нам net-adminвключим в 1ю группу, а net-buhво вторую. Политика запросов на подключение у нас будет использоваться та же. А политики сети созадим. В Условиях важно не только задать группу пользователей, но и тип порта NAS

Знакомым нам образом добавим атрибут указывающий какой профиль микротика использовать.

Методы проверки подлинности используем как и в прошлый раз. В настройках Сервера VPNрекомендуется указать точно такой же тип.

На вскидку полезными так же могут отказаться атрибуты : Mikrotik-Rate-Limit - дляограничения скорости vpnклиентов

Настроим тестовое поключение и увидим что получилиIPиз пуладля сетевых администраторов.

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

Результат - пользователь получилipизнужной подсети

Wifiи Dot1x

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

  • настроить службу центрасертификацииWindowsтыц, актуально и для следующего пункта

  • настроить GPO для распространения CAсертификата домена тыц

  • GPOавтоматического получения сертификата компьютераdocs.microsoft

  • GPOвключение службы dot1X (проводная автонастройка) исоздать Политики проводных сетей (802.3) для выбора способа проверки подлинности тыц

  • GPOАвтоматическое подключение кWifiдо логина пользователя тыц

Данные пункты не маленькиечто бы включать их в эту статью, но достаточно освещены в статьях интернета.

wifi

Настройку WiFiкаждый настраивает как ему удобно. Я к примеру,предпочитаю CapsMan,дажеесли это будетединственная APв сети. В любом случае нас интересует только Security Profile/Security Cfg.

Создадим политику сети: В условиях выберем Тип порта NAS= Беспроводная - IEEE 802.11

А в методах проверки подлинности следующее.

Как понять что все получилось или что то идет не так )? - все просто в первую очередь идем в логи. Видим событие с подробной информациейкто куда и когда ходил и согласно какой политике получилразрешение или отказ ы доступе.

Какие радиус атрибуты могут быть нам полезны:

  • Framed-Pool - можемдля отдельных групп пользователей использоватьсвойipпули выполнять какие то манипуляции на основе этого вфорейволе

  • Filter-Id - применять какое то правило форейвола сразу к клиенту

  • Mikrotik-Wireless-VLANID - указать в какойvlanдолжен попасть клиент (Возможно, однажды, по заявкампользователейя дополню статью примером с ипользованиемvlanвwifi)

  • устанавливать лимитыпо обьему или/и скорости трафика

  • имногие другие параметры из вики, либо их комбинации с условиями сетевой политики, смотря сколько у вас фантазии :)

dot1x

Зачем нужен dot1X и как его настроить.. очень много интересных слов можно было бы тут написать, но все сказанодо нас. Например на каналеодного прекрасного тренераили wiki

Половина смысла с саркальной точки зрения в dot1xв том, что в случае успешной проверки подлинности наше устройство попадетв влан указанный нами в микротике или в влан который мы поличим в качестве атрибута у радиуса. Еслипроверка подлинности пройдет с отказом или ответ не будет получен от радиуса (например в случае его недоступности), то порт перейдет в изолироованный режим (будет заблокирован любой трафик на порту) или в случае если указан Reject VLAN IDто попадет в влан,для которогомы настроили(я надеюсь все таки настроили) максимально безопасные правилафорейвола для чужеродных устройств .

Начнем с микротика:

Настроим политики сети: В условиях необходимо отобрать проводные клиенты

Параметры аутентификации:

В настройках атрибутами выдадим рабочий влан

К примеру вот так выглядит отказ вавторизации:

А вот так успешное подключение:

Диагностика

Не всегданаши настройки сразу работают так как надо, иногда что то идет не так, и очень хочется понять что именно. Для того что бы понять в чем причина у нас есть :

  • логи mikrotik

    Идем в system logging add topics=radius,debug action=memory disabled=noи пробуем что то делать, в log printпоявятся записи связанные с радиусом. -логи Службы

  • политики сети и доступа

    я уже приводил пример, еще раз - искатьздесь, и читать внимательно сообщения

  • возможны проблемы из заwindows брандмауерапочинить можно

Get-NetFirewallRule -DisplayGroup "Сервер политики сети" | where DisplayName -like "*RADIUS*" | Set-NetFirewallRule -Service Any

илидляанглоязычной версии:

Get-NetFirewallRule -DisplayGroup "Network Policy Server" | where DisplayName -like "*RADIUS*" | Set-NetFirewallRule -Service Any 
  • radclientиз пакета freeradius-utils. Позволяет из командной строки проверить некоторые типы авторизации, к примеру подключение кvpn

Тест:

echo "User-Name = USER,User-Password=PASSWORD,NAS-Port-Type=Virtual" | radclient -s 10.10.11.100:1812 auth SHARE_NPS_SECRET -x

Вывод программы:

Sent Access-Request Id 177 from 0.0.0.0:42354 to 10.10.11.100:1812 length 56       User-Name = "USER"       User-Password = "PASSWORD"       NAS-Port-Type = Virtual       Framed-Protocol = PPP       Cleartext-Password = "PASSWORD"Received Access-Accept Id 177 from 10.10.11.100:1812 to 10.10.15.7:42354 length 94       Mikrotik-Group = "pptp-nps"       Framed-Protocol = PPP       Service-Type = Framed-User       Class = 0xa1cd098c00000137000102000a0a0b6400000000ec967e14be8346ce01d6d63b3e2ca9d70000000000000092Packet summary:       Accepted     : 1       Rejected     : 0       Lost         : 0       Passed filter : 1       Failed filter : 0

Выводы

RADIUSв сетевой средеочень полезенв плане безопасностии удобен вплане централизованного управления. Настраивать не так уж и сложно, главное читать, понимать документацию и логи.

Если какой то из пунктов непонятен, пишите. попробую показать или помочь разобраться.

Если в статье нашли ошибки, неточности или знаете как сделать лучше тоже пишите.

Благодарности:

Спасибо @aslancherkesov за злого редактора и свежий взгляд на буквы.

Источник: habr.com
К списку статей
Опубликовано: 10.01.2021 16:05:45
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Системное администрирование

Сетевые технологии

Mikrotik

Radius

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru