Материал: Лекция10 - централизация при удаленном доступе

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

13

Лекция №10

Тема: "Централизованная аутентификация при удаленном доступе"

Вопросы:

1. Организация централизованной аутентификации.

2. Система TACACS.

3. Система RADIUS.

1. Организация централизованной аутентификации.

Для управления удаленными соединениями небольшой локальной сети вполне достаточно одного сервера удаленного доступа. Однако если локальная сеть объединяет относительно большие сегменты и число удаленных пользователей существенно возрастает, то одного сервера удаленного доступа будет недостаточно.

При использовании в одной локальной сети нескольких серверов удаленного доступа требуется централизованный контроль доступа к компьютерным ресурсам.

Рассмотрим, как решается задача контроля доступа к сети удаленных пользователей в соответствии с обычной схемой, когда удаленные пользователи пытаются получить доступ к сетевым ресурсам, которые находятся под управлением нескольких разных операционных систем.

Рис.1

Пользователь дозванивается до своего сервера удаленного доступа, и служба удаленного доступа RAS (Remote Access Service) серверной операционной системы выполняет для него процедуру аутентификации, например, по протоколу CHAP. Пользователь логически входит в сеть и обращается к нужному серверу, где снова проходит аутентификацию и авторизацию, в результате чего получает или не получает разрешение на выполнение запрошенной операции.

Нетрудно заметить, что такая схема неудобна пользователю, поскольку ему приходится несколько раз выполнять аутентификацию - при входе в сеть на сервере удаленного доступа, а потом еще каждый раз при обращении к каждому ресурсному серверу сети. Пользователь вынужден запоминать несколько разных паролей. Кроме того, он должен знать порядок прохождения разных процедур аутентификации в разных операционных системах. Возникают также серьезные трудности с администрированием такой сети, Администратор должен заводить учетную информацию о каждом пользователе на каждом сервере. Эти разрозненные базы данных трудно поддерживать в корректном состоянии. При увольнении сотрудника сложно исключить его из всех списков. Возникают проблемы при назначении паролей, существенно затрудняется аудит.

Отмеченные трудности и недостатки преодолеваются при установке в сети централизованной службы аутентификации и авторизации. Для централизованного контроля доступа выделяется отдельный сервер, называемый сервером аутентификации. Этот сервер служит для проверки подлинности удаленных пользователей, определения их полномочий, а также фиксации и накопления регистрационной информации, связанной с удаленным доступом. Надежность защиты повышается, если сервер удаленного доступа запрашивает необходимую для аутентификации информацию непосредственно у сервера, на котором хранится общая база данных системы защиты компьютерной сети.

Однако в большинстве случаев серверы удаленного доступа нуждаются в посреднике для взаимодействия с центральной базой данных системы защиты, например со службой каталогов. Это обусловлено тем, что стандартами удаленной аутентификации, поддерживаемыми серверами удаленного доступа, являются протоколы CHAP и РАР, которые не подходят без дополнений для аутентификации с использованием доменной службы Windows NT.

Для проверки ответа на вызов сервера, поступившего от проходящего аутентификацию пользователя, реализация протокола CHAP применяет незашифрованную копию пароля в простой текстовой форме. При аутентификации на основе протокола РАР пароль также используется в открытом виде.

Большинство сетевых операционных систем и служб каталогов сохраняют эталонные пароли пользователей с использованием одностороннего хэширования, что не позволяет серверам удаленного доступа, стандартно реализующим протоколы РАР и CHAP, извлечь открытый эталонный пароль для проверки ответа.

Роль посредника во взаимодействии между серверами удаленного доступа и центральной базой данных системы защиты может быть возложена на сервер аутентификации.

Централизованный контроль удаленного доступа к компьютерным ресурсам с помощью сервера аутентификации выполняется на основе специализированных протоколов. Данные протоколы позволяют объединять используемые серверы удаленного доступа и сервер аутентификации в одну подсистему, выполняющую все функции контроля удаленных соединений на основе взаимодействия с центральной базой данных системы защиты. Сервер аутентификации создает единую точку наблюдения и проверки всех удаленных пользователей и контролирует доступ к компьютерным ресурсам в соответствии с установленными правилами.

К наиболее популярным протоколам централизованного контроля доступа к сети удаленных пользователей относятся протоколы TACACS (Terminal Access Controller Access Control System) и RADIUS (Remote Authentication Dial-In User Service). Системы TACACS и RADIUS предназначены в первую очередь для организаций, в центральной сети которых используется несколько серверов удаленного доступа. В этих системах администратор может управлять базой данных идентификаторов и паролей пользователей, предоставлять им привилегии доступа и вести учет обращений к системным ресурсам.

Протоколы TACACS и RADIUS требуют применения отдельного сервера аутентификации, который для проверки подлинности пользователей и определения их полномочий может использовать не только собственную базу данных, но и взаимодействовать с современными службами каталогов, например с NDS (Novell Directory Services) и Microsoft Windows NT Directory Service.

Серверы TACACS и RADIUS выступают в качестве посредников между серверами удаленного доступа, принимающими звонки от пользователей, с одной стороны, и сетевыми ресурсными серверами, с другой. Реализации TACACS и RADIUS могут также служить посредниками для внешних систем аутентификации.

2. Система tacacs.

Рассмотрим особенности централизованного контроля удаленного доступа на примере протокола TACACS (рис. 3).

Система TACACS выполнена в архитектуре клиент-сервер. В компьютерной сети, включающей несколько серверов удаленного доступа, устанавливается один сервер аутентификации, который называют сервером TACACS (обычно это программа, работающая в среде универсальной ОС, чаще всего UNIX).

На сервере TACACS формируется центральная база учетной информации об удаленных пользователях, включающая их имена, пароли и полномочия. В полномочиях каждого пользователя задаются подсети, компьютеры и сервисы, с которыми он может работать, а также различные виды ограничений, например временные ограничения. На этом сервере ведется база данных аудита, в которой накапливается регистрационная информация о каждом логическом входе, продолжительности сессии, а также времени использования ресурсов сети.

Клиентами сервера TACACS являются серверы удаленного доступа, принимающие запросы на доступ к ресурсам сети от удаленных пользователей. В каждый такой сервер (УД) встроено программное обеспечение, реализующее стандартный протокол, по которому они взаимодействуют с сервером TACACS. Этот протокол также называется TACACS.

Протокол TACACS стандартизует схему взаимодействия серверов удаленного доступа с сервером TACACS на основе задания возможных типов запросов, ответов и соединений. Определены запросы, с которыми клиенты могут обращаться к серверу TACACS. Сервер на каждый запрос должен ответить соответствующим сообщением. Протокол задает несколько типов соединений, каждое из которых определяется как последовательность пар запрос-ответ, ориентированная на решение отдельной задачи.

Определено три типа соединений:

1) AUTH - выполняется только аутентификация;

2) LOGIN - выполняется аутентификация и фиксируется логическое соединение с пользователем;

3) SLIP - выполняется аутентификация, фиксируется логическое соединение,

подтверждается IP-адрес клиента.

С помощью соединения AUTH серверы удаленного доступа перенаправляют серверу TACACS поток запросов на логическое подключение пользователей к сети в целом. Соединение LOGIN служит для перенаправления запросов серверу TACACS на логическое подключение пользователей к отдельным компьютерам локальной сети.

При соединении AUTH сервер удаленного доступа посылает на сервер TACACS только одно сообщение - пакет AUTH, на который сервер TACACS отвечает сообщением REPLY. Пакет AUTH имеет формат (username, password, line, style), где:

    • username - имя пользователя;

    • password - пароль пользователя (открытый текст);

    • line - номер порта сервера удаленного доступа, по которому пользователь установил соединение;

    • style - способ аутентификации.

Сервер TACACS на основании имеющихся у него данных проверяет пароль и возвращает ответ в виде пакета REPLY, где сообщает об успехе или неуспехе аутентификации. Сервер TACACS может выполнять аутентификацию самостоятельно, а может обращаться к другим системам аутентификации, например к системам аутентификации ОС UNIX, системе NDS ОС NetWare, системе Directory Services ОС Windows NT и т.п. В соответствии с протоколом TACACS, пароль передается между сервером удаленного доступа и сервером аутентификации в открытом виде. Поэтому протокол TACACS необходимо применять совместно с протоколом аутентификации по одноразовым паролям, например с протоколом S/Key.

Соединение LOGIN состоит в следующем обмене пакетов:

1) при установлении логического соединения:

  • клиент отправляет пакет LOGIN;

  • сервер отвечает пакетом REPLY;

2) при подключении к конкретному компьютеру:

  • клиент отправляет пакет CONNECT;

  • сервер отвечает пакетом REPLY;

3) для завершения сессии:

  • клиент отправляет пакет LOGOUT;

  • сервер отвечает пакетом REPLY.

Запрос LOGIN имеет следующий формат (username, password, line). Значения полей те же, что и в запросе AUTH. Ответ сервера всегда имеет вид (result1, result2, result3), где все три поля - это целые числа, значение которых в протоколе не оговаривается. Эти числа могут интерпретироваться в соответствии с соглашением, принятым конкретным типом сервера удаленного доступа и сервером TACACS. Например, на серверах удаленного доступа Cisco поле result3 интерпретируется как номер списка прав доступа (ACL), который нужно применить к данному пользователю. На основании полученных от сервера TACACS указаний сервер удаленного доступа выполняет процедуру аутентификации и разрешает или не разрешает удаленному пользователю логически войти в сеть.

При работе в сети пользователь может захотеть подключиться к разным компьютерам и приложениям. Каждый раз при этом сервер удаленного доступа обращается с запросом CONNECT к серверу TACACS. Запрос CONNECT имеет вид (username, password, line, destination IP, destination Port), где назначение первых трех полей — то же, что и в предыдущих запросах. Два последних поля идентифицируют IP-адрес компьютера назначения и TCP-порт приложения, с которым устанавливается связь. Запрос CONNECT передается при уже установленном соединении с пользователем и поэтому пароль в нем обычно не указывается. Запрос нужен для получения разрешения пользователю подключиться к указанному компьютеру по указанному IP-адресу. Ответ сервера имеет тот же вид, что и для запроса LOGIN.

Запрос LOGOUT передается для уведомления сервера TACACS о завершении сессии пользователя. Сервер ответом подтверждает прием уведомления.

С помощью приведенных сообщений серверы удаленного доступа перенаправляют поток запросов серверу TACACS на логическое подключение пользователей к сети в целом или к отдельным ее ресурсам.

Сервер TACACS может выполнять аутентификацию и авторизацию удаленных пользователей различными способами:

1) использование встроенного механизма аутентификации той ОС, под управлением которой работает сервер;

2) использование централизованных справочных систем ОС: NIS или NIS+ для ОС UNIX, NDS ОС NetWare, Directory Services ОС Windows NT и др.;

3) использование систем аутентификации, основанных на одноразовых паролях (например, системы SecurID);

4) передача запросов другим системам аутентификации, например системе Kerberos.

Следует отметить, что недостатки протокола TACACS, связанные с открытой передачей пароля по сети, устранены компанией Cisco в версии, названной TACACS+.

В соответствии с протоколом TACACS+, пароль для передачи по сети шифруется с помощью алгоритма MD5.

TACACS+ – это простой протокол управления доступом, основанный на стандартах UDP. TACACS+ представляет собой приложение сервера защиты, позволяющее на основе соответствующего протокола реализовать централизованное управление доступом пользователей к услугам. Информация о сервисах TACACS+ и пользователях хранится в базе данных, обычно размещенной на компьютере под управлением UNIX или Windows NT. TACACS+ позволяет с помощью одного сервера управления приложениями реализовать независимую поддержку сервисов ААА (Аутентификация, Авторизация, Аудит).

Протокол TACACS+ работает по технологии клиент-сервер.

Часть TCP-пакета, содержащая данные протокола TACACS+, шифруется с целью защиты трафика между сервером доступа и сервером защиты. Тело пакета шифруется с помощью симметричного алгоритма шифрования 3-DES. Пакеты TACACS+ передаются по сети и хранятся сервером TACACS+ в зашифрованном виде. Когда это необходимо, пакет дешифруется сервером доступа и приложением TACACS+ путем обращения алгоритма шифрования.

При аутентификации TACACS+ используется три типа пакетов: START (начало), CONTINUE (продолжение) и REPLY (ответ).

В процессе авторизации TACACS+ используется два типа пакетов: REQUEST (запрос) и RESPONSE (ответ). Данный процесс авторизации пользователя контролируется посредством обмена парами «атрибут/значение» между сервером защиты TACACS+ и сервером доступа.

Аудит (или учет) обычно следует за аутентификацией и авторизацией. Учет представляет собой запись действий пользователя. В системе TACACS+ учет может выполнять две задачи. Во-первых, он может использоваться для учета использованных услуг. Во-вторых, его можно использовать в целях безопасности.

В процессе аудита TACACS+ использует два типа пакетов – REQUEST (запрос) и RESPONSE (ответ). Данный процесс во многом подобен процессу авторизации. В процессе аудита создаются записи с информацией об активности пользователя в отношении заданных сервисов. Записи, регистрирующие выполненные сетевым оборудованием действия, могут сохраняться в некотором стандартном формате, на сервере защиты с целью дальнейшего анализа.

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

Процесс аутентификации TACACS+

Заголовок пакета TACACS+ содержит поле типа, являющееся признаком того, что пакет представляет собой часть процесса ААА. Аутентификация TACACS+ различает три типа пакетов: START (начало), CONTINUE (продолжение) и REPLY (ответ). Рассмотрим процесс аутентификации TACACS+, в котором сервер сетевого доступа обменивается пакетами аутентификации с сервером TACACS+ (рис. 1).

Рис. 1. Процесс аутентификации TACACS+

  1. Сервер сетевого доступа посылает пакет START серверу защиты TACACS+, чтобы начать процесс аутентификации.

  2. Процесс аутентификации на сервере защиты TACACS+ обычно возвращает серверу сетевого доступа пакет GETUSER, содержащий запрос имени пользователя.

  3. Сервер сетевого доступа запрашивает имя пользователя и посылает введенное имя серверу защиты TACACS+ в пакете CONTINUE.

  4. Сервер защиты TACACS+ посылает серверу сетевого доступа пакет GETPASS, содержащий запрос пароля. Сервер сетевого доступа выдает запрос пароля пользователю.

  5. Сервер сетевого доступа посылает серверу защиты TACACS+ пакет CONTINUE, содержащий пароль, введенный пользователем.

  6. Сервер защиты TACACS+ проверяет пароль, используя для этого информацию из файла конфигурации TACACS+, и решает, успешно ли завершен процесс аутентификации данного пользователя. В результате серверу сетевого доступа возвращается либо пакет PASS (успех), либо пакет FAIL (неудача), указывающий результат аутентификации.

Процесс авторизации TACACS+

В процессе авторизации TACACS+ используется два типа пакетов: REQUEST (запрос) и RESPONSE (ответ). Данный процесс авторизации пользователя контролируется посредством обмена парами "атрибут/значение" между сервером защиты TACACS+ и сервером сетевого доступа. Рассмотрим процесс авторизации TACACS+, в котором сервер сетевого доступа обменивается пакетами авторизации с сервером TACACS+ (рис. 2).

Рис. 2. Процесс авторизации TACACS+

1.Сервер сетевого доступа посылает пакет REQUEST серверу защиты TACACS+. Данный пакет содержит фиксированный набор полей, идентифицирующих пользователя или процесс, а также переменный набор аргументов, описывающих сервисы и параметры, необходимые для авторизации.

2.Сервер защиты TACACS+ возвращает серверу сетевого доступа пакет RESPONSE, содержащий переменный набор аргументов ответа (пары "атрибут/значение"). Эти пары строятся на основе ранее заданных разрешений для данного пользователя, хранимых в файле конфигурации TACACS

Источник: https://studfile.net/preview/16435824/