Введение

Компьютерный сетевой протокол. Система контроля доступа к терминалу контроля доступа (TACACS, /'//t//ae//k//ae//k//s/) относится к семейству связанных протоколов, обеспечивающих удаленную аутентификацию и сопутствующие сервисы для контроля доступа к сети через централизованный сервер. Изначальный протокол TACACS, разработанный в 1984 году, использовался для связи с сервером аутентификации, распространенным в более ранних сетях UNIX, включая, но не ограничиваясь ARPANET, MILNET и BBNNET. На его основе были созданы связанные протоколы: Расширенный TACACS (XTACACS) – это проприетарное расширение TACACS, представленное компанией Cisco Systems в 1990 году, не имеющее обратной совместимости с оригинальным протоколом. TACACS и XTACACS позволяют серверу удаленного доступа взаимодействовать с сервером аутентификации для определения прав доступа пользователя к сети. TACACS Plus (TACACS+) – протокол, разработанный Cisco и выпущенный как открытый стандарт начиная с 1993 года. Хотя TACACS+ и основан на TACACS, это отдельный протокол, который обрабатывает аутентификацию, авторизацию и учёт (AAA). TACACS+ во многом заменил свои предшествующие версии.

История

TACACS был первоначально разработан в 1984 году компанией BBN, позже известной как BBN Technologies, для администрирования сетей ARPANET и MILNET, которые в то время обрабатывали незасекреченный сетевой трафик для DARPA и впоследствии стали основой для NIPRNet Министерства обороны США. Изначально он был создан для автоматизации аутентификации – позволяя пользователю, уже авторизованному на одном хосте в сети, подключаться к другому хосту в той же сети без повторной аутентификации. Впервые протокол был формально описан Брайаном Андерсоном из BBN в документе TAC Access Control System Protocols, BBN Tech Memo CC 0045, с незначительным изменением для предотвращения двойного входа через TELNET, в декабре 1984 года в IETF RFC 927. Компания Cisco Systems начала поддерживать TACACS в своих сетевых продуктах в конце 1980-х годов и впоследствии добавила в протокол ряд расширений. В 1990 году расширения Cisco, основанные на TACACS, стали проприетарным протоколом под названием Extended TACACS (XTACACS). Несмотря на то, что TACACS и XTACACS не являются открытыми стандартами, Крейг Финсет из Университета Миннесоты, при поддержке Cisco, опубликовал описание этих протоколов в 1993 году в виде IETF RFC 1492 в информационных целях.

КОЛОБЫ

TACACS определяется в RFC 8907 (ранее RFC 1492) и по умолчанию использует порт 49 (TCP или UDP). TACACS позволяет клиенту запрашивать имя пользователя и пароль и отправлять запрос на сервер аутентификации TACACS, который иногда называют демоном TACACS. Сервер определяет, разрешить или отклонить запрос аутентификации, и отправляет ответ. TIP (узел маршрутизации, принимающий подключения по коммутируемым линиям связи, в которые пользователь обычно хочет войти) затем предоставляет или запрещает доступ, основываясь на этом ответе. Таким образом, процесс принятия решения становится прозрачным, а алгоритмы и данные, используемые для этого, находятся под полным контролем администратора демона TACACS.

XTACACS

Расширенный TACACS (XTACACS) расширяет протокол TACACS дополнительными возможностями. Он также разделяет функции аутентификации, авторизации и учёта (AAA) на отдельные процессы, что позволяет обрабатывать их разными серверами и технологиями.

TACACS+

TACACS+ – это расширение протокола TACACS, разработанное компанией Cisco, которое шифрует содержимое каждого пакета, оставляя заголовок в открытом виде. Более того, оно обеспечивает гранулярный контроль доступа, позволяя авторизацию по каждой команде в отдельности. TACACS+ в большинстве случаев заменил протоколы TACACS и XTACACS в современных и обновленных сетях. TACACS+ – это принципиально новый протокол, несовместимый со своими предшественниками TACACS и XTACACS.

Сравнение с RADIUS

Между этими двумя протоколами существует ряд различий, которые делают их существенно различными в обычном использовании. TACACS+ может использовать только TCP, в то время как RADIUS обычно работает через UDP, но также может использовать TCP (RFC6613), а для дополнительной безопасности – TLS (RFC 6614) и DTLS (RFC7360). TACACS+ может работать в двух режимах. В одном режиме весь трафик, включая пароли, передается в открытом виде, и единственной мерой безопасности является фильтрация IP-адресов. В другом режиме применяется маскировка данных (RFC 8907, раздел 4.5), при которой заголовок пакета передается в открытом виде, а тело, включая пароли, маскируется методом на основе MD5. Метод маскировки на основе MD5 аналогичен используемому для атрибута User Password в RADIUS (RFC 2865, раздел 5.2) и, следовательно, обладает схожими свойствами безопасности. Другое отличие заключается в том, что TACACS+ используется исключительно для административного доступа к сетевому оборудованию, в то время как RADIUS чаще всего применяется для аутентификации конечных пользователей. TACACS+ поддерживает "авторизацию команд", когда администратор может войти в сетевое оборудование и попытаться выполнить команды. Оборудование использует TACACS+ для отправки каждой команды на сервер TACACS+, который может авторизовать или отклонить ее. Аналогичная функциональность существует в RADIUS в RFC 5607, но поддержка этого стандарта, по всей видимости, ограничена или отсутствует. TACACS+ предоставляет надежные функции для аутентификации администраторов и авторизации команд, но практически никогда не используется для аутентификации доступа конечных пользователей к сетям. В отличие от этого, RADIUS предлагает минимальную функциональность для аутентификации администраторов и авторизации команд, но обеспечивает надежную поддержку (и широко используется) для аутентификации, авторизации и учета конечных пользователей. Таким образом, эти два протокола имеют мало общего в функциональности и областях применения.