Введение
Компьютерный сетевой протокол. Система контроля доступа к терминалу контроля доступа (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+ во многом заменил свои предшествующие версии.
Terminal Access Controller Access Control System (TACACS, /'//t//ae//k//ae//k//s/) refers to a family of related protocols handling remote authentication and related services for network access control through a centralized server. The original TACACS protocol, which dates back to 1984, was used for communicating with an authentication server, common in older UNIX networks including but not limited to the ARPANET, MILNET and BBNNET. It spawned related protocols:
Extended TACACS (XTACACS) is a proprietary extension to TACACS introduced by Cisco Systems in 1990 without backwards compatibility to the original protocol. TACACS and XTACACS both allow a remote access server to communicate with an authentication server in order to determine if the user has access to the network. TACACS Plus (TACACS+) is a protocol developed by Cisco and released as an open standard beginning in 1993. Although derived from TACACS, TACACS+ is a separate protocol that handles authentication, authorization, and accounting (AAA) services. TACACS+ has largely replaced its predecessors.
История
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 предлагает минимальную функциональность для аутентификации администраторов и авторизации команд, но обеспечивает надежную поддержку (и широко используется) для аутентификации, авторизации и учета конечных пользователей. Таким образом, эти два протокола имеют мало общего в функциональности и областях применения.