Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
35
Добавлен:
16.04.2015
Размер:
1.21 Mб
Скачать

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

2.2. СИСТЕМА АУТЕНТИФИКАЦИИ И АВТОРИЗАЦИИ KERBEROS

Система аутентификации и авторизации Kerberos – это основанная на шифровании служба (протокол) обеспечения безопасности. Она предназначена для того, чтобы исключить передачу паролей в незашифрованном виде между клиентом и прикладным сервером, обеспечивающим доступ к сетевым ресурсам, таким, как файлы и принтеры, терминальный доступ, доступ к электронной почте так далее. Основные функции, выполняемые Kerberos:

взаимная аутентификация, предотвращающая ложные запросы и ответы между клиентами и серверами;

обеспечение управления доступом;

надежная система учета, построенная в виде подключаемого программного модуля и обеспечивающая определение стоимости предоставленных услуг.

2.2.1. ОСНОВНЫЕ ПРИНЦИПЫ ПОСТРОЕНИЯ СИСТЕМЫ

Служба Kerberos представляет собой универсальное средство обеспечения безопасности доступа к ресурсам локальной сети организации. Программные средства, выполняющие аутентификацию по протоколу Kerberos, разработаны для всех популярных операционных систем. Поддержка службы Kerberos в качестве основного средства аутентификации предусмотрена в некоторых современных сетевых операционных системах (например, Win2k). Система построена по модели "клиентсервер" и предусматривает взаимодействие между тремя программными компонентами – клиентом, сервером Kerberos и прикладным сервером (Рис. 12).

121

 

Клиент

5

Сервер

 

 

1

2

3

4

 

Сервер

 

 

Сервер

 

аутентификации

выдачи билетов

 

Kerberos

 

 

Kerberos

 

 

База данных

 

 

Kerberos

 

 

 

 

Рис. 12

 

Схема взаимодействия по протоколу системы Kerberos

Сервер аутентификации Kerberos – компьютер (не обязательно выделенный), на котором работает программное обеспечение сервера Kerberos. Это программное обеспечение разделено по своим функциям на две части: сервер аутентификации KAS (Kerberos Authentication Server) и сервер выдачи билетов TGS (Ticket Granting Server).

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

В Kerberos версии 4 клиент посылает сообщение серверу аутентификации Kerberps сразу после того, как пользователь введет свое имя. Сервер аутентификации Kerberos производит поиск в своей базе данных, определяет, является ли имя пользователя действительным, и затем высылает клиенту ответное сообщение. Получив сообщение, компьютер запрашивает у пользователя пароль, с помощью которого и производится расшифровка полученного сообщения. Клиент не начинает взаимодействие с сервером аутентификации Kerberos до тех пор, пока пользователь не введет свой пароль.

Взаимодействующие между собой по протоколу Kerberos компоненты объединяются в область. Последняя является логическим объединением и не обязательно должна размещаться в пределах одной локальной сети. Все клиенты и прикладные серверы в пределах одной области обслуживаются одним сервером

Kerberos.

122

Клиенты и прикладные серверы, взаимодействующие по протоколу Kerberos, называются принципалами. Каждому принципалу присваивается его идентификатор. В версии 4 идентификатор включает в себя три компонента:

имя принципала (principal name), которое присваивается каждому клиенту и каждой прикладной службе и уникально в пределах одной области;

имя экземпляра (instance name), которое используется для многоуровневой аутентификации; оно представляет собой дополнительную метку для клиентов и служб; для пользователей экземпляр позволяет применять различные идентификаторы для различных уровней привилегий; для служб экземпляр обычно определяет имя компьютера, предоставляющего данную услугу;

имя области (realm name), которое присваивается области Kerberos; обычно в качестве имени области используется имя домена.

Вверсии 4 каждый из трех компонентов имеет ограничение длины, равное 39 символам. По соглашению знак "." в имени использоваться не может.

Вверсии 5 идентификатор состоит только из двух частей, имени области и остатка (remainder), который является последовательностью символов, указывающей на принципал в пределах области.

Система Kerberos базируется на ряде основополагающих принципов.

Клиент, который должен обратиться к прикладному серверу для получения его услуг, должен сначала получить билет от взаимно доверяемой третьей стороны, то есть от KAS. Билет – это последовательность символов, передаваемая клиентом прикладному серверу или серверу выдачи билетов, позволяющая серверу убедиться

вподлинности клиента и состоящая из нескольких компонентов. Все билеты, кроме первого (называемого также исходным), должны быть получены от TGS. Первый билет особый – это билет для доступа к самому TGS и его требуется получить от

KAS.

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

Билеты являются многоразовыми. Каждый билет имеет срок жизни (время использования), обычно составляющий 8 часов. После того, как закончился срок

123

жизни билета, клиент должен заново пройти процедуру аутентификации у сервера аутентификации Kerberos, указав свои имя регистрации и пароль.

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

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

2.2.2. ПРОЦЕСС АУТЕНТИФИКАЦИИ

Клиент идентифицирует себя серверу аутентификации Kerberos с помощью идентификатора Секретный ключ Кс– это ключ аутентификации, известный только пользователю и серверу аутентификации Kerberos.

Процесс аутентификации в протоколе Kerberos версий 4 и 5 состоит из пяти фаз:

1.Клиент посылает серверу аутентификации Kerberos сообщение с, tgs, n, включающее идентификатор клиента с, отметку n, содержащую, например, время, сетевой адрес клиента и предназначенную для идентификации отдельного запроса, и идентификатор сервера выдачи билетов tgs.

2.Сервер аутентификации Kerberos производит поиск в базе данных Kerberos по идентификатору клиента с и идентификатору услуги tgs, находит соответствующие ключи шифрования Кс и Кtgs. Сервер аутентификации Kerberos генерирует случайный ключ шифрования, называемый ключом сеанса Кc, tgs, и затем формирует ответ, отсылаемый клиенту. Этот ответ содержит исходный билет Тc, tgs, предоставляющий клиенту доступ к запрашиваемому серверу (серверу выдачи билетов). Исходный билет содержит ключ сеанса Кc, tgs, имя сервера выдачи билетов tgs, имя клиента с, отметку n, срок жизни и некоторые другие данные. Затем сервер шифрует билет с помощью ключа шифрования сервера выдачи билетов Кtgs. В результате получается запечатанный билет {Tc, tgstgs (фигурные скобки показывают, что последовательность, содержащаяся в них, зашифрована с помощью значения величины, стоящей справа от скобок). Сервер

аутентификации Kerberos также генерирует случайный ключ шифрования, называемый

124

ключом сеанса Kc, tgs. Отсылаемое клиенту сообщение {Kc, tgs, n, {Tc, tgs}Ktgsc. состоит из запечатанного билета {Tc, tgs}Ktgs, отметки n, ключа сеанса Кc, tgs и шифруется с помощью ключа шифрования клиента Кc . Для того, чтобы избежать ненужного повторного шифрования исходного билета Тc, tgs в Kerberos версии 5 ключом клиента шифруются только ключ сеанса Кc, tgs и отметка n, и отсылаемое сообщение имеет вид {Kc, tgs, n}Кc

{Tc, tgs}Ktgs}

3. Получив сообщение, клиент расшифровывает его с помощью секретного ключа клиента Кc, известного только клиенту и серверу аутентификации Kerberos. Клиент проверяет, правильна ли отметка n, и затем сохраняет ключ сеанса Кc, tgs для взаимодействия с сервером выдачи билетов. Далее клиент посылает сообщение серверу выдачи билетов. Это сообщение, которое имеет вид {Аc}Kc, tgs{Tc, tgs}Ktgs, s, n, содержит запечатанный исходный билет {Tc, tgs}Ktgs, идентификатор прикладного сервера s, идентификатор запроса n и зашифрованный ключом сеанса так называемый аутентификатор Аc, содержащий имя клиента с и еще одну отметку m.

4. Сервер выдачи билетов получает сообщение от клиента и сначала расшифровывает запечатанный билет {Tc, tgs}Ktgs с помощью ключа сервера выдачи билетов Ktgs (билет был зашифрован сервером аутентификации Kerberos с использованием этого ключа). Из расшифрованного билета сервер выдачи билетов извлекает ключ сеанса Кc, tgs. Сервер использует этот ключ для расшифровки запечатанного аутентификатора {Аc}Kc, tgs и проверяет достоверность с помощью сравнения имени клиента с из билета и из аутентификатора, имени сервера выдачи билетов tgs, сетевого адреса, который должен быть одинаковым в билете, аутентификаторе и полученном сообщении. Наконец, он проверяет текущее время в аутентификаторе для того, чтобы убедиться, что сообщение было сформировано недавно. Поэтому необходимо, чтобы время на клиентах и серверах было синхронизировано (в пределах допустимых отклонений). Сервер выдачи билетов производит поиск в базе данных Kerberos по имени прикладного сервера s, взятому из сообщения, и получает ключ шифрования Кs для прикладного сервера. Сервер выдачи билетов формирует новый случайный ключ сеанса Кc,s предназначенный для использования клиентом с и прикладным сервером s, и затем составляет новый билет Тc,s, содержащий новый ключ сеанса К c,s , отметки n и m и срок жизни. Этот билет шифруется с помощью ключа прикладного сервера Кs, затем к нему добавляются новый

125

ключ сеанса Кc,s и отметка n, а результат снова шифруется старым ключом сеанса Кc, tgs. Таким образом, сообщение имеет вид {Kc,s, n, {Tc, s}Ks}Kc, tgs. Для того, чтобы избежать ненужного повторного шифрования билета Тс,s, в Kerberos версии 5 старым ключом сеанса Kc, tgs шифруются только новый ключ сеанса Кc,s и отметка n, и сообщение имеет

вид {Kc,s, n}Kc, tgs {Tc, s}Ks.

5. Клиент с получает сообщение и расшифровывает его с помощью старого ключа сеанса Кc, tgs, известного только ему и серверу выдачи билетов. Из этого сообщения он извлекает новый ключ сеанса Кc,.s, известный только ему и прикладному серверу, и запечатанный билет {Tc, s}Ks, который клиент не может расшифровать, так как билет зашифрован с помощью секретного ключа прикладного сервера. Клиент с генерирует аутентификатор и запечатывает его с помощью нового ключа сеанса Кc,s. Наконец, клиент высылает прикладному серверу сообщение, содержащее запечатанный билет {Tc, s}Ks и зашифрованные с помощью нового ключа сеанса Кc,s аутентификатор и отметку. Сервер получает это сообщение и сначала расшифровывает запечатанный билет {Tc, s}Ks с помощью ключа прикладного сервера, известного только ему и серверу аутентификации Kerberos. Затем прикладной сервер использует содержащийся в билете новый ключ сеанса Кc,s для того, чтобы расшифровать аутентификатор и произвести проверку подлинности, подобную той, которая проводилась ранее сервером выдачи билетов. Как только прикладной сервер выполнит проверку подлинности клиента, появляется возможность проверки клиентом подлинности сервера. Это позволяет устранить угрозу применения ложных серверов. Для этого клиент должен потребовать, чтобы сервер выслал сообщение, содержащее отметку, полученную путем прибавления единицы к значению отметки, взятой из аутентификатора. Это сообщение шифруется ключом сеанса Кc,s, полученным сервером от клиента.

2.2.3.ОСОБЕННОСТИ РЕАЛИЗАЦИЙ ПРОТОКОЛА KERBEROS

Внастоящее время применяются версии 4 и 5 протокола Kerberos. Версия 5 базируется на версии 4 и включает в себя ряд новых функций и усовершенствований:

использование шифрования выделено в отдельные программные модули, что позволяет применять различные алгоритмы шифрования;

сетевые адреса в сообщениях протокола сопровождаются меткой, указывающей тип

идлину этих адресов, что обеспечивает поддержку нескольких протоколов;

126

билет Kerberos версии 5 имеет расширенный формат, обеспечивающий поддержку новых функций (например, взаимодействие между областями);

схема формирования идентификатора принципала изменена;

усовершенствована поддержка взаимодействия между областями Kerberos.

Для того, чтобы использовать службу Kerberos, необходимо выполнить следующие условия:

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

должна быть обеспечена физическая безопасность сервера Kerberos, так как на нем хранится база данных, содержащая пароли для всех пользователей области;

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

Kerberos должен поддерживать запись для каждого пользователя и каждого прикладного сервера, входящих в одну область. Такая запись содержит следующие компоненты:

идентификатор принципала;

секретный ключ, соответствующий этому принципалу;

дату истечения срока действия секретного ключа;

дату последнего изменения записи;

идентификатор принципала, последним изменившего запись;

максимальное время жизни билетов, выдаваемых принципалу;

внутреннюю служебную информацию.

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

Объект, отвечающий за управление этой базой данных, называется диспетчером базы данных Kerberos KDBM (Kerberos Database Manager). В области может существовать только один диспетчер базы данных Kerberos, однако можно использовать несколько серверов распространения ключей Kerberos KKDS (Kerberos Кеу Distribution Server), каждый из которых поддерживает копию базы данных Kerberos. Такая возможность реализована для повышения отказоустойчивости и производительности, и

127

клиент может выбрать один сервер распространения ключей Kerberos из группы, посылая ему запросы. KKDS работает в режиме "только чтение", а задачи обновления информации в базе данных выполняются KDBM, который несколько раз в день выполняет копирование всей базы данных Такая схема реализована для упрощения функционирования путем использования протокола, защищенного с помощью Kerberos. Этот протокол обеспечивает прежде всего взаимную аутентификации между KDBM и KKDS перед передачей файла, обеспечиваемой контрольными точками и контрольной суммой.

2.3.ОРГАНИЗАЦИЯ ЗАЩИТЫ ИНФОРМАЦИИ ПРИ ПОДКЛЮЧЕНИИ К ГЛОБАЛЬНОЙ СЕТИ

2.3.1.АТАКИ НА РЕСУРСЫ СЕТИ

2.3.1.1.Классификация удаленных атак на ресурсы сети

Удаленные атаки можно классифицировать по следующим признакам:

1.По характеру воздействия

пассивное (класс 1.1)

активное (класс 1.2)

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

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

2.По цели воздействия

нарушение конфиденциальности информации либо ресурсов системы (класс 2.1)

128

нарушение целостности информации (класс 2.2)

нарушение работоспособности (доступности) системы (класс 2.3)

Этот классификационный признак является прямой проекцией трех основных типов угроз - раскрытия, целостности и отказа в обслуживании.

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

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

Принципиально другой целью атаки является нарушение работоспособности системы. В этом случае не предполагается получение атакующим несанкционированного доступа к информации. Его основная цель - добиться, чтобы операционная система на атакуемом объекте вышла из строя и для всех остальных объектов системы доступ к ресурсам атакованного объекта был бы невозможен. Примером удаленной атаки, целью которой является нарушение работоспособности системы, может служить атака "Отказ в обслуживании".

3. По условию начала осуществления воздействия

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

Атака по запросу от атакуемого объекта (класс 3.1)

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

129

Атака по наступлению ожидаемого события на атакуемом объекте (класс 3.2)

Вэтом случае атакующий осуществляет постоянное наблюдение за состоянием операционной системы удаленной цели атаки и при возникновении определенного события в этой системе начинает воздействие. Как и в предыдущем случае, инициатором осуществления начала атаки выступает сам атакуемый объект.

Безусловная атака (класс 3.3)

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

4. По наличию обратной связи с атакуемым объектом

с обратной связью (класс 4.1)

без обратной связи (однонаправленная атака) (класс 4.2)

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

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

5.По расположению субъекта атаки относительно атакуемого объекта

внутрисегментное (класс 5.1)

межсегментное (класс 5.2)

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

130

Соседние файлы в папке Тестирование