Федеральное агентство железнодорожного транспорта
Государственное образовательное учреждение
высшего профессионального образования
Иркутский государственный университет путей сообщения
Кафедра
"Информационная безопасность"
Курсовая работа
Протокол TACACS+
Дисциплина: Криптографические методы защиты информации
Выполнил:
студент гр. ЗИ-06
Перминов Д.А.
Проверил:
к. ф. - м. н., доцент каф. "ИнБ"
Бутин А.А.
Иркутск
2009
Оглавление
Введение
Версии TACACS
XTACACS был вытеснен TACACS+
Принцип работы
Свойства TACACS+
Процесс аутентификации TACACS+
Процесс авторизации TACACS+
Процесс аудита TACACS+
Сравнение протоколов TACACS+ и RADIUS
Заключение
Список литературы
Введение
В настоящее время существуют различные технологии, направленные на обеспечение безопасности данных, в котором выделяются 3 важнейших компонента:
1. аутентификация (с последующей авторизацией)
2. сохранение целостности данных (их неизменность и конфиденциальность обеспечивается безопасностью инфраструктуры сети)
3. активная проверка установленной политики безопасности
В данной курсовой работе все внимание обращено на первый компонент - аутентификацию.
Первым и наиболее распространенным до сих пор средством проведения аутентификации было использование паролей. Для обеспечения высокого уровня безопасности пароли необходимо часто менять, а криптографически стойкие пароли неудобны для запоминания пользователями, что в итоге привело к формированию методики использования одноразовых паролей. Среди них: аутентификация по протоколу S/Key или при помощи специальных аппаратных средств: смарт-карт, USB-токенов и т.д. Для модемного доступа наиболее распространен механизм аутентификации по протоколу PPP с использованием протоколов PAP, CHAP и EAP. Протокол EAP продолжают усовершенствовать с целью расширения его функциональности, но в настоящее время он уже позволяет более гибко использовать как существующие, так и будущие технологий аутентификации в каналах PPP. А в среде корпоративного удаленного доступа большое распространение получили протоколы, которые поддерживают масштабируемые решения в области аутентификации - Remote Access Dial-In User Service (RADIUS) и TACACS.
Версии
TACACS
Имеется три версии приложений сервера защиты TACACS.
TACACS (TerminalAccessControllerAccessControlSystem - система управления доступом к контроллеру терминального доступа). Описанный в документе RFC 1492 промышленный стандарт протокола, предполагающий передачу имени пользователя и пароля централизованному серверу. Централизованный сервер может представлять собой либо базу данных TACACS, либо базу данных типа файла паролей UNIX с поддержкой протокола TACACS. Например, сервер UNIX с поддержкой TACACS может передавать запросы базе данных UNIX и возвращать сообщения подтверждения или отказа серверу доступа.
XTACACS. Определяет расширения, добавленные Cisco к протоколу TACACS для поддержки новых и расширенных возможностей. Стандарт XTACACS является многопротокольным; он поддерживает авторизацию соединений, использующих SLIP, режим enable, PPP (IP или IPX), ARA, EXEC и Telnet.
XTACACS поддерживает отправку информации аудита хосту UNIX от множества серверов TACACS и syslog, соединяет пользователя с "оболочкой" сервера доступа в соответствии с результатами аутентификации, а также может инициализировать соединения Telnet, SLIP, PPP или ARA после начальной аутентификации.
XTACACS был вытеснен
TACACS+
TACACS+. Улучшенная и постоянно совершенствуемая версия TACACS позволяет серверу TACACS+ обеспечивать независимое использование сервисов AAA. Поддержка AAA является модульной, так что каждая из возможностей по существу является отдельным сервером. Каждый сервис может связываться со своей базой данных либо использовать другие сервисы сервера или сети. Поддержка TACACS+ появилась в CiscoIOSRelease 10.3 (В настоящее время в ходу Release 12. x).
TACACS+ представляет собой совершенно новую версию протокола TACACS, ссылающуюся на документ RFC 1492 и разрабатываемую Cisco. Он несовместим с XTACACS. TACACS+ был представлен на рассмотрение IETF (InternetEngineeringTaskForce- проблемная группа проектирования Internet) в качестве проекта стандарта.
TACACS и XTACACS в программном обеспечении CiscoIOS официально представлены как протоколы, дальнейшее сопровождение и совершенствование которых компания Cisco прекращает. Кроме того, сопровождение бесплатно предлагаемого Cisco программного кода сервера TACACS и XTACACS тоже официально прекращено. Дальнейшее совершенствование и сопровождение этих продуктов компанией Cisco не планируется. Однако активное независимое сообщество пользователей уже предлагает некоторые усовершенствования этих протоколов.
Принцип работы
TACACS+ - это протокол третьего поколения в семействе протоколов TACACS (RFC 1492). TACACS (Terminal Access Controller Access Control System) - это протокол удаленной аутентификации, который применяется в процессе предоставления доступа к информационным серверам, серверам удаленного доступа и другим активным сетевым устройствам. Он был разработан U. S. Department of Defense и BBN Planet corp. (Bolt, Beranek and Newman, Inc). В дальнейшем он несколько раз дорабатывался компанией Cisco Systems Inc.
TACACS+ представляет собой приложение сервера защиты, позволяющее на основе соответствующего протокола реализовать централизованное управление доступом пользователей к серверу сетевого доступа, маршрутизатору или другому сетевому оборудованию, поддерживающему TACACS+. Информация о сервисах TACACS+ и пользователях хранится в базе данных, обычно размещаемой на компьютере под управлением UNIX или WindowsNT (Windows 2000/2003).
Рис.1. Поддержка TACACS+ или RADIUS сервером сетевого доступа, маршрутизатором и удаленной базой данных защиты
В своей работе протоколы семейства TACACS используют порт 49, который выделило для них Internet Assigned Numbers Authority (IANA). Предыдущие версии TACACS (как и аналогичный протокол RADIUS) в качестве средства доставки использовали протокол UDP. В отличие от них, TACACS+ полагается на TCP, что позволяет за счет несколько больших накладных расходов обеспечить более простую реализацию и расширить функциональность (например, поддерживается множественная обработка запросов).
TACACS+ - это протокол, реализованный по технологии клиент-сервер, причем почти всегда клиент - это NAS (Network Access Server - сервер сетевого доступа; например, Cisco AS5300 и Shiva Corp. 's Access Manager 3.0), а сервер - некоторая программа, запущенная на хост-машине (UNIX, NT или другая, необходимо отметить что UNIX системы наиболее распространены в роли серверов TACACS+). Примером таких серверов являются CiscoSecure Access Control Server (ACS) и Shiva's LAN Rover/E Plus.
Протокол TACACS+ позволяет объединить несколько NAS в общую систему обеспечения аутентификации в рамках системы обеспечения сетевой безопасности, функционируя в 2 режимах:
1. проведение аутентификации, используя централизованную базу учетных записей.
2. посредничество для внешних систем аутентификации (т. н. proxy-режим).
Благодаря этому он может использоваться и в глобальных системах предоставления безопасного сетевого доступа, таких как CiscoSecure Global Roaming Server (GRS).
Принципиально важной особенностью протокола TACACS+ является то, что он позволяет разделить аутентификацию, авторизацию и учет (AAA - Authentication, Authorization, Accounting) и реализовать их на отдельных серверах. Это является существенным прогрессом по сравнению как с исходным протоколом TACACS, в который понятие учета вообще не входило, так и с протоколом RADIUS, в котором аутентификация и авторизация совмещены.
Свойства TACACS+
TACACS+ поддерживает следующие возможности сервера защиты.
Пакеты TCP для надежной передачи данных. Использование TCP в качестве протокола связи для соединений TACACS+ между сервером сетевого доступа и сервером защиты. Для TACACS+ резервируется ТСР-порт 49.
Архитектура ААА. Каждый сервис предоставляется отдельно и имеет собственную базу данных, но, тем не менее, они работают вместе, как один сервер защиты.
Канальное шифрование. Часть TCP-пакета, содержащая данные протокола TACACS+, шифруется с целью защиты трафика между сервером сетевого доступа и сервером защиты.
Каждый пакет TACACS+ имеет 12-байтовый заголовок, пересылаемый в виде открытого текста, и тело переменной длины, содержащее параметры TACACS+. Тело пакета шифруется с помощью алгоритма, использующего псевдослучайный заполнитель, получаемый посредством MD5. Пакеты TACACS+ передаются по сети и хранятся сервером TACACS+ в шифрованном виде. Когда это необходимо, пакет дешифруется сервером сетевого доступа или приложением TACACS+ путем обращения алгоритма шифрования.
Аутентификация РАР и CHAP. Обеспечивает полный контроль аутентификации с помощью средств вызова/ответа РАР и CHAP, а также посредством использования диалоговых окон ввода пароля доступа и поддержки сообщений интерактивной процедуры начала сеанса.
Защ
Протоколы инкапсуляции для удаленного доступа. Поддерживают использование SLIP, РРР и ARAP, а также адресацию TN3270 и X.121 в рамках Х.25.
Поддержка автокоманд. Автокоманды автоматически выполняются для пользователя, если они внесены в конфигурацию базы данных TACACS+ и поддерживаются сервером сетевого доступа.
Функция обратного вызова. Данная функция возвращает телефонные вызовы, заставляя сервер сетевого доступа звонить соответствующему пользователю, что может дать дополнительные гарантии защиты пользователям, использующим доступ по телефонным линиям.
Индивидуальные списки доступа пользователей. База данных TACACS+ может дать указание серверу сетевого доступа контролировать доступ данного пользователя к сетевым службам и ресурсам в течение фазы авторизации на основе списка доступа, созданного в ходе предыдущего сеанса связи.
Процесс аутентификации TACACS+
Заголовок пакета TACACS+ содержит поле типа, являющееся признаком того, что пакет представляет собой часть процесса ААА. Аутентификация TACACS+ различает три типа пакетов: START (начало), CONTINUE (продолжение) и REPLY (ответ). Рассмотрим процесс аутентификации TACACS+, в котором сервер сетевого доступа обменивается пакетами аутентификации с сервером TACACS+ (рис.2).
Рис.2. Процесс аутентификации TACACS+
Сервер сетевого доступа посылает пакет START серверу защиты TACACS+, чтобы начать процесс аутентификации.
Процесс аутентификации на сервере защиты TACACS+ обычно возвращает серверу сетевого доступа пакет GETUSER, содержащий запрос имени пользователя.
Сервер сетевого доступа запрашивает имя пользователя и посылает введенное имя серверу защиты TACACS+ в пакете CONTINUE.
Сервер защиты TACACS+ посылает серверу сетевого доступа пакет GETPASS, содержащий запрос пароля. Сервер сетевого доступа выдает запрос пароля пользователю.
Сервер сетевого доступа посылает серверу защиты TACACS+ пакет CONTINUE, содержащий пароль, введенный пользователем.
Сервер защиты TACACS+ проверяет пароль, используя для этого информацию из файла конфигурации TACACS+, и решает, успешно ли завершен процесс аутентификации данного пользователя. В результате серверу сетевого доступа возвращается либо пакет PASS (успех), либо пакет FAIL (неудача), указывающий результат аутентификации.
Процесс авторизации TACACS+
В процессе авторизации TACACS+ используется два типа пакетов: REQUEST (запрос) и RESPONSE (ответ). Данный процесс авторизации пользователя контролируется посредством обмена парами "атрибут/значение" между сервером защиты TACACS+ и сервером сетевого доступа. Рассмотрим процесс авторизации TACACS+, в котором сервер сетевого доступа обменивается пакетами авторизации с сервером TACACS+ (рис.3).
Рис.3. Процесс авторизации TACACS+
Сервер сетевого доступа посылает пакет REQUEST серверу защиты TACACS+. Данный пакет содержит фиксированный набор полей, идентифицирующих пользователя или процесс, а также переменный набор аргументов, описывающих сервисы и параметры, необходимые для авторизации.
Сервер защиты TACACS+ возвращает серверу сетевого доступа пакет RESPONSE, содержащий переменный набор аргументов ответа (пары "атрибут/значение"). Эти пары строятся на основе ранее заданных разрешений для данного пользователя, хранимых в файле конфигурации TACACS+. Вот несколько примеров таких пар.
service = ррр - исходно доступный сервис
protocol = ip - протокол, доступный для использования с указанным сервисом
addr = 172.16.10.1 - авторизованный сетевой адрес
timeout = 12 - абсолютный таймер, ограничивающий длительность соединения в минутах
Сервер сетевого доступа использует пары "атрибут/значение" для того, чтобы запретить, разрешить или модифицировать возможности использования команд и сервисов, запрашиваемых пользователем.
Процесс аудита TACACS+
В процессе аудита TACACS+ используется два типа пакетов - REQUEST (запрос) и RESPONSE (ответ). Данный процесс во многом подобен процессу авторизации. В процессе аудита создаются записи с информацией об активности пользователя в отношении заданных сервисов. Записи, регистрирующие выполненные сетевым оборудованием действия, могут сохраняться в некотором стандартном формате, например в файле. csv (comma-separatedvalue - разделенные запятыми значения), на сервере защиты с целью дальнейшего анализа.
В рамках TACACS+ аудит ААА не является средством надежной защиты и обычно используется только для учета или управления. Однако с помощью аудита ААА можно контролировать действия пользователя, чтобы, например, вовремя заметить его необычное поведение при работе с сетевым оборудованием. Рассмотрим процесс аудита TACACS+, в котором сервер сетевого доступа обменивается пакетами аудита с сервером TACACS+ (рис.4).
Рис.4. Процесс аудита TACACS+
Сервер сетевого доступа посылает серверу защиты TACACS+ пакет REQUEST аудита, содержащий фиксированный набор полей, идентифицирующих пользователя или процесс.
Этот пакет содержит запись, состоящую из переменного набора полей (пар "атрибут/значение"), описывающих сервисы, для которых должны создаваться записи аудита в зависимости от определенных событий и методов аудита. Пары "атрибут/значение" аналогичны тем, которые используются для авторизации, но дополнительно применяются пары, характеризующие время начала и окончания записи аудита, а также общее время, затраченное на ее создание.
Сервер защиты TACACS+ посылает серверу доступа пакет RESPONSE и подтверждает получение контрольной записи. Этот пакет указывает, что функция аудита на сервере защиты TACACS+ выполнена и что запись создана и сохранена.
Сравнение протоколов TACACS+ и RADIUS
А теперь хотелось бы поподробнее сравнить возможности протоколов TACACS+ и RADIUS.
Протокол RADIUS (RemoteAuthenticationDialInUserService), в отличие от TACACS+, был разработан независимой группой разработчиков (на данный момент протокол не модифицируется) и поэтому получил широкое распространение у сторонних разработчиков.
Как правило, все производители программных и аппаратных клиентов поддерживают данный протокол.
Кратко о протоколе можно сказать следующее: использует в своей основе протокол UDP (а поэтому относительно быстр), процесс авторизации происходит в контексте процесса аутентификации (т.е. авторизация как таковая отсутствует), реализация RADIUS-сервера ориентирована на однопроцессное обслуживание клиентов (хотя возможно многопроцессное - вопрос до сих пор открытый), поддерживает довольно ограниченное число типов аутентификации (Clear text и CHAP), имеет среднюю степень защищености.
Приведем сравнительную таблицу возможностей обоих протоколов:
RADIUS | TACACS+ | |
Базовый протокол | UDP | TCP |
Поддерживаемые сервисы | Autentication, Authorization | Authentication, Authorization, Accounting |
Безопасность | Шифруется пароль | Шифруется все тело пакета |
Протокол TACACS+ использует протокол TCP, т.е. он потенциально медленнее протокола RADIUS, но TACACS+ способен в каждый момент времени обслуживать несколько пользователей.
Radius шифрует только пароль в передаваемом пакете, при этом оставшаяся часть пакета (имя пользователя, авторизованные сервисы, информация учета) не зашифрована и доступна для захвата злоумышленником. TACACS+ шифрует все тело пакета. Таким образом, степень защищенности протокола TACACS+ выше, чем у RADIUS.
RADIUS поддерживает аутентификацию и авторизацию. TACACS+ использует архитектуру AAA (Authentication, Authorization, Accounting). Возможно выполнение аутентификации отдельно (например, на сервере Kerberos), а авторизации и учета - с использованием TACACS+.
Заключение
В заключение хотелось бы отметить тот факт, что в настоящее время разработан новый протокол Diameter (RFC 3588 (Diameter Base Protocol), RFC 3589 (Diameter Command Codes for 3GPP), RFC 4006 (Diameter Credit-Control Application)) - наследник RADIUS, который включил большую часть функциональности TACACS+. Но в то же время компания Cisco Systems продолжит поддерживать свой протокол TACACS+, который остается непревзойденным для управления предоставлением доступа к сетевым устройствам (а не к сети через PPP,VPN), т.к он единственный поддерживает такие дополнительные возможности, как фильтрация команд. Детальное сопоставление с протоколом Diameter можно будет произвести, когда он станет более распространен и поддержан производителями решений в AAA-области.
Список литературы
1. Описание технологии аутентификации TACACS+, Cisco System Inc., 2003 http://www.cisco.com/russian_win/warp/public/3/ru/solutions/sec/mer_tech_ident-tacacs.html
2. Технологии идентификации - Обеспечение безопасности в сети, Cisco Systems Inc. www.cisco.com/global/RU/win/solutions/sec/mer_tech_ident. shtml
3. Протоколы RADIUS и TACACS+: сравнение и принципы функционирования, Владислав Пинженин, Максим Мокроусов
, Сетевые решения, 2003