среда, 28 октября 2009 г.

ISSP \ Домен 02. Управление доступом. Часть 8

В этой части рассмотрены следующие вопросы:
  • Администрирование доступа
  • Централизованное администрирование управления доступом
  • RADIUS
  • TACACS
  •  Diameter
  •  Децентрализованное администрирование управления доступом

Обновлено: 27.03.2010

Итак, после того как компания разработала политику безопасности, а также поддерживающие ее процедуры, стандарты и руководства (см. Домен 01), она должна выбрать тип модели управления доступом: DAC, MAC или ролевое. Затем компания должна выбрать и внедрить различные технологии и техники управления доступом, среди которых могут быть матрицы контроля доступа, ограниченные интерфейсы, контекстно- или контентно-зависимое управление, либо управление на основе правил. Если среда не требует высокого уровня безопасности, компании следует выбрать дискреционную или ролевую модель. Модель DAC позволяет владельцам данных управлять доступом пользователей к своим ресурсам, поэтому компания должна полностью осознавать возможные последствия, выбирая эту модель. Если в компании большая «текучесть» кадров и/или требуется более централизованный метод управления доступом, целесообразно выбрать ролевую модель. Если среда требует более высокого уровня безопасности, и в ней только администратор должен иметь возможность предоставления доступа к ресурсам, тогда наилучшим выбором будет модель МАС. Теперь осталось определить, как компания будет администрировать выбранную модель управления доступом. Существует два основных варианта администрирования управления доступом: централизованный и децентрализованный. При принятии решения необходимо понимать оба подхода, чтобы выбирать из них именно тот, который позволит обеспечить необходимый уровень безопасности.


При централизованном администрировании доступа (centralized access control administration) один субъект (человек или подразделение) следит за доступом ко всем корпоративным ресурсам. Этот субъект (администратор безопасности) настраивает механизмы, которые реализуют управление доступом, выполняет изменения пользовательских профилей, отзывает права доступа при необходимости, полностью блокирует доступ пользователя в случае его увольнения. Этот тип администрирования предоставляет последовательные и унифицированные методы управления правами доступа пользователей. Он обеспечивает строгий контроль данных, т.к. только один человек (или подразделение) имеет необходимые права для изменения профилей доступа и разрешений, однако это довольно медленный способ, поскольку все изменения должны быть выполнены одним человеком (подразделением).

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

В зависимости от протокола, существуют различные способы аутентификации пользователей в клиент-серверной архитектуре. Традиционные протоколы аутентификации: PAP (password authentication protocol), CHAP (challenge handshake authentication protocol) и новый метод EAP (extensible authentication protocol). Каждый из этих протоколов будет рассмотрен в Домене 05.


RADIUS (remote authentication dial-in user service) – это сетевой протокол, который обеспечивает клиент-серверную аутентификацию, авторизацию и аудит удаленных пользователей. Для подключения удаленных пользователей, в сети должны быть установлены серверы доступа и средства для удаленного подключения (например, модемный пул, DSL, ISDN или линия Т1). Сервер доступа запрашивает у пользователя учетные данные для входа и передает их на сервер RADIUS, на котором хранятся имена пользователей и пароли. При этом удаленный пользователь является клиентом сервера доступа, а сервер доступа является клиентом RADIUS-сервера.

В настоящее время большинство интернет-провайдеров используют RADIUS для аутентификации клиентов, перед тем, как разрешить им доступ к сети Интернет. Сервер доступа и программное обеспечение клиента «договариваются» о протоколе аутентификации, который они будут использовать (PAP, CHAP или EAP), посредством процедуры «рукопожатия» (handshake), после чего клиент передает серверу доступа свое имя пользователя и пароль. Это взаимодействие происходит через соединение PPP. Взаимодействие сервера доступа с RADIUS-сервером осуществляется по протоколу RADIUS. Сервер доступа уведомляет RADIUS-сервер о фактах начала и окончания сеанса в целях предоставленных тарификации услуг (биллинга).

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

RADIUS был разработан компанией Livingston Enterprises для своей серии серверов доступа, но затем был опубликован в виде стандартов RFC 2865 и RFC 2866. Это открытый протокол, который может использовать любой производитель в своих продуктах. Конфигурации и учетные данные пользователей могут храниться на серверах LDAP, в различных базах данных или текстовых файлах. Рисунок 2-13 показывает некоторые примеры возможных реализаций RADIUS.
Рисунок 2-13. В различных средах инфраструктура RADIUS может быть реализована по-разному

TACACS (Terminal Access Controller Access Control System) прошел через три поколения: TACACS, Extended TACACS (XTACACS) и TACACS+. TACACS объединяет процессы аутентификации и авторизации, XTACACS разделяет процессы аутентификации, авторизации и аудита, а TACACS+ – это XTACACS с расширенной двухфакторной аутентификацией пользователей. TACACS использует постоянные пароли для аутентификации, а TACACS+ позволяет использовать динамические (одноразовые) пароли, обеспечивая более высокий уровень безопасности.
ПРИМЕЧАНИЕ. TACACS+ на самом деле не является новым поколением TACACS и XTACACS. Это новый протокол, который обеспечивает похожую функциональность и использует ту же схему имен. И поскольку это совершенно другой протокол, он не совместим с TACACS или XTACACS.
TACACS+ реализует в основном ту же функциональность, что и RADIUS с некоторыми отличиями. Во-первых, TACACS+ использует в качестве транспорта протокол TCP вместо протокола UDP в RADIUS, и поэтому ему не требуется дополнительный код для обнаружения и исправления ошибок передачи сетевых пакетов. Во-вторых, TACACS+ шифрует всю информацию (включая имя пользователя, данные учета и авторизации), а RADIUS шифрует только пароль пользователя, позволяя злоумышленнику перехватить важную информацию. В-третьих, TACACS+ использует настоящую архитектуру ААА, обеспечивая дополнительную гибкость при настройке процесса аутентификации удаленных пользователей, тогда как RADIUS объединяет функциональность аутентификации и авторизации.

Например, перед сетевым администратором Томом была поставлена задача организации удаленного доступа для пользователей, и он должен выбрать между RADIUS и TACACS+. Если в имеющейся среде аутентификация всех локальных пользователей осуществляется через контроллер домена с помощью Kerberos, Том может аналогичным образом настроить процесс аутентификации удаленных пользователей, как показано на Рисунке 2-14. Вместо того чтобы одновременно поддерживать базу данных удаленных пользователей на сервере удаленного доступа и базу данных локальных пользователей в Active Directory, Том может настроить работу через одну базу данных. Разделение функциональности аутентификации, авторизации и учета позволяет сделать это. TACACS+ также позволяет сетевому администратору настроить более детальные профили пользователей, указывая реальные команды, которые пользователи могут выполнять.
Рисунок 2-14. TACACS+ работает в рамках клиент-серверной модели

Помните, что RADIUS и TACACS+ являются протоколами, а протоколы являются не более чем согласованным способом взаимодействия. Когда RADIUS-клиент связывается с RADIUS-сервером, он делает это посредством протокола RADIUS, который на самом деле представляет собой некий набор полей, в которые записываются некоторые значения. Эти поля называют парами атрибут-значение (AVP – attribute-value pair). В качестве аналогии, предположим, что я посылаю вам пустой бланк, на котором есть несколько пустых строк, каждая из которых имеет название: фамилия, имя, цвет волос, размер обуви. Вы заполняете эти строки соответствующими значениями и отправляете заполненный банк обратно мне. В общем виде, именно так работают протоколы: отправляющая система просто заполняет поля необходимой для принимающей системы информацией, которая затем извлекает ее и обрабатывает.

TACACS+ имеет больше AVP, что обеспечивает более детальный контроль того, что могут и что не могут делать пользователи, а также позволяет сетевому администратору определять списки ACL, фильтры, привилегии пользователей и многое другое. Таблица 2-2 показывает различия между RADIUS и TACACS+.

Таблица 2-2. Отдельные различия между двумя ААА-протоколами

Таким образом, RADIUS является подходящим протоколом, если используется упрощенная аутентификация по имени пользователя и паролю, и системе нужно только решить, разрешать доступ пользователю или нет (как, например, для работы интернет-провайдера). TACACS+ лучше подходит для сред, в которых требуется более надежная аутентификация и жесткий контроль более сложных действий по авторизации (как, например, в корпоративных сетях).

Сторожевые таймеры (Watchdog). Сторожевые таймеры, как правило, используются для выявления программных ошибок, таких как некорректно завершившийся или «зависший» процесс. Сторожевая функция посылает периодические запросы, чтобы определить, отвечает ли на них сервис. Если она не получает ответа от сервиса, он может быть остановлен или сброшен. Сторожевая схема предотвращает взаимные блокировки программного обеспечения, бесконечных циклов и проблем с приоритетами процессов. Такая функциональность может использоваться в протоколах AAA для выявления необходимости повторной отправки пакета, либо закрытия и повторного открытия соединения, с которым возникли какие-либо проблемы.
Diameter – это протокол, разработанный на базе функциональности RADIUS, устраняющий многие из его ограничений. Diameter – это еще один ААА-протокол, предоставляющий такую же функциональность, как RADIUS и TACACS+, но являющийся более гибким и отвечающий современным требованиям. Одно время все удаленные подключения осуществлялись по протоколам PPP и SLIP, а аутентификация пользователей производилась через PAP или CHAP. Но сегодня технологии стали значительно сложнее, появилось множество различных устройств и протоколов, между которыми можно выбирать. Сегодня мы хотим, чтобы наши беспроводные устройства и смартфоны могли аутентифицироваться в нашей сети, мы используем протоколы роуминга, мобильные IP, PPP через Ethernet, голос через IP (VoIP) и т.п. Традиционные ААА-протоколы не могут работать со всем этим. Поэтому был разработан новый ААА-протокол Diameter, который решает эти проблемы, а также многие другие.

Протокол Diameter состоит из двух частей. Первая часть – это базовый протокол, который обеспечивает безопасное взаимодействие между участниками Diameter, определение характеристик и соглашение о версии. Вторая является расширением, которое надстроено над базовым протоколом. Эта часть позволяет различным технологиям использовать Diameter для аутентификации.

Мобильный IP. Эта технология позволяет пользователю перемещаться из одной сети в другую и при этом продолжать использовать один и тот же IP-адрес. Это усовершенствование протокола IP, которое позволяет пользователю иметь свой домашний IP-адрес, связанный с его домашней сетью, и обслуживающий адрес (care-of address). Обслуживающий адрес меняется при перемещении из одной сети в другую. Весь трафик, адресованный на домашний IP-адрес пользователя, перенаправляется на его обслуживающий адрес.
До появления концепции Diameter, в IETF были отдельные рабочие группы, которые определяли порядок работы протоколов VoIP (голос через IP), FoIP (факс через IP), Мобильный IP, а также протоколов удаленной аутентификации. Внедрение их по отдельности в любой сети легко может привести к целому ряду сложностей, включая проблемы совместимости. Это требует от клиентов развертывать и настраивать несколько серверов с различными политиками и увеличивает стоимость каждого нового дополнительного сервиса. Diameter предоставляет базовый протокол, который определяет формат заголовков, параметры безопасности, команды и AVP. Этот базовый протокол позволяет связать расширения с другими сервисами, такими как VoIP, FoIP, Мобильный IP, аутентификацию беспроводных устройств и мобильных телефонов. Таким образом, Diameter может использоваться в качестве ААА-протокола во всех этих случаях.
В качестве аналогии, рассмотрим ситуацию, в которой десяти сотрудникам одной компании нужно попасть на работу. Они могут ездить на работу на своих автомобилях по своим маршрутам, но это потребует дополнительную территорию для организации стоянки, а также найма охранника, чтобы он стоял около ворот и пропускал только машины сотрудников компании. С другой стороны, все они могут воспользоваться автобусом компании. Автобус в данном случае является общим элементом (как базовый протокол), позволяющим всем сотрудникам (различным сервисам) попасть в одно и то же место – на работу (сетевую среду). Diameter обеспечивает общий ААА и структуру безопасности, в рамках которой могут работать различные службы, как показано на Рисунке 2-15.

Рисунок 2-15. Diameter предоставляет архитектуру ААА для различных сервисов
ПРИМЕЧАНИЕ. ROAMOPS (Roaming Operations) позволяет пользователям PPP получить доступ к сети Интернет без необходимости звонить своему домашнему интернет-провайдеру. Интернет-провайдер, который имеет роуминговое соглашение, выполняет перекрестную аутентификацию клиентов, что позволяет пользователю позвонить любому интернет-провайдеру по месту своего присутствия и получить доступ в Интернет.
RADIUS и TACACS+ являются клиент-серверными протоколами, т.е. серверная часть не может по своей инициативе отправлять команды клиентской части. Diameter – это одноранговый (peer-based) протокол, что позволяет любой стороне инициировать взаимодействие. Функциональность позволяет серверу Diameter отправлять сообщения серверу доступа, чтобы запросить у пользователя другой набор учетных данных, если он пытается получить доступ к защищаемому ресурсу.

Diameter не является полностью обратно совместимым с RADIUS, но он предоставляет возможности для перехода с RADIUS. Diameter использует UDP и AVP, и обеспечивает поддержку работы через прокси-сервер. По сравнению с RADIUS, он лучше выявляет и исправляет ошибки, обладает повышенной отказоустойчивостью. Diameter также предоставляет сквозную (end-to-end) безопасность посредством использования IPSec или TLS, которые недоступны в RADIUS.

Diameter может предоставлять функциональность AAA другим протоколам и сервисам, поскольку имеет широкий набор AVP. RADIUS имеет 2^8 AVP, тогда как Diameter – 2^32. Как было сказано ранее в этом домене, AVP похожи на пустые строки на бланке, которые описывают как стороны могут взаимодействовать друг с другом. Поэтому, большее количество AVP позволяет обеспечить больше функциональности и сервисов для взаимодействия систем. Diameter предоставляет следующую функциональность AAA:

  • Аутентификация
    • PAP, CHAP, EAP
    • Защита аутентификационной информации между конечными точками
    • Защита от атак повтора (replay attack)
  • Авторизация
    • Перенаправление, безопасные прокси, ретрансляция (relay), посредничество (broker)
    • Согласование состояния
    • Отключение по собственной инициативе
    • Переавторизация по запросу 
  • Учет
    • Отчетность, учет ROAMOPS (roaming operations), мониторинг событий.
Diameter – это относительно новый протокол. Вероятно, в ближайшее время он не сможет захватить весь мир, сначала он будет использоваться в средах, которым изначально были нужны его сервисы, а затем постепенно проникать в корпоративные сети, будучи реализованным все в большем и большем количестве доступных продуктов. RADIUS длительное время использовался практически повсеместно, он хорошо служит своим целям и сейчас, поэтому не следует ожидать его скорого выведения из эксплуатации.

Ссылки по теме:

Метод децентрализованного администрирования управления доступом (decentralized access control administration) передает управление доступом людям, которые непосредственно связаны с ресурсами и лучше понимают, кто должен и кто не должен иметь доступ к определенным файлам, данным и ресурсам. Обычно это функциональные руководители, которые предоставляют права доступа сотрудникам. Компании следует выбрать децентрализованную модель, если ее руководители имеют хорошее представление о том, какие пользователи к каким ресурсам должны иметь доступ, а также в компании отсутствуют требования о необходимости использования централизованной модели.

Управление доступом в децентрализованной модели может происходить быстрее, поскольку этим занимается больше людей в компании. Однако при этом может возникнуть конфликт интересов. Поскольку не один человек (подразделение) управляет всеми правами доступа, различные руководители и подразделения могут выполнять функции по управлению доступом и обеспечению безопасности различными способами. Это не позволит обеспечить унификацию и справедливость в рамках всей компании. Одни руководители будут слишком заняты своими ежедневными задачами и легко позволят кому угодно получить полный доступ ко всем системам своего подразделения. Другие подразделения, напротив, будут применять строгие и детальные методы управления, предоставляя сотрудникам только тот уровень доступа, который необходим им для выполнения своих задач. Кроме того, в некоторых случаях функции управления доступом будут накладываться друг на друга, что может стать причиной того, что некоторые нежелательные действия не будут запрещены и заблокированы. Если Майк, входящий в группу бухгалтерии, был заподозрен в несанкционированном изменении информации о заработной плате персонала, руководитель бухгалтерии может ограничить его доступ к соответствующим файлам правами «только чтение». Однако руководитель бухгалтерии не делает этого, и Майк продолжает иметь к этим файлам полный доступ в рамках сетевой группы, членом которой он является. Таким образом, метод децентрализованного администрирования не обеспечивает целостного управления и достаточного уровня согласованности в процессе защиты компании. Например, если Шон уволен с работы за просмотр порнографии на своем рабочем компьютере, руководитель соответствующей группы, в которую входит Шон, может не заблокировать его учетную запись, и у Шона после увольнения останутся права доступа. Это может привести к серьезным проблемам у компании, если Шон захочет отомстить.

Комментариев нет: