RADIUS

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

RADIUS (англ. Remote Authentication in Dial-In User Service) — протокол для реализации аутентификации, авторизации и сбора сведений об использованных ресурсах, разработанный для передачи сведений между центральной платформой и оборудованием. Этот протокол применялся для системы тарификации использованных ресурсов конкретным пользователем/абонентом. Центральная платформа и оборудование Dial-Up доступа (NAS[1] с системой автоматизированного учёта услуг (биллинга)),

RADIUS используется как протокол AAA:

  • англ. Authentication — процесс, позволяющий аутентифицировать (проверить подлинность) субъекта по его идентификационным данным, например, по логину (имя пользователя, номер телефона и т. д.) и паролю.
  • англ. Authorization — процесс, определяющий полномочия идентифицированного субъекта на доступ к определённым объектам или сервисам.
  • англ. Accounting — процесс, позволяющий вести сбор сведений (учётных данных) об использованных ресурсах. Первичными данными (то есть, традиционно передаваемых по протоколу RADIUS) являются величины входящего и исходящего трафиков: в байтах/октетах (с недавних пор в гигабайтах). Однако протокол предусматривает передачу данных любого типа, что реализуется посредством VSA (Vendor Specific Attributes).

История[править | править вики-текст]

Протокол RADIUS был разработан Карлом Ригни (Carl Rigney) в фирме Livingston Enterprises для их серверов доступа (Network Access Server) серии PortMaster к сети интернет, и позже, в 1997, был опубликован как RFC 2058 и RFC 2059 (текущие версии RFC 2865 и RFC 2866). На данный момент существует несколько коммерческих и свободно распространяемых (open-source) RADIUS-серверов. Они несколько отличаются друг от друга по своим возможностям, но большинство поддерживает списки пользователей в текстовых файлах, LDAP, различных базах данных. Учетные записи пользователей могут храниться в текстовых файлах, различных базах данных, или на внешних серверах. Часто для удаленного мониторинга используется SNMP. Существуют прокси-серверы (proxy/forwarding) для RADIUS, упрощающие централизованное администрирование и/или позволяющие реализовать концепцию интернет-роуминга (internet roaming). Они могут изменять содержимое RADIUS-пакета на лету (в целях безопасности или для выполнения преобразования между диалектами). Популярность RADIUS-протокола, во многом объясняется: открытостью к наполнению новой функциональностью при сохранении работоспособности с устаревающим оборудованием, чрезвычайно высокой реактивностью при обработке запросов ввиду использования UDP в качестве транспорта пакетов, а также хорошо параллелизуемым алгоритмом обработки запросов; способностью функционировать в кластерных (Cluster) архитектурах (например OpenVMS) и мультипроцессорных (SMP) платформах (DEC Alpha, HP Integrity (англ.)) — как с целью повышения производительности, так и для реализации отказоустойчивости.

В настоящее время (с середины 2003-го года) разрабатывается протокол DIAMETER (текущие версии RFC 3588 и RFC 3589), который призван заменить RADIUS, оставшись обратно совместимым с ним.

Возможности[править | править вики-текст]

Будучи частью биллинговой системы, RADIUS-сервер является интерфейсом взаимодействия с телекоммуникационной системой/сервером (например маршрутизатором или коммутатором) и может реализовывать для такой системы следующие сервисы:

Общие[править | править вики-текст]

  • Создание и хранение учётных записей пользователей (абонентов)
  • Управление учётной записью пользователя (абонента) из персонального интерфейса (например веб-кабинета)
  • Создание карточек доступа (логин/PIN-код) для предоставления услуг, с некоторым лимитом действия (Dial-Up доступа в Интернет и карточной IP-телефонии)
  • Ручная и автоматическая блокировка учётной записи абонента по достижению заданного критерия или лимита
  • Сбор и анализ статистической информации о сессиях пользователя и всей обслуживаемой системы (в том числе CDR)
  • Создание отчётов по различным статистическим параметрам
  • Создание, печать и отправка счетов к оплате
  • Аутентификация всех запросов в RADIUS-сервер из обслуживаемой системы (поле Secret)

Аутентификация[править | править вики-текст]

Аутентентификация и авторизация через RADIUS-сервер
  • Проверка учётных данных пользователя (в том числе шифрованных) по запросу обслуживаемой системы

Авторизация[править | править вики-текст]

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

Учёт (Accounting)[править | править вики-текст]

Онлайн учёт через RADIUS-сервер
  • Онлайн-учёт средств абонента: уведомления о начале и конце сессии со стороны обслуживаемой системы
  • Промежуточные сообщения о продолжении сессии (Interim-пакеты)
  • Автоматическое принудительное завершение действия сессии на обслуживаемой системе в рамках услуги (packet of disconnection)
  • BOOT message — специальный пакет, который отправляется телекоммуникационной системой на RADIUS-сервер при запуске (перезапуске) системы, с целью принудительного завершения всех сессий

В нас­то­ящее вре­мя про­токол RA­DI­US ис­поль­зу­ет­ся для дос­ту­па к вир­ту­аль­ным част­ным се­тям (VPN), точ­кам бесп­ро­вод­но­го (Wi-Fi) дос­ту­па, Et­hernet ком­му­тато­рам, DSL и дру­гим ти­пам се­тево­го дос­ту­па. Бла­года­ря отк­ры­тос­ти, прос­то­те внед­ре­ния, пос­то­ян­но­му усо­вер­шенс­тво­ванию, про­токол RA­DI­US сей­час яв­ля­ет­ся фак­ти­чес­ки стан­дартом для уда­лен­ной аутен­ти­фика­ции.

Аутен­ти­фика­ция и ав­то­риза­ция 

Для вы­яс­не­ния ра­боты RA­DI­US про­токо­ла расс­мот­рим ри­сунок, при­веден­ный выше. 

Но­ут­бу­ки и IP те­лефон, предс­тав­ля­ют уст­рой­ства поль­зо­вате­ля, с ко­торых не­об­хо­димо вы­пол­нить аутен­ти­фика­ции и ав­то­риза­ции на се­тевых сер­ве­рах дос­ту­па (NAS):

  • точ­ке Wi-Fi дос­ту­па,
  • марш­ру­тиза­торе,
  • VPN сер­ве­ре и
  • IP АТС.На ри­сун­ке по­каза­ны не все воз­можные ва­ри­ан­ты NAS. Су­щест­ву­ют и дру­гие се­тевые уст­рой­ства дос­ту­па.

RA­DI­US про­токол ре­али­зовы­ва­ет­ся в ви­де ин­терфей­са меж­ду NAS, ко­торый выс­ту­па­ет как RA­DI­US кли­ент, и RA­DI­US сер­ве­ром – прог­рамм­ным обес­пе­чени­ем, ко­торое мо­жет быть ус­та­нов­ле­но на компьюте­ре (сер­ве­ре) или ка­ком-то спе­ци­али­зиро­ван­ном уст­рой­стве. Та­ким об­ра­зом, RA­DI­US сер­вер, как пра­вило, не вза­имо­дей­ству­ет нап­ря­мую с уст­рой­ством поль­зо­вате­ля, а толь­ко че­рез се­тевой сер­вер дос­ту­па.
 
Поль­зо­ватель по­сыла­ет зап­рос на се­тевой сер­вер дос­ту­па для по­луче­ния дос­ту­па к оп­ре­делен­но­му се­тево­му ре­сур­су, ис­поль­зуя сер­ти­фикат дос­ту­па. Сер­ти­фикат по­сыла­ет­ся на се­тевой сер­вер дос­ту­па че­рез се­тевой про­токол ка­наль­но­го уров­ня (Link La­yer), нап­ри­мер, Po­int-to-Po­int Pro­tocol (PPP) в слу­чае вы­пол­не­ния ком­му­тиру­емо­го дос­ту­па, Di­gital Subs­cri­ber Li­ne (DLS) – в слу­чае ис­поль­зо­вания со­от­ветс­тву­ющих мо­демов и т.п. NAS пос­ле это­го, в свою оче­редь, по­сыла­ет со­об­ще­ние зап­ро­са дос­ту­па на RA­DI­US сер­вер, так на­зыва­емый RA­DI­US Ac­cess Re­qu­est. Этот зап­рос вклю­ча­ет сер­ти­фика­ты дос­ту­па, ко­торые обыч­но предс­тав­ле­ны в ви­де име­ни поль­зо­вате­ля и па­роля или сер­ти­фика­та бе­зопас­ности, по­лучен­ных от поль­зо­вате­ля. Кро­ме это­го зап­рос мо­жет со­дер­жать до­пол­ни­тель­ные па­рамет­ры, та­кие как се­тевой ад­рес уст­рой­ства поль­зо­вате­ля, его те­лефон­ный но­мер, ин­форма­цию о фи­зичес­ком ад­ре­се, с ко­торо­го поль­зо­ватель вза­имо­дей­ству­ет с NAS.
 
RA­DI­US сер­вер про­веря­ет эту ин­форма­цию на кор­рект­ность, ис­поль­зуя та­кие схе­мы аутен­ти­фика­ции, как PAP, CHAP, EAP и т.п.
Крат­ко опи­шем эти про­токо­лы.
PAP (Pass­word Aut­henti­cati­on Pro­tocol) (RFC1334)– прос­той аутен­ти­фика­ци­он­ный про­токол, ко­торый ис­поль­зу­ет­ся для аутен­ти­фика­ции поль­зо­вате­ля по от­но­шению к се­тево­му сер­ве­ру дос­ту­па (NAS). РАР ис­поль­зу­ет­ся РРР про­токо­лом. Прак­ти­чес­ки все сер­ве­ра дос­ту­па под­держи­ва­ют РАР. РАР пе­реда­ет не­зашиф­ро­ван­ный па­роль че­рез сеть и, сле­дова­тель­но, яв­ля­ет­ся не­защи­щен­ным про­токо­лом. По­это­му РАР, обыч­но, ис­поль­зу­ет­ся в том слу­чае, ког­да сер­вер не под­держи­ва­ет за­щищен­ные про­токо­лы, та­кие как СНАР, ЕАР и т.п.
 
CHAP (англ. Chal­lenge Hand­sha­ke Aut­henti­cati­on Pro­tocol) (RFC 1994) — ши­роко расп­рос­тра­нён­ный ал­го­ритм про­вер­ки под­линнос­ти, пре­дус­матри­ва­ющий пе­реда­чу не са­мого па­роля поль­зо­вате­ля, а кос­венных све­дений о нём. При ис­поль­зо­вании CHAP сер­вер уда­лен­но­го дос­ту­па отп­рав­ля­ет кли­ен­ту стро­ку зап­ро­са. На ос­но­ве этой стро­ки и па­роля поль­зо­вате­ля кли­ент вы­чис­ля­ет хеш-код MD5 (Mes­sa­ge Di­gest-5) и пе­реда­ет его сер­ве­ру. Хеш-функ­ция яв­ля­ет­ся ал­го­рит­мом од­носто­рон­не­го (не­об­ра­тимо­го) шиф­ро­вания, пос­коль­ку зна­чение хеш-функ­ции для бло­ка дан­ных вы­чис­лить лег­ко, а оп­ре­делить ис­ходный блок по хеш-ко­ду с ма­тема­тичес­кой точ­ки зре­ния не­воз­можно за при­ем­ле­мое вре­мя. Сер­вер, ко­торо­му дос­ту­пен па­роль поль­зо­вате­ля, вы­пол­ня­ет те же са­мые вы­чис­ле­ния и срав­ни­ва­ет ре­зуль­тат с хеш-ко­дом, по­лучен­ным от кли­ен­та. В слу­чае сов­па­дения учёт­ные дан­ные кли­ен­та уда­лён­но­го дос­ту­па счи­та­ют­ся под­линны­ми.
MD5 (Mes­sa­ge-Di­gest al­go­rithm 5) (RFC 1321) — ши­роко ис­поль­зу­емая крип­тогра­фичес­кая функ­ция с 128 би­товым хе­шем. Най­ден ряд уяз­ви­мос­тей в ал­го­рит­ме MD5, в си­лу че­го в США де­пар­та­мент U. S. De­part­ment of Ho­meland Se­curi­ty не ре­комен­ду­ет ис­поль­зо­вание MD5 в бу­дущем, и для боль­шинс­тва пра­витель­ствен­ных при­ложе­ний c 2010 го­да США тре­бу­ет­ся пе­рей­ти на се­мей­ство ал­го­рит­ма SHA-2.
 
Про­токол EAP (Ex­tensib­le Aut­henti­cati­on Pro­tocol) (RFC 3748) поз­во­ля­ет про­верять под­линность при подк­лю­чени­ях уда­лен­но­го дос­ту­па с по­мощью раз­личных ме­ханиз­мов про­вер­ки под­линнос­ти. Точ­ная схе­ма про­вер­ки под­линнос­ти сог­ла­совы­ва­ет­ся кли­ен­том уда­лен­но­го дос­ту­па и сер­ве­ром, вы­пол­ня­ющим про­вер­ку под­линнос­ти (им мо­жет быть сер­вер уда­лен­но­го дос­ту­па или RA­DI­US сер­вер). По умол­ча­нию в марш­ру­тиза­цию и уда­лен­ный дос­туп вклю­чена под­держ­ка про­токо­лов EAP-TLS и MD5-Chal­lenge (MD5-за­дача). Подк­лю­чение дру­гих мо­дулей ЕАР к сер­ве­ру, ис­поль­зу­юще­му марш­ру­тиза­цию и уда­лен­ный дос­туп, обес­пе­чива­ет под­держ­ку дру­гих ме­тодов ЕАР.
Про­токол EAP поз­во­ля­ет вес­ти сво­бод­ный ди­алог меж­ду кли­ен­том уда­лен­но­го дос­ту­па и сис­те­мой про­вер­ки под­линнос­ти. Та­кой ди­алог сос­то­ит из зап­ро­сов сис­те­мы про­вер­ки под­линнос­ти на не­об­хо­димую ей ин­форма­цию и от­ве­тов кли­ен­та уда­лен­но­го дос­ту­па. Нап­ри­мер, ког­да про­токол EAP ис­поль­зу­ет­ся с ге­нера­тора­ми ко­дов дос­ту­па, сер­вер, вы­пол­ня­ющий про­вер­ку под­линнос­ти, мо­жет от­дель­но зап­ра­шивать у кли­ен­та уда­лен­но­го дос­ту­па имя поль­зо­вате­ля, иден­ти­фика­тор и код дос­ту­па. Пос­ле от­ве­та на каж­дый та­кой зап­рос кли­ент уда­лен­но­го дос­ту­па про­ходит оп­ре­делен­ный уро­вень про­вер­ки под­линнос­ти. Ког­да на все зап­ро­сы бу­дут по­луче­ны удов­летво­ритель­ные от­ве­ты, про­вер­ка под­линнос­ти кли­ен­та уда­лен­но­го дос­ту­па ус­пешно за­вер­ша­ет­ся.
Схе­мы про­вер­ки под­линнос­ти, ис­поль­зу­ющие про­токол EAP, на­зыва­ют­ся ти­пами EAP. Для ус­пешной про­вер­ки под­линнос­ти кли­ент уда­лен­но­го дос­ту­па и сер­вер, вы­пол­ня­ющий про­вер­ку под­линнос­ти, долж­ны под­держи­вать один и тот же тип EAP.
 
Те­перь вер­немся к RA­DI­US сер­ве­ру, ко­торый про­веря­ет ин­форма­цию, по­лучен­ную от NAS. Сер­вер про­веря­ет иден­тичность поль­зо­вате­ля, а так­же кор­рект­ность до­пол­ни­тель­ной ин­форма­ции, ко­торая мо­жет со­дер­жать­ся в зап­ро­се: се­тевой ад­рес уст­рой­ства поль­зо­вате­ля, те­лефон­ный но­мер, сос­то­яние сче­та, его при­виле­гии при дос­ту­пе к зап­ра­шива­емо­му се­тево­му ре­сур­су.
По ре­зуль­та­там про­вер­ки RA­DI­US сер­вер по­сыла­ет NAS один из трех ти­пов отк­ли­ков:

  • Ac­cess-Re­ject по­казы­ва­ет, что дан­ный поль­зо­ватель­ский зап­рос не­вер­ный. При же­лании сер­вер мо­жет вклю­чить текс­то­вое со­об­ще­ние в Ac­cess-Re­ject, ко­торое мо­жет быть пе­реда­но кли­ен­том поль­зо­вате­лю. Ни­какие дру­гие ат­ри­буты (кро­ме Pro­xy-Sta­te) не раз­ре­шены в Ac­cess-Re­ject.
  • Ac­cess-Chal­lenge. Зап­рос до­пол­ни­тель­ной ин­форма­ции от поль­зо­вате­ля, нап­ри­мер, вто­рой па­роль, пин-код, но­мер кар­ты и т.п. Этот отк­лик так­же ис­поль­зу­ет­ся для бо­лее пол­но­го аутен­ти­фика­ци­он­но­го ди­ало­га, где за­щит­ный тун­нель вы­пол­ня­ет­ся меж­ду уст­рой­ством поль­зо­вате­ля и RA­DI­US сер­ве­ром, так что сер­ти­фика­ты дос­ту­па скры­ва­ют­ся от NAS.
  • Ac­cess Ac­cept. Поль­зо­вате­лю раз­ре­шен дос­туп. Пос­коль­ку поль­зо­ватель аутен­ти­фици­рован, то RA­DI­US сер­вер про­веря­ет ав­то­риза­цию на ис­поль­зо­вание зап­ро­шен­ных поль­зо­вате­лем ре­сур­сов. Нап­ри­мер, поль­зо­вате­лю мо­жет быть дос­туп че­рез бесп­ро­вод­ную сеть, но зап­ре­щен дос­туп к VPN се­ти.Та­ким об­ра­зом, ра­бота RA­DI­US про­токо­ла мо­жет в об­щем слу­чае быть предс­тав­ле­на, как по­каза­но на таб­ли­це ни­же.

Стандарты[править | править вики-текст]

Определён в

  • RFC 2865 Remote Authentication Dial In User Service (RADIUS)
  • RFC 2866 RADIUS Accounting

Также имеет отношение к

  • RFC 2548 Microsoft Vendor-specific RADIUS Attributes
  • RFC 2607 Proxy Chaining and Policy Implementation in Roaming
  • RFC 2618 RADIUS Authentication Client MIB
  • RFC 2619 RADIUS Authentication Server MIB
  • RFC 2620 RADIUS Accounting Client MIB
  • RFC 2621 RADIUS Accounting Server MIB
  • RFC 2809 Implementation of L2TP Compulsory Tunneling via RADIUS
  • RFC 2867 RADIUS Accounting Modifications for Tunnel Protocol Support
  • RFC 2868 RADIUS Attributes for Tunnel Protocol Support
  • RFC 2869 RADIUS Extensions
  • RFC 2882 Network Access Servers Requirements: Extended RADIUS Practices
  • RFC 3162 RADIUS and IPv6
  • RFC 3575 IANA Considerations for RADIUS
  • RFC 3576 Dynamic Authorization Extensions to RADIUS
  • RFC 4672 RADIUS Dynamic Authorization Client MIB
  • RFC 4673 RADIUS Dynamic Authorization Server MIB
  • RFC 3579 RADIUS Support for EAP
  • RFC 3580 IEEE 802.1X RADIUS Usage Guidelines
  • RFC 4014 RADIUS Attributes Suboption for the DHCP Relay Agent Information Option

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. англ. Network Access Server