Сравнение на протоколи RADIUS и TACACS и принципи на работа
Първо трябва да решите какви са тези протоколи, за какво са (който не знае). Който знае за какво ще става дума, може спокойно да пропусне следващите няколко параграфа. Тези протоколи се използват за обмен на информация между сървър за мрежов достъп (NAS) и сървър 3A (удостоверяване, оторизация, отчитане). В това, което следва, често ще наричам NAS като клиент, тъй като NAS е клиент на 3A сървър. Всъщност в общия случай един 3A сървър има няколко клиента. Според текста ще наричам потребителя нещо, което иска достъп до определен ресурс от клиента. Неясен? Ще обясня на снимката:
Първо, трябва да дефинирате понятията, ще се опитам да ги обясня по-ясно (както веднъж ми обясниха), без никакви "формули" и т.н., но на обикновен човешки език.Удостоверяването е процес на проверка на потребителско име и парола. Пример от живота: някой си Вася идва в охраняваната сграда и показва паспорта си на охраната - ето ме, ето паспорта, ето снимката на паспорта. Всичко ли пасва?
Упълномощаване - процес на проверка дали даден потребител може да използва ресурс. Е, това е: разбира се, че си Вася и паспортът ти със снимка е в ред, но само ти имаш право да влизаш в този кабинет, но не и в този.
Счетоводство - процесът на отчитане на използваната услуга: нашият Вася влезе в стая - направи бележка в счетоводната книга (Вася влезе в такова и такова време), напусна - отново остави бележка (Вася си отиде в такова и такова време).
И така, нека се върнем към картината: на тази снимка Вася е потребител, сигурността е NAS (клиент към 3A сървър), а самият 3A сървър е видсъхранение на информация за всички потребители (кой кой е и колко от какво е позволено на кого). На практика обикновено изглежда така:
Стъпки 11-15 са счетоводният процес. Освен това е възможно да конфигурирате клиентите така, че да не изпращат пакети за началото на използването на услуга или ресурс - понякога това е удобно. И така, както казах преди, описаните по-долу протоколи се използват за обмен на информация между NAS и 3A сървъра. Защо тези протоколи са толкова добри?
На първо място, тези протоколи осигуряват възможност за криптиране (парола в случай на RADIUS или на целия пакет в случай на TACACS +), надеждно предаване на информация (handshaking), а също така са оптимизирани за предаване на 3A информация.
RADIUS (Потребителска услуга за отдалечено удостоверяване при набиране)
TACACS+
Този протокол е разработка на Cisco Systems и неговото изпълнение периодично се променя. Този протокол е нов етап в развитието на по-ранните версии на протоколите TACACS и XTACACS: въпреки че официалните издания казват, че сигурността на протокола е само подобрена, в действителност целият протокол е технически пренаписан наново (с изключение на оставената идеология), така че не бъркайте тези протоколи един с друг (в ежедневието и в описанията крайният "+" много често се пропуска, откъдето идва объркването от; сега почти никой не използва по-стария протокол TACACS, така че ако видите връзка към протокола TACACS, най-вероятно някой - пренебрегнах "+" и говорим за TACACS +). Протоколът се основава на използването на TCP протокола, следователно е потенциално по-бавен от RADIUS (в края на краищата установяването на TCP връзка е доста скъпа операция), но за това позволява многопроцесна обработка на заявки (във всеки един момент,множество потребители). Степента на сигурност е висока (цялото тяло на пакета е криптирано).
А сега бих искал да сравня по-подробно възможностите на двата протокола. Първо, таблицата:
Основен протокол
RADIUS е базиран на UDP протокол (пакетно предаване на данни, без гаранция за пакетен трансфер). Това незабавно предполага факта, че RADIUS клиентът за всяка заявка трябва да изчака отговор от сървъра известно време (таймаут) и, при липса на такъв, да изпрати отново пакета. Всъщност клиентът TACACS + също трябва винаги да чака отговор от сървъра, но не се интересува от гаранцията за предаване на пакети. Но TACACS+ има друга точка: за да обработи всяка TACACS+ заявка, сървърът и клиентът трябва да установят TCP връзка (дори ако целият процес се състои от изпращане и получаване на 2 малки пакета!), И по отношение на времето, това е доста скъп процес (между другото, ето защо TACACS+ по дефиниция е сравнително бавен). Въз основа на горния пример можем веднага да кажем, че RADIUS ще бъде по-ефективен в мрежи, където процентът на загубените пакети е по-малък от 5-10%; в други мрежи е по-добре да използвате TACACS+.
Поддържани услуги
Сигурност
Поддържани типове удостоверяване
В този смисъл TACACS+ поддържа още един тип от RADIUS. Е, с удостоверяването на Clear Text всичко е ясно - паролата си е парола, но какво да кажем за CHAP и ARAP? За тези, които не разбират идеята за тези видове удостоверяване, ще обясня: идеята е, че паролата за чист текст под каквато и да е форма никога няма да бъде предадена по мрежата. А именно: при удостоверяване на потребител, клиентът изпраща предизвикателство към потребителската машина (произволна произволна последователност от знаци), потребителят въвежда парола и с това предизвикателствопотребителската машина извършва някои действия за криптиране, като използва въведената парола (като правило това е обикновено криптиране с помощта на алгоритъма MD5 - RFC-1321). Оказва се Response. Този отговор се изпраща обратно на клиента, а клиентът изпраща целия (предизвикателство и отговор) на сървъра 3A за удостоверяване. Този (също с потребителска парола от своя страна) извършва същите действия с Challeng и сравнява своя отговор с този, получен от клиента: converge - потребителят е удостоверен, не - съжалявам. По този начин само потребителят и 3A сървърът знаят паролата за чист текст, а паролата за чист текст не се "разхожда" в мрежата и не може да бъде хакната.
Възможност за пренасочване на заявка
По отношение на системата LANBilling RADIUS, модулът е мрежов агент, отговорен за събиране на статистика за използването на IP услуги. Въпреки това, в допълнение към функциите за събиране на статистика, модулът изпълнява функциите за контролиране на достъпа на комутируеми клиенти до услугата. Това е основната разлика между модула RADIUS и другите LANBilling агенти. Съществува и съкратена версия на модула, която не осигурява контрол на достъпа, а само събира статистика за клиентския трафик по обем и време.
Като се вземат предвид концепциите, обхванати в началото на статията, LANBilling RADIUS модулът е 3A сървър за всеки NAS (Network Access Server), който поддържа RADIUS протокола. Модулът е тестван на три 3A клиента - Cisco 3640, Lucent MAX 6000 и софтуерен NAS (PPPD), работещ по PPP протокол с модеми, свързани към рутера, базирани на Linux/FreeBSD/Solaris.
Всъщност модулът RADIUS повтаря схемата за взаимодействие, описана в началото на статията. Спецификата на системата обаче налага редица особености на алгоритъмаработа на модула. По-специално, на етапа на изчисляване на времето за изчакване на потребителя за комутируема връзка за клиента 3A, се прави оценка на възможността за използване на отстъпки от този потребител при зададената тарифа. С други думи, в момента на удостоверяване на потребителя, времето за изчакване се изчислява вече като се вземе предвид фактът, че в случай на непрекъснато „седене“ на линията на потребителя, той ще използва услугата в определени моменти, като се вземат предвид предимствата, посочени в настройките за отстъпка за тарифата, която му е присвоена. Модулът може да работи с няколко 3А клиента.