Одним из самых сложных заданий, с которыми сталкивается сетевой администратор в сегодняшней среде сетевой безопасности, является ограничение доступа к сетевым службам, с которыми сталкиваются авторизованные пользователи. Потребность в сетевой безопасности создает еще большее ограничение для сетевых администраторов, поскольку сети продолжают расти и становятся более децентрализованными. Идеально необходима центральная точка управления — это называется сервером контроля доступа (ACS). На этом сервере будет размещена центральная пользовательская база данных, и, очевидно, может быть более одного сервера в зависимости от размера и потребности организации. В этой статье основное внимание будет уделено пониманию и внедрению TACACS +, однако одна и та же методология может быть применена к другим протоколам, которые обрабатывают контроль доступа. TACACS + означает сервер контроля доступа к терминалу. Он является производным от приложения TACACS, используемого в сети передачи данных.
Ключевые слова: tacacs+, аутентификация, авторизация, аккаунтинг, cisco
TACACS+ (англ. Terminal Access Controller Access Control System plus) — сеансовый протокол, результат дальнейшего усовершенствования TACACS, предпринятого Cisco.
TACACS+ использует понятия сеансов. В рамках TACACS+ возможно установление трёх различных типов сеансов AAA (англ. authentication, authorization, accounting). Установление одного типа сеанса в общем случае не требует предварительного успешного установления какого-либо другого. Спецификация протокола не требует для открытия сеанса авторизации открыть сначала сеанс аутентификации. Сервер TACACS+ может потребовать аутентификацию, но протокол этого не оговаривает.
Аутентификация. Указывает, кому разрешено получать доступ к сети. Пользователи должны доказать, что они действительно такие, какие они говорят. Традиционно авторизованные пользователи были вынуждены использовать пароль для проверки своей личности, однако это имеет множество ограничений безопасности. В то время как TACACS + может использовать имена пользователей и пароли, он также может использовать другие механизмы, такие как пароли «один раз». Если для аутентификации используются стандартные пароли, то чтобы предотвратить проникновение хакеров в систему. Например: если пакет был перехвачен и содержит пароль пользователя, перехваченный пакет был бы поставлен до того, как преступники смогут декодировать шифрование, облегчающее вход в систему.
Авторизация
Относится к тому, что пользователю разрешено делать, или к каким услугам у пользователя есть доступ. Например: если пользователи набираются в сети удаленно и проходят аутентификацию, авторизация может определять, какие IP-адреса у пользователя есть и какие приложения на этих устройствах.
Аккаунтинг относится к отслеживанию того, что сделал пользователь, и когда эти службы были использованы. Это чрезвычайно полезно для целей аудита безопасности. Аккаунтинг использует начало и конец сообщений, чтобы отслеживать, когда была запущена служба и когда она была прекращена. Учетные записи могут храниться локально или отправляться на другое устройство, такое как сервер syslog.
TACACS + использует модель клиент-сервер, на которую клиент запрашивает сервер (работающий в UNIX или NT), и сервер в свою очередь возвращает ответ, в котором указывается решение, по которой пользователь прошел или не прошел аутентификацию. Важно отметить, что клиент не является пользователем или машиной пользователя, а скорее устройством, которое пытается определить, следует ли пропускать пользователя через сеть (как правило, маршрутизатор или брандмауэр).
Простейшая схема использования TACACS+ на Рисунке 1:
Рис. 1.
TACACS + использует подход клиентской модели. Сервер (работает в UNIX или NT) допрашивается клиентом, а сервер, в свою очередь, отвечает, указав, прошел ли пользователь или не прошел аутентификацию. Важно отметить, что клиент не является пользователем или машиной пользователя, а скорее устройством, которое пытается определить, разрешено ли пользователю входить в сеть (обычно это маршрутизатор или брандмауэр). TACACS + использует TCP в качестве транспортного протокола — порт по умолчанию — 49. При необходимости сервер может быть настроен для прослушивания на других портах. TACACS + похож на RADIUS (удаленный доступ к набору номера на пользовательском сервере) с несколькими ключевыми отличиями. RADIUS использует UDP для связи между клиентом и сервером как TACACS +, используемый TCP.
С подключением TCP ориентированный протокол более надежный, это делает более надежным выбором транспортного протокола. И TACACS +, и RADIUS используют общий секретный ключ для обеспечения шифрования для связи между клиентом и сервером. RADIUS шифрует пароль пользователя, когда клиент сделал запрос на сервер. Это шифрование не позволяет кому-то «сниффить» пароль пользователя с помощью анализатора пакетов. Однако можно проанализировать другую информацию, такую как имя пользователя и службы, которые выполняются. TACACS + шифрует не только всю полезную нагрузку при общении, но также шифрует пароль пользователя между клиентом и сервером. Это затрудняет расшифровку информации о связи между клиентом и сервером. TACACS + использует MD5-хэш-функцию в своем алгоритме шифрования и дешифрования. Наконец, в RADIUS проверка аутентификации и авторизации объединяются вместе. Когда клиент запрашивает аутентификацию с сервера; сервер отвечает атрибутами аутентификации, а также атрибутами авторизации. Эти функции не могут выполняться отдельно. В TACACS + все три функции AAA (аутентификация, авторизация и аккаунтинг) могут выполняться отдельно. Это определенно дает администратору большую гибкость при разработке своей политики AAA. Например, для аутентификации можно использовать один метод, такой как kerberos, и для авторизации может использоваться отдельный метод, такой как TACACS. Конфигурирование TACACS + состоит из двух частей: 1) создание профилей пользователей в базе данных сервера, 2) настройка клиентов для связи с сервером. В целях обеспечения дополнительной защиты мы сосредоточимся на различных примерах эффективного использования TACACS + в сетевой среде Cisco. Допустим, что читатель имеет базовые знания о том, как настроить как маршрутизаторы Cisco, так и брандмауэр Cisco PIX. Пример 1: Защита маршрутизаторов / брандмауэров. Маршрутизаторы и брандмауэры являются критическими компонентом любой сети, и поэтому разумно ограничить доступ к этим устройствам. Мы сосредоточимся на маршрутизаторе Cisco, однако те же шаги необходимы для реализации на брандмауэрах Cisco PIX. При доступе к маршрутизатору Cisco интерфейс командной строки (CLI) существует два основных режима: пользовательский режим и режим включения. Пользовательский режим позволяет вам иметь ограниченный доступ, просматривать конфигурацию и статистику маршрутизаторов. Режим Enable дает право на привилегии суперпользователя, что позволяет вам полностью контролировать маршрутизатор. Оба режима обычно защищены отдельным паролем. Применение фильтра для ограничения, из которого IP-адреса маршрутизатор будет принимать telnet-соединения, может дополнительно ограничить доступ. Хотя это хороший старт, есть несколько проблем с этими методами контроля доступа. Во-первых, использование общего пароля, разрешающего доступ к маршрутизатору, увеличивает вероятность того, что пароль может быть просочился. Добавленное ограничение использования списка доступа для фильтрации адреса источника для доступа по telnet означает, что если можно узнать пароль, можно перейти на машину, на которой разрешено соединение с маршрутизатором и telnet. Если что-то пойдет не так, и необходимо исследовать syslogs, чтобы определить, кто был в «контроле» в то время, единственное, что syslog сможет указать, — это IP-адрес от telnet-сервера, но не тот, кто был зарегистрирован в маршрутизаторе. Некоторый сотрудник делает изменения на маршрутизаторе, не пройдя надлежащие каналы управления изменениями (он пытался сэкономить время, это было просто простое изменение), изменение не идет так, как планировалось, и часть сети не работает. Взгляд на syslogs показывает, что кто-то вошел в маршрутизатор с авторизированного IP-адреса, однако несколько отделов имеют доступ к этой конкретной машине — Engineering Implementation и Operations. Нет никакого способа окончательно знать, если это была просто простая ошибка или была запущенная машина, управляемая в попытке получить доступ к маршрутизатору. Используя AAA, мы можем переместить доступ с сетевого уровня на уровень пользователя. Чтобы получить доступ к маршрутизатору, вход пользователя не только должен исходить из правильного IP-адреса, но также требует проверки подлинности сервером TACACS+. Если устройство было преднамеренно поставлено под угрозу, был бы след аудита, показывающий не только исходный IP-адрес, но и учетную запись пользователя, зарегистрированную в устройстве. Еще один шаг — добавление авторизации. Это позволит некоторым пользователям получить больше привилегий, чем другие. Инженеры первого уровня могут получить авторизацию только для выполнения нескольких команд «показать», в то время как избранные несколько старших инженеров допускают право «суперпользователя» На рисунке 2 показана обычная пользовательская конфигурация на сервере Unix Cisco Secure TACACS +, а на рисунке 3 показан пользователь, у которого есть полные права доступа к маршрутизатору. Обратите внимание, что для пользователя только уровень привилегий установлен в 1, то есть число, которое обозначает регулярное пользовательский режим, в то время как пользователь полностью прав, уровень привилегий установлен равным 15, что означает режим разрешения.
Рис. 2.
Рис. 3.
Следующий шаг — настроить маршрутизатор или пикс для использования сервера TACACS + для выполнения проверки подлинности и авторизации.
В командной строке на маршрутизаторе вводятся следующие команды:
tacacs-server host 192.168.2.1 key secretkey
Это определило хост, который настроен как сервер AAA и ключ шифрования, ключ должен быть определен как на маршрутизаторе, так и на сервере, а если ключи не совпадают, они не смогут расшифровать пакеты друг друга
aaa new-model
Включает аутентификацию AAA
aaa authentication login default group tacacs+
Указывается, что tacacs + будет методом, используемым для определения уровня exec или команды.
aaa accounting start-stop group tacacs+
Позволяет вести учет и указывает отслеживать начало и конец команд, это позволяет отслеживать, какие команды использовались и когда.
Вывод
Использование TACACS + для обеспечения аутентификации, авторизации и учета дает сетевым инженерам дополнительный уровень защиты в защите сетей. Это позволяет регулировать доступ к сетевым службам на более детальной основе. Удаленные пользователи, подключающиеся к сети, могут быть экранированы с пользовательской базой данных и настраиваемой политикой, которая управляет не только тем, к каким устройствам может обращаться пользователь, но и к каким услугам на конкретном устройстве, к которому пользователь может получить доступ. Если учетная запись пользователя скомпрометирована, эта учетная запись может быть отключена. Аккаунтинг обеспечивает аудиторский след, который может использоваться для отслеживания того, какие услуги у пользователя были доступны. Поскольку все больше рабочих начинают работать удаленно из дома, TACACS +, безусловно, может сделать задачу администрирования учетных записей пользователей и сетевых сервисов более эффективной и безопасной. Сервера TACACS + не должны запускаться никакое другое приложение; это минимизирует вероятность взлома сервера с помощью уязвимостей в одном из других приложений. Связь с серверами TACACS + должна ограничиваться устройствами (клиентами), которые должны взаимодействовать с сервером для выполнения аутентификации. Другими словами, если хакеру нужно было получить доступ к внутреннему устройству, он не должен подключаться к серверу TACACS + с такого устройства. Это должно быть обеспечено за счет наличия соответствующих фильтров (списков контроля доступа) на маршрутизаторах, а также путем применения дополнительных мер безопасности к серверу, таких как обертки TCP.
Литература:
- «Сравнение TACACS + и RADIUS» http://www.cisco.com/warp/public/480/10.html
- «Дистанционная проверка подлинности в службе пользователя (RADIUS)»
- URL: http://www.ietf.org/rfc/rfc2138.txt
- «TACACS + Аутентификация для пользователей HTTP-сервера» http://www.cisco.com/warp/public/480/http-2.html
- «Конфигурация для каждого пользователя» http://www.cisco.com/univercd/cc/td/doc/product/software/ios120/12cgcr/dial_c/dcperusr.htm