Распределение ключей - самый ответственный процесс в управлении ключами. К нему предъявляются следующие требования:
• оперативность и точность распределения;
• скрытность распределяемых ключей.
Распределение ключей между пользователями компьютерной сети реализуется двумя способами [55]:
1) использованием одного или нескольких центров распределения ключей;
2) прямым обменом сеансовыми ключами между пользователями сети.
Недостаток первого подхода состоит в том, что центру распределения ключей известно, кому и какие ключи распределены, и это позволяет читать все сообщения, передаваемые по сети. Возможные злоупотребления существенно влияют на защиту. При втором подходе проблема состоит в том, чтобы надежно удостоверить подлинность субъектов сети.
В обоих случаях должна быть обеспечена подлинность сеанса связи. Это можно осуществить, используя механизм запроса - ответа или механизм отметки времени.
Механизм
запроса-ответа заключается в следующем. Пользователь А включает в посылаемое сообщение
(запрос) для пользователя В непредсказуемый элемент (например, случайное
число). При ответе пользователь В должен выполнить некоторую операцию с этим
элементом (например, добавить единицу), что невозможно осуществить заранее,
поскольку неизвестно, какое случайное число придет в запросе. После получения
результата действий пользователя В (ответ) пользователь А может быть уверен,
что сеанс является подлинным.
Механизм отметки времени предполагает фиксацию времени для каждого сообщения. Это позволяет каждому субъекту сети определить, насколько старо пришедшее сообщение, и отвергнуть его, если появится сомнение в его подлинности. При использовании отметок времени необходимо установить допустимый временной интервал задержки.
В обоих случаях для защиты элемента контроля используют шифрование, чтобы быть уверенным, что ответ отправлен не злоумышленником и не изменен штемпель отметки времени.
Задача распределения ключей сводится к построению протокола распределения ключей, обеспечивающего:
• взаимное подтверждение подлинности участников сеанса;
• подтверждение достоверности сеанса механизмом запроса - ответа или отметки времени;
• использование минимального числа сообщений при обмене ключами;
• возможность исключения злоупотреблений со стороны центра распределения ключей (вплоть до отказа от него).
В основу решения задачи распределения ключей целесообразно положить принцип отделения процедуры подтверждения подлинности партнеров от процедуры собственно распределения ключей. Цель такого подхода состоит в создании метода, при котором после установления подлинности участники сами формируют сеансовый ключ без участия центра распределения ключей с тем, чтобы распределитель ключей не имел возможности выявить содержание сообщений.
Распределение ключей с участием центра распределения ключей
При распределении ключей между участниками предстоящего информационного обмена должна быть гарантирована подлинность сеанса связи. Для взаимной проверки подлинности партнеров приемлема модель рукопожатия: В этом случае ни один из участников не будет получать никакой секретной информации во время процедуры установления подлинности [55].
Взаимное
установление подлинности гарантирует вызов нужного субъекта с высокой степенью
уверенности, что связь установлена с требуемым адресатом и никаких попыток
подмены не было.
Реальная процедура организации соединения между участниками информационного
обмена включает как этап распределения, так и этап подтверждения подлинности
партнеров.
При включении в процесс распределения ключей центра распределения ключей (ЦРК) осуществляется его взаимодействие с одним или обоими участниками сеанса с целью распределения секретных или открытых ключей, предназначенных для использования в последующих сеансах связи [125].
Следующий этап-подтверждение подлинности участников содержит обмен удостоверяющими сообщениями, чтобы иметь возможность выявить любую подмену или повтор одного из предыдущих вызовов.
Рассмотрим протоколы для симметричных криптосистем с секретными ключами и для асимметричных криптосистем с открытыми ключами. Вызывающий {исходный объект) обозначается через А, а вызываемый (объект назначения) - через В. Участники сеанса А и В имеют уникальные идентификаторы IdA и IdB соответственно.
Протокол аутентификации и распределения ключей для симметричных криптосистем. Рассмотрим в качестве примера протокол аутентификации и распределения ключей Kerberos (по–русски - Цербер). Первоначально протокол Kerberos был разработан в Массачусетском технологическом институте (США) для проекта Athena. Протокол Kerberos спроектирован для работы в сетях TCP/IP и предполагает участие в аутентификации и распределении ключей третьей доверенной стороны. Kerberos обеспечивает надежную аутентификацию в сети, разрешая законному пользователю доступ к различным машинам в сети. Протокол Kerberos основывается на симметричной криптографии (реализован алгоритм DES, хотя возможно применение и других симметричных криптоалгоритмов). Kerberos разделяет отдельный секретный ключ с каждым субъектом сети. Знание такого секретного ключа равносильно доказательству подлинности субъекта сети [117,125].
Основной протокол Kerberos является вариантом протокола аутентификации и распределения ключей Нидхема - Шредера [117]. В основном протоколе Kerberos {версия 5) участвуют две взаимодействующие стороны А и В и доверенный сервер KS (Kerberos Server). Стороны А и В, каждая по отдельности, разделяют свой секретный ключ с сервером KS. Доверенный сервер KS выполняет роль центра распределения ключей ЦРК.
Пусть сторона А хочет получить сеансовый ключ для информационного обмена со стороной В.
Сторона А инициирует фазу распределения ключей, посылая по сети серверу KS идентификаторы IdA и IdB:
(1) A®KS: IdA, IdB.
Сервер KS генерирует сообщение с временной отметкой Т, сроком действия L, случайным сеансовым ключом К и идентификатором IdA. Он шифрует это сообщение секретным ключом, который разделяет со стороной В.
Затем сервер KS берет временную отметку Т, срок действия L, сеансовый ключ К, идентификатор IdB стороны В и шифрует все это секретным ключом, который разделяет со стороной А. Оба эти зашифрованные сообщения он отправляет стороне А:
KS |
(2) KS ® A: EA(T, L, K, IdB), EB (t, L, K, IdA).
Сторона А
расшифровывает первое сообщение своим секретным ключом, проверяет отметку
времени Т, чтобы убедиться, что это сообщение не является повторением
предыдущей процедуры
распределения ключей.
Затем сторона А генерирует сообщение со своим идентификатором IdA и отметкой времени Т, шифрует его сеансовым ключом К и отправляет стороне В. Кроме того, А отправляет для В сообщение от KS, зашифрованное ключом стороны В:
(3) A®B:EK(IdA, T), ЕВ(Т, L, K, IdA).
Только сторона В может расшифровать сообщения (3). Сторона В получает отметку времени Т, срок действия L, сеансовый ключ К и идентификатор IdA. Затем сторона В расшифровывает сеансовым ключом К вторую часть сообщения (3). Совпадение значений Т и IdA в двух частях сообщения подтверждают подлинность А по отношению к В.
Для взаимного подтверждения подлинности сторона В создает сообщение, состоящее из отметки времени Т плюс 1, шифрует его ключом К н отправляет стороне А:
(4) В®А:ЕK(Т+1).
Если после расшифрования сообщения (4) сторона А получает ожидаемый результат, она знает, что на другом конце линии связи находится действительно В.
Этот
протокол успешно работает при условии, что часы каждого участника
синхронизированы с часами сервера KS. Следует отметить, что в этом протоколе
необходим обмен с KS для получения
сеансового ключа каждый раз, когда А желает установить связь с В. Протокол
обеспечивает надежное соединение объектов А и В при условии, что ни один из
ключей не скомпрометирован и сервер KS защищен.
Система
Kerberos обеспечивает защиту сети от несанкционированного доступа, базируясь
исключительно на программных решениях, и предполагает многократное шифрование
передаваемой
по сети управляющей информации.
Система
Kerberos имеет структуру типа клиент-сервер и состоит из клиентских частей С,
установленных на все машины сети (рабочие станции пользователей и серверы), и
Kerberos-сервера KS,
располагающегося на каком-либо (не обязательно выделенном) компьютере.
Kerberos-сервер, в свою очередь, можно разделить на две части: сервер идентификации AS (Authentication Server) и сервер выдачи разрешений TGS (Ticket Granting Server). Информационными ресурсами, необходимыми клиентам С, управляет сервер информационных ресурсов RS (рис.7.4).
Обозначения:
KS - сервер системы Kerberos
AS - сервер идентификации
TGS - сервер выдачи разрешений
RS - сервер информационных ресурсов
С - клиент системы Kerberos
1 : С ®AS: - запрос разрешить обратиться к TGS
2 : AS ® С: - разрешение обратиться к TGS
3 : С ® TGS: - запрос на допуск к RS
4 : TGS ®С: - разрешение на допуск к RS
5 : С ®RS: - запрос на получение информационного ресурса от RS
6 : RS ®С: - подтверждение подлинности сервера RS и предоставление информационного ресурса
Рис.7.4. Схема и шаги протокола Kerberos
Область действия системы Kerberos распространяется на тот участок сети, все пользователи которого зарегистрированы под своими именами и паролями в базе данных Kerberos-сервера.
Укрупненно
процесс идентификации и аутентификации пользователя в системе Kerberos можно
описать следующим образом. Пользователь (клиент) С, желая получить доступ к
ресурсу сети,
направляет запрос серверу идентификации AS. Последний идентифицирует пользователя
с помощью его имени и пароля и выдает разрешение на доступ к серверу выдачи
разрешений TGS, который, в свою очередь, по запросу клиента С разрешает
использование необходимых ресурсов сети с помощью целевого сервера
информационных ресурсов RS.
Данная
модель взаимодействия клиента с серверами может функционировать только при
условии обеспечения конфиденциальности и целостности передаваемой управляющей
информации.
Без строгого обеспечения информационной безопасности клиент не может отправлять
серверам AS.TGS и RS свои запросы и получать разрешения на доступ к
обслуживанию в сети. Чтобы избежать возможности перехвата и
несанкционированного использования информации, Kerberos применяет при передаче
любой управляющей информации в сети сложную систему многократного шифрования с
использованием комплекса секретных ключей (секретный ключ клиента, секретный
ключ сервера, секретные сеансовые
ключи, клиент-сервер) (125].
Протокол для асимметричных криптосистем с использованием сертификатов открытых ключей. В этом протоколе используется идея сертификатов открытых ключей [55].
Сертификатом открытого ключа С называется сообщение ЦРК, удостоверяющее целостность некоторого открытого ключа объекта. Например, сертификат открытого ключа для пользователя А, обозначаемый СА (содержит отметку времени Т, идентификатор IdA и открытый ключ КА, зашифрованные секретным ключом ЦРК КЦРК, т. е.
Отметка времени Т
используется для подтверждения актуальности сертификата и тем самым
предотвращает повторы прежних сертификатов, которые содержат открытые ключи и
для которых
соответствующие секретные ключи несостоятельны.
Секретный ключ kЦPK известен только менеджеру ЦРК. Открытый ключ КЦРК известен участникам А и В. ЦРК поддерживает таблицу открытых ключей всех объектов сети, которые он обслуживает.
Вызывающий объект А инициирует стадию установления ключа, запрашивая у ЦРК сертификат своего открытого ключа и открытого ключа участника В:
(1) A® ЦРК : IdA, IdB, “Вышлите сертификаты ключей А и В’”.
Здесь IdA и IdB-уникальные идентификаторы соответственно участников А и В.
Менеджер ЦРК отвечает сообщением
(2) ЦРК ® A :
Участник А, используя открытый ключ ЦРК КЦРК, расшифровывает ответ ЦРК, проверяет оба сертификата. Идентификатор IdB убеждает А, что личность вызываемого участника правильно зафиксирована в ЦРК и КB-действительно открытый ключ участника В, поскольку оба зашифрованы ключом kЦРК.
Хотя открытые ключи предполагаются известными всем, посредничество ЦРК позволяет подтвердить их целостность. Без такого посредничества злоумышленник может снабдить А своим открытым ключом, который А будет считать ключом участника В. Затем злоумышленник может подменить собой В и установить связь с А, и его никто не сможет выявить.
Следующий шаг протокола включает установление связи А с В:
Здесь СA- сертификат открытого ключа пользователя A; EkA(T)- отметка времени, зашифрованная секретным ключом участника А и являющаяся подписью участника А, поскольку никто другой не может создать такую подпись; r1 -случайное число, генерируемое А и используемое для обмена с В в ходе процедуры подлинности.
Если сертификат СА и подпись А верны, то участник В уверен, что сообщение пришло от А, Часть сообщения EkB(r1) может расшифровать только В, поскольку никто другой не знает секретного ключа kB, соответствующего открытому ключу КB. Участник В расшифровывает значение числа г, и, чтобы подтвердить свою подлинность, посылает участнику А сообщение
(4) B® A : EKA(r1).
Участник А восстанавливает значение r1 расшифровывая это сообщение с использованием своего секретного ключа kA. Если это ожидаемое значение r1, то А получает подтверждение, что вызываемый участник действительно В.
Протокол, основанный на
симметричном шифровании, функционирует быстрее, чем протокол, основанный на
криптосистемах с открытыми ключами. Однако способность систем с открытыми
ключами генерировать цифровые подписи, обеспечивающие различные функции защиты,
компенсирует избыточность требуемых вычислений.
Прямой обмен ключами между пользователями
При использовании для информационного обмена криптосистемы с симметричным секретным ключом два пользователя, желающие обменяться криптографически защищенной информацией, должны обладать общим секретным ключом. Пользователи должны обменяться общим ключом по каналу связи безопасным образом. Если пользователи меняют ключ достаточно часто, то доставка ключа превращается в серьезную проблему.
Для решения этой проблемы можно применить два способа:
1)использование криптосистемы с открытым ключом для шифрования и передачи секретного ключа симметричной криптосистемы;
2) использование системы открытого распределения ключей Диффи-Хеллмана.
Первый способ был
подробно изложен в §4.6. Второй способ основан на применении системы открытого
распределения ключей. Эта система позволяет пользователям обмениваться ключами
по
незащищенным каналам связи. Интересно отметить, что система открытого
распределения ключей базируется на тех же принципах, что и система шифрования с
открытыми ключами [24].
Алгоритм открытого распределения ключей Диффи-Хеллмана. Алгоритм Диффи-Хеллмана был первым алгоритмом с открытыми ключами (предложен в 1976 г.). Его безопасность обусловлена трудностью вычисления дискретных логарифмов в конечном поле, в отличие от легкости дискретного возведения в степень в том же конечном поле.
Предположим, что два пользователя А и В хотят организовать защищенный коммуникационный канал.
1. Обе стороны заранее уславливаются о модуле N (N должен быть простым числом) и примитивном элементе gÎZN, (1£<g£N-1), который образует все ненулевые элементы множества ZN, т. е.
{g, g2,…,gN-1} = ZN – {0}.
Эти два целых числа N и g могут не храниться в секрете. Как правило, эти значения являются общими для всех пользователей системы.
2. Затем пользователи А и В независимо друг от друга выбирают собственные секретные ключи kА и kB (kA и kB-случайные большие целые числа, которые хранятся пользователями А и В в секрете).
3. Далее пользователь А вычисляет открытый ключ
а пользователь В-открытый ключ
4. Затем стороны А и В
обмениваются вычисленными значениями открытых ключей уА и уB по незащищенному
каналу. (Мы считаем, что все данные, передаваемые по незащищенному каналу
связи, могут быть перехвачены злоумышленником.)
5. Далее пользователи А и В вычисляют общий секретный ключ, используя следующие сравнения:
пользователь
пользователь
При этом К=К', так как
Схема реализации алгоритма Диффи-Хеллмана показана на рис.7.5.
Ключ К может использоваться в качестве общего секретного ключа (ключа шифрования ключей) в симметричной криптосистеме.
Кроме того, обе стороны А и В могут шифровать сообщения, используя следующее преобразование шифрования (типа RSA): C = EK(M) = MK(mod N)./
|
Для выполнения расшифрования получатель сначала находит ключ расшифрования К* с помощью сравнения
K * K* º 1(mod N-1),
а затем восстанавливает сообщение
M= DK(C ) = CK* (mod N).
Пример. Допустим, модуль N=47, а примитивный элемент g = 23. Предположим, что пользователи А и В выбрали свои секретные ключи: kA=12(mod47) и kB=33 (mod 47).
Для того чтобы иметь общий секретный ключ К, они вычисляют сначала значения частных открытых ключей:
После того, как
пользователи А и В обменяются своими значениями уА и уB,
они вычисляют общий секретный ключ
Кроме
того, они находят секретный ключ расшифрования, используя сле-
дующее сравнение:
K * K* º 1(mod N-1),
откуда K*=35(mod46).
Теперь, если сообщение М =16, то криптограмма
C = MK = 1625 = 21 (mod 47).
Получатель восстанавливает сообщение так:
M = CK* = 2135 = 16 (mod 47).
Злоумышленник,
перехватив значения N, g, уА и уB, тоже хотел бы
определить значение ключа К. Очевидный путь для решения этой задачи состоит в
вычислении такого значения kA пo N, g, уA, что
gkA mod N=yA
(поскольку в этом случае, вычислив kA, можно найти К=(yB)kAmod N). Однако
нахождение kA по N,g и уA-задача нахождения
дискретного логарифма в конечном поле, которая считается неразрешимой.
Выбор значений N и g может иметь существенное влияние на безопасность этой системы. Модуль N должен быть большим и простым числом. Число (N-1)/2 также должно быть простым числом. Число g желательно выбирать таким, чтобы оно было примитивным элементом множества Zn. (В принципе достаточно, чтобы число g генерировало большую подгруппу мультипликативной группы пo mod N).
Алгоритм открытого распределения ключей Диффи-Хеллмана позволяет обойтись без защищенного канала для передачи ключей. Однако, работая с этим алгоритмом, необходимо иметь гарантию того, что пользователь А получил открытый ключ именно от пользователя В, и наоборот. Эта проблема решается с помощью электронной подписи, которой подписываются сообщения об открытом ключе.
Метод Диффи-Хеллмана дает возможность шифровать данные при каждом сеансе связи на новых ключах. Это позволяет не хранить секреты на дискетах или других носителях. Не следует забывать, что любое хранение секретов повышает вероятность попадания их в руки конкурентов или противника.
Преимущество метода Диффи-Хеллмана по сравнению с методом RSA заключается в том, что формирование общего секретного ключа происходит в сотни раз быстрее. В системе RSA генерация новых секретных и открытых ключей основана на генерации новых простых чисел, что занимает много времени.
Протокол SKIP управления криптоключами. Протокол SKIP (Simple Key management for Internet Protocol) может использоваться в качестве интегрирующей среды и системы управления криптоключами.
Протокол SKIP базируется на криптографии открытых ключей Диффи-Хеллмана и обладает рядом достоинств:
• обеспечивает высокую степень защиты информации;
• обеспечивает быструю смену ключей;
• поддерживает групповые рассылки защищенных сообщений;
• допускает модульную замену систем шифрования;
• вносит минимальную избыточность.
Концепция SKIP-протокола основана на организации множества двухточечных обменов (по алгоритму Диффи-Хеллмана) в компьютерной сети.
• Узел ! имеет секретный ключ i(i=kI) и сертифицированный открытый ключ gimod N.
• Подпись сертификата открытого ключа производится при помощи надежного алгоритма (ГОСТ, DSA и др.). Открытые ключи свободно распространяются центром распределения ключей из общей базы данных.
• Для каждой пары узлов I, J вычисляется совместно используемый секрет (типичная длина 1024 бита): gij mod N.
• Разделяемый ключ Kij вычисляется из этого секрета путем уменьшения его до согласованной в рамках протокола длины 64...128 бит.
« Узел вычисляет ключ Kij (используемый как ключ шифрования ключей) для относительно длительного применения и размещает его в защищенной памяти.
Следует отметить, что если сеть содержит n узлов, то в каждом узле должно храниться (n-1) ключей, используемых исключительно для организации связи с соответствующими узлами.
ГЛАВА 8. МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ОТ УДАЛЕННЫХ АТАК ЧЕРЕЗ СЕТЬ Internet
8.1. Особенности функционирования межсетевых экранов
Интенсивное развитие глобальных компьютерных сетей, появление новых технологий поиска информации привлекают все больше внимания к сети Internet со стороны частных лиц и различных организаций. Многие организации принимают решение об интеграции своих локальных и корпоративных сетей в глобальную сеть. Использование глобальных сетей в коммерческих целях, а также при передаче информации, содержащей сведения конфиденциального характера, влечет за собой необходимость построения эффективной системы защиты информации. В настоящее время в России глобальные сети применяются для передачи коммерческой информации различного уровня конфиденциальности, например для связи с удаленными офисами из головной штабквартиры организации или создания Web-страницы организации с размещенной на ней рекламой и деловыми предложениями [66].
Вряд ли нужно перечислять все преимущества, которые получает современное предприятие, имея доступ к глобальной сети Internet. Но, как и многие другие новые технологии, использование internet имеет и негативные последствия. Развитие глобальных сетей привело к многократному увеличению количества пользователей и увеличению количества атак на компьютеры, подключенные к сети Internet. Ежегодные потери, обусловленные недостаточным уровнем защищенности компьютеров, оцениваются десятками миллионов долларов. При подключении к Internet локальной или корпоративной сети необходимо позаботиться об обеспечении информационной безопасности этой сети.
Глобальная сеть Internet создавалась как открытая система, предназначенная для свободного обмена информацией. В силу открытости своей идеологии Internet предоставляет для злоумышленников значительно большие возможности по сравнению с традиционными информационными системами. Через Internet нарушитель может:
• вторгнуться во внутреннюю сеть предприятия и получить несанкционированный доступ к конфиденциальной информации;
· незаконно скопировать важную и ценную для предприятия информацию;
• получить пароли, адреса серверов, а подчас и их содержимое;
• входить в информационную систему предприятия под именем зарегистрированного пользователя и т.д.
С помощью полученной злоумышленником информации может быть серьезно подорвана конкурентоспособность предприятия и доверие его клиентов.
Ряд задач по отражению наиболее вероятных угроз для внутренних сетей способны решать межсетевые экраны. В отечественной литературе до последнего времени использовались вместо этого термина другие термины иностранного происхождения: брандмауэр и firewall. Вне компьютерной сферы брандмауэром (или firewall) называют стену, сделанную из негорючих материалов и препятствующую распространению пожара. В сфере компьютерных сетей межсетевой экран представляет собой барьер, защищающий от фигурального пожара-попыток злоумышленников вторгнуться во внутреннюю сеть для того, чтобы скопировать, изменить или стереть информацию либо воспользоваться памятью или вычислительной мощностью работающих в этой сети компьютеров. Межсетевой экран призван обеспечить безопасный доступ к внешней сети и ограничить доступ внешних пользователей к внутренней сети.
|
Рис. 8.1. Схема установления межсетевого экрана
Межсетевой экран (МЭ)-это система межсетевой защиты, позволяющая разделить общую сеть на две части или более и реализовать набор правил, определяющих условия прохождения пакетов с данными через границу из одной части общей сети в другую (рис. 8.1). Как правило, эта граница проводится между корпоративной (локальной) сетью предприятия и глобальной сетью internet, хотя ее можно провести и внутри корпоративной сети предприятия. МЭ пропускает через себя весь трафик, принимая для каждого проходящего пакета решение-пропускать его или отбросить. Для того чтобы МЭ мог осуществить это, ему необходимо определить набор правил фильтрации.
Обычно межсетевые экраны защищают внутреннюю сеть предприятия от "вторжений" из глобальной сети Internet, однако они могут использоваться и для защиты от "нападений" из корпоративной интрасети, к которой подключена локальная сеть предприятия. Ни один межсетевой экран не может гарантировать полной защиты внутренней сети при всех возможных обстоятельствах. Однако для большинства коммерческих организаций установка межсетевого экрана является необходимым условием обеспечения безопасности внутренней сети. Главный довод в пользу применения межсетевого экрана состоит в том, что без него системы внутренней сети подвергаются опасности со стороны слабо защищенных служб сети Internet, а также зондированию и атакам с каких-либо других хост-компьютеров внешней сети [89].
Проблемы недостаточной информационной безопасности являются "врожденными" практически для всех протоколов и служб Internet. Большая часть этих проблем связана с исторической зависимостью Internet от операционной системы UNIX. Известно, что сеть Arpanet (прародитель Internet) строилась как сеть, связывающая исследовательские центры, научные, военные и правительственные учреждения, крупные университеты США. Эти структуры использовали операционную систему UNIX в качестве платформы для коммуникаций и решения собственных задач. Поэтому особенности методологии программирования в среде UNIX и ее архитектуры наложили отпечаток на реализацию протоколов обмена и политики безопасности в сети. Из-за открытости и распространенности система UNIX стала любимой добычей хакеров. Поэтому совсем не удивительно, что набор протоколов TCP/IP, который обеспечивает коммуникации в глобальной сети Internet и в получающих все большую популярность интрасетях, имеет "врожденные" недостатки защиты. То же самое можно сказать и о ряде служб Internet.
Набор протоколов управления передачей сообщений в Internet (Transmission Control Protocol/Internet Protocol-TCP/IP) используется для организации коммуникаций в неоднородной сетевой среде, обеспечивая совместимость между компьютерами разных типов. Созместимость - одно из основных преимуществ TCP/IP, поэтому большинство локальных компьютерных сетей поддерживает эти протоколы. Кроме того, протоколы TCP/IP предоставляют доступ к ресурсам глобальной сети Internet. Поскольку TCP/IP поддерживает маршрутизацию пакетов, он обычно используется в качестве межсетевого протокола. Благодаря своей популярности TCP/IP стал стандартом де-факто для межсетевого взаимодействия.
В заголовках пакетов TCP/IP указывается информация, которая может подвергнуться нападениям хакеров. В частности, хакер может подменить адрес отправителя в своих "вредоносных" пакетах, после чего они будут выглядеть, как пакеты, передаваемые авторизированным клиентом.
Отметим "врожденные слабости" некоторых распространенных служб Internet [46].
Простой протокол передачи электронной почты (Simple Mail Transfer Protocol'- SMTP) позволяет осуществлять почтовую транспортную службу Internet. Одна из проблем безопасности, связанная с этим протоколом, заключается в том, что пользователь не может проверить адрес отправителя в заголовке сообщения электронной почты. В результате хакер может послать во внутреннюю сеть большое количество почтовых сообщений, что приведет к перегрузке и блокированию работы почтового сервера.
Популярная в Internet программа электронной почты Send- mail использует для работы некоторую сетевую информацию-IP-адрес отправителя. Перехватывая сообщения, отправляемые с помощью Sendmail, хакер может употребить эту информацию для нападений, например для спуфинга (подмены адресов).
Протокол передачи файлов (File Transfer Protocol-FTP) обеспечивает передачу текстовых и двоичных файлов, поэтому его часто используют в Internet для организации совместного доступа к информации. Его обычно рассматривают как один из методов работы с удаленными сетями. На FTP-серверах хранятся документы, программы, графика и другие виды информации. К данным этих файлов на FTP-серверах нельзя обратиться напрямую. Это можно сделать, только переписав их целиком с FTP-сервера на локальный сервер. Некоторые FTP-серверы ограничивают доступ пользователей к своим архивам данных с помощью пароля, другие же предоставляют свободный доступ (так называемый анонимный FTP-сервер). При использовании опции анонимного FTP для своего сервера пользователь должен быть уверен, что на нем хранятся только файлы, предназначенные для свободного распространения.
Служба сетевых имен (Domain Name System-DNS) представляет собой распределенную базу данных, которая преобразует имена пользователей и хост-компьютеров в IP-адреса, указываемые в заголовках пакетов, и наоборот. DNS также хранит информацию о структуре сети компании, например количестве компьютеров с IP-адресами в каждом домене. Одной из проблем DNS является то, что эту базу данных очень трудно "скрыть" от неавторизированных пользователей. В результате DNS часто используется хакерами как источник информации об именах доверенных хост- компьютеров.
Служба эмуляции удаленного терминала (TELNET) употребляется для подключения к удаленным системам, присоединенным к сети; применяет базовые возможности по эмуляции терминала. При использовании этого сервиса Internet пользователи должны регистрироваться на сервере TELNET, вводя свои имя и пароль. После аутентификации пользователя его рабочая станция функционирует в режиме "тупого" терминала, подключенного к внешнему хост-компьютеру. С этого терминала пользователь может вводить команды, которые обеспечивают ему доступ к файлам и запуск программ. Подключившись к серверу TELNET, хакер может сконфигурировать его программу таким образом, чтобы она записывала имена и пароли пользователей.
Всемирная паутина (World
Wide Web - WWW)
- это система, основанная на сетевых приложениях, которые позволяют
пользователям просматривать содержимое различных серверов в Internet или
интрасетях. Самым полезным свойством WWW является использование гипертекстовых
документов, в которые встроены ссылки на другие документы и Web-узлы, что дает
пользователям возможность легко переходить от одного узла к другому. Однако это
же свойство является и наиболее слабым местом системы
WWW, поскольку ссылки на Web-узлы, хранящиеся в гипертекстовых документах,
содержат информацию о том, как осуществляется доступ к соответствующим узлам.
Используя эту информацию, хакеры могут разрушить Web-узел или получить доступ к
хранящейся в нем конфиденциальной информации.
К уязвимым службам и протоколам Internet относятся также протокол копирования UUCP, протокол маршрутизации RIP, графическая оконная система X Windows и др.
Решение о том, фильтровать ли с помощью межсетевого экрана конкретные протоколы и адреса, зависит от принятой в защищаемой сети политики безопасности. Межсетевой экран является набором компонентов, настраиваемых таким образом, чтобы реализовать выбранную политику безопасности. В частности, необходимо решить, будет ли ограничен доступ пользователей к определенным службам Internet на базе протоколов TCP/IP и если будет, то до какой степени.
Политика сетевой безопасности каждой организации должна включать две составляющие [20]:
• политику доступа к сетевым сервисам;
• политику реализации межсетевых экранов.
В соответствии с политикой доступа к сетевым сервисам определяется список сервисов Internet, к которым пользователи должны иметь ограниченный доступ. Задаются также ограничения /на методы доступа, например, на использование протоколов SLIP (Serial Line Internet Protocol) и РРР (Point-to-Point Protocol). Ограничение методов доступа необходимо для того, чтобы пользователи не могли обращаться к "запрещенным" сервисам Internet обходными путями. Например, если для ограничения доступа в Internet сетевой администратор устанавливает специальный шлюз, который не дает возможности пользователям работать в системе WWW, они могли бы установить РРР-соединения с Web-серверами по коммутируемой линии.
Политика доступа к сетевым сервисам обычно основывается на одном из следующих принципов:
1) запретить доступ из Internet во внутреннюю сеть, но разрешить доступ из внутренней сети в Internet;
2) разрешить ограниченный доступ во внутреннюю сеть из Internet, обеспечивая работу только отдельных "авторизированных" систем, например почтовых серверов.
В соответствии с политикой реализации межсетевых экранов определяются правила доступа к ресурсам внутренней сети. Прежде всего необходимо установить, насколько "доверительной" или "подозрительной" должна быть система защиты. Иными словами, правила доступа к внутренним ресурсам должны базироваться на одном из следующих принципов:
1) запрещать все, что не разрешено в явной форме;
2) разрешать все, что не запрещено в явной форме.
Реализация межсетевого
экрана на основе первого принципа обеспечивает значительную защищенность.
Однако правила доступа, сформулированные в соответствии с этим принципом, могут
доставлять большие неудобства пользователям, а кроме того, их реализация
обходится достаточно дорого. При реализации второго принципа внутренняя сеть
оказывается менее защищенной от нападений хакеров, однако пользоваться ей будет
удобнее и потребуется меньше затрат.
Эффективность защиты внутренней сети с помощью межсетевых экранов зависит не только от выбранной политики доступа к сетевым сервисам и ресурсам внутренней сети, но и от рациональности выбора и использования основных компонентов межсетевого экрана.
Функциональные требования к межсетевым экранам включают:
• требования к фильтрации на сетевом уровне;
• требования к фильтрации на прикладном уровне;
• требования по настройке правил фильтрации и администрированию;
• требования к средствам сетевой аутентификации;
• требования по внедрению журналов и учету.
8.2. Основные компоненты межсетевых экранов
Большинство компонентов межсетевых экранов можно отнести к одной из трех категорий:
• фильтрующие маршрутизаторы;
• шлюзы сетевого уровня;
• шлюзы прикладного уровня.
Эти категории можно рассматривать как базовые компоненты реальных межсетевых экранов. Лишь немногие межсетевые экраны включают только одну из перечисленных категорий. Тем не менее эти категории отражают ключевые возможности, отличающие межсетевые экраны друг от друга.
Фильтрующий маршрутизатор представляет собой маршрутизатор или работающую на сервере программу, сконфигурированные таким образом, чтобы фильтровать входящие и исходящие пакеты. Фильтрация пакетов осуществляется на основе информации, содержащейся в TCP- и IP-заголовках пакетов. Процесс инкапсуляции передаваемых данных и формирования TCP- и IP-заголовков пакетов с данными в стеке протоколов TCP/IP показан на рис. 8.2.
Фильтрующий маршрутизатор обычно может фильтровать IP-пакеты на основе группы следующих полей заголовка пакета [20]:
• IP-адрес отправителя (адрес системы, которая послала пакет);
• IP-адрес получателя (адрес системы, которая принимает пакет);
• порт отправителя (порт соединения в системе-отправителе);
• порт получателя (порт соединения в системе-получателе).
Порт-это программное понятие, которое используется клиентом или сервером для посылки или приема сообщений; порт идентифицируется 16-битовым числом.
В настоящее время не все фильтрующие маршрутизаторы фильтруют пакеты по TCP/UDP-порту отправителя, однако многие производители маршрутизаторов начали обеспечивать такую возможность.
Некоторые маршрутизаторы проверяют, с какого сетевого интерфейса маршрутизатора пришел пакет, и затем используют эту информацию как дополнительный критерий фильтрации.
Фильтрация
может быть реализована различным образом для блокирования соединений с определенными
хост-компьютерами или портами. Например, можно блокировать соединения, идущие
от конкретных адресов тех хост-компьютеров и сетей, которые считаются
враждебными или ненадежными.
Добавление фильтрации по портам TCP и UDP к фильтрации по IP-адресам обеспечивает большую гибкость. Известно, что такие серверы, как демон TELNET, обычно связаны с конкретными портами (например, порт 23 протокола TELNET). Если межсетевой экран может блокировать соединения TCP или UDP с определенными портами или от них, то можно реализовать политику безопасности, при которой некоторые виды соединений устанавливаются только с конкретными хост-компьютерами.
Например, внутренняя сеть может блокировать все входные соединения со всеми хост-компьютерами за исключением нескольких систем. Для этих систем могут быть разрешены только определенные сервисы (SMTP для одной системы и TELNET или FTP- (для другой). При фильтрации по портам TCP и UDP эта политика
Рис. 8.3. Схема фильтрации трафика SMTP и TELNET
может быть реализована фильтрующим маршрутизатором или хост-компьютером с возможностью фильтрации пакетов (рис. 8.3).
В качестве примера
работы фильтрующего маршрутизатора рассмотрим реализацию политики безопасности,
допускающей определенные соединения с внутренней сетью с адресом 123.4.*.*
Соединения TELNET разрешаются только с одним хост-компьютером с адресом
123.4.5.6, который может быть прикладным TELNET-шлюзом, а
SMTP-соединения-только с двумя хост-компьютерами с адресами 123.4.5.7 и
123.4.5.8, которые могут быть двумя шлюзами электронной почты. Обмен по NNTP
(Network
News Transfer Protocol) разрешается только от сервера новостей с адресом
129.6.48.254 и только с NNTP-сервером сети с адресом 123.4.5.9, а протокол NTP
(сетевого времени)-для всех хост- компьютеров. Все другие серверы и пакеты
блокируются [16]. Соответствующий набор правил сведен в табл. 8.1.
Таблица 8.1
Правила фильтрации
Тип
|
Адрес
|
Адрес
|
Порт
|
Порт
|
Действие
|
TCP
|
*
|
123.4.5.6
|
>1023
|
23
|
Разрешить
|
TCP
|
*
|
123.4.5.7
|
>1023
|
25
|
Разрешить
|
TCP
|
*
|
123.4.5.8
|
>1023
|
25
|
Разрешить
|
TCP
|
129.6.48.254
|
123.4.5.9
|
>1023
|
119
|
Разрешить
|
UDP
|
*
|
123.4.*.*
|
>1023
|
123
|
Разрешить
|
*
|
*
|
*
|
*
|
*
|
Запретить
|
Первое правило позволяет пропускать пакеты TCP из сети Internet от любого источника с номером порта большим, чем 1023, к получателю с адресом 123.4.5.6 в порт 23. Порт 23 связан с сервером TELNET, а все клиенты TELNET должны иметь непривилегированные порты с номерами не ниже 1024.
Второе и третье правила работают аналогично и разрешают передачу пакетов к получателям с адресами 123.4.5.7 и 123.4.5.8 в порт 25, используемый SMTP.
Четвертое правило пропускает пакеты к NNTP-серверу сети, но только от отправителя с адресом 129.6.48.254 к получателю с адресом 123.4.5.9 с портом назначения 119 (129.6.48.254-единственный NNTP-сервер, от которого внутренняя сеть получает новости, поэтому доступ к сети для выполнения протокола NNTP ограничен только этой системой).
Пятое правило разрешает трафик NTP, который использует протокол UDP вместо TCP, от любого источника к любому получателю внутренней сети.
Наконец, шестое правило
блокирует все остальные пакеты. Если бы этого правила не было, маршрутизатор
мог бы блокировать, а мог бы и не блокировать другие типы пакетов. Выше был
рассмотрен очень простой пример фильтрации пакетов. Реально используемые
правила позволяют осуществить более сложную фильтрацию и являются более
гибкими.
Правила фильтрации пакетов формулируются сложно, и обычно нет средств для тестирования их корректности, кроме медленного ручного тестирования. У некоторых фильтрующих маршрутизаторов нет средств протоколирования, поэтому, если правила фильтрации пакетов все-таки позволят опасным пакетам пройти через маршрутизатор, такие пакеты не смогут быть выявлены до обнаружения последствий проникновения.
Даже если администратору сети удастся создать эффективные правила фильтрации, их возможности остаются ограниченными. Например, администратор задает правило, в соответствии с которым маршрутизатор будет отбраковывать все пакеты с неизвестным адресом отправителя. Однако хакер может использовать в качестве адреса отправителя в своем "вредоносном" пакете реальный адрес доверенного (авторизированного) клиента. В этом случае фильтрующий маршрутизатор не сумеет отличить поддельный пакет от настоящего и пропустит его. Практика показывает, что подобный вид нападения, называемый подменой адреса, довольно широко распространен в сети Internet и часто оказывается эффективным.
Межсетевой экран с фильтрацией пакетов, работающий только на сетевом уровне эталонной модели взаимодействия открытых систем OSI-ISO, обычно проверяет информацию, содержащуюся только в IP-заголовках пакетов. Поэтому обмануть его несложно: хакер создает заголовок, который удовлетворяет разрешающим правилам фильтрации. Кроме заголовка пакета, никакая другая содержащаяся в нем информация межсетевыми экранами данной категории не проверяется.
К положительным качествам фильтрующих маршрутизаторов следует отнести:
• сравнительно невысокую стоимость;
• гибкость в определении правил фильтрации;
• небольшую
задержку при прохождении пакетов.
Недостатками фильтрующих маршрутизаторов являются:
• внутренняя сеть видна (маршрутизируется) из сети Internet;
• правила фильтрации пакетов трудны в описании и требуют очень хороших знаний технологий TCP и UDP;
• при нарушении работоспособности межсетевого экрана с фильтрацией пакетов все компьютеры за ним становятся полностью незащищенными либо недоступными;
• аутентификацию с использованием IP-адреса можно обмануть путем подмены IP-адреса (атакующая система выдает себя за другую, используя ее IP-адрес);
• отсутствует аутентификация на пользовательском уровне.
Шлюз сетевого уровня иногда называют системой трансляций сетевых адресов или шлюзом сеансового уровня модели OSI. Такой шлюз исключает прямое взаимодействие между авторизированным клиентом и внешним хост-компьютером.
Шлюз сетевого уровня принимает запрос доверенного клиента на конкретные услуги и после проверки допустимости запрошенного сеанса устанавливает соединение с внешним хост-компьютером. После этого шлюз копирует пакеты в обоих направлениях, не осуществляя их фильтрации.
Шлюз следит
за подтверждением (квитированием) связи между авторизированным клиентом и
внешним хост-компьютером, определяя, является ли запрашиваемый сеанс связи
допустимым.
Чтобы выявить допустимость запроса на сеанс связи, шлюз выполняет следующую
процедуру.
Когда авторизированный клиент запрашивает некоторый сервис, шлюз принимает этот запрос, проверяя, удовлетворяет ли этот клиент базовым критериям фильтрации (например, может ли DNS-сервер определить IP-адрес клиента и ассоциированное с ним имя). Затем, действуя от имени клиента, шлюз устанавливает соединение с внешним хост-компьютером и следит за выполнением процедуры квитирования связи по протоколу TCP. Эта процедура состоит из обмена TCP-пакетами, которые помечаются флагами SYN (синхронизировать) и АСК (подтвердить) (рис 8.4).
Первый пакет сеанса TCP, помеченный флагом SYN и содержащий произвольное число, например 1000, является запросом клиента на открытие сеанса. Внешний хост-компьютер, получивший этот пакет, посылает в ответ пакет, помеченный флагом АСК и содержащий число, на единицу большее, чем в принятом пакете
(в нашем случае 1001), подтверждая тем самым прием пакета SYN от клиента.
Далее осуществляется обратная процедура: хост-компьютер посылает клиенту пакет SYN с исходным числом (например, 2000), а клиент подтверждает его получение передачей пакета АСК, содержащего число 2001. На этом процесс квитирования связи завершается.
Шлюз сетевого уровня признает запрошенное соединение допустимым только в том случае, если при выполнении процедуры квитирования связи флаги SYN и АСК, а также числа, содержащиеся в TCP-пакетах, оказываются логически связанными между собой.
После того как шлюз определил, что доверенный клиент и внешний хост-компьютер являются авторизированными участниками сеанса TCP, и проверил допустимость этого сеанса, он устанавливает соединение. Начиная с этого момента, шлюз копирует и перенаправляет пакеты туда и обратно, не проводя никакой фильтрации. Он поддерживает таблицу установленных соединений, пропуская данные, относящиеся к одному из сеансов связи, зафиксированных в этой таблице. Когда сеанс завершается, шлюз удаляет соответствующий элемент из таблицы и разрывает цепь, использовавшуюся в данном сеансе.
Для копирования и перенаправления пакетов в шлюзах сетевого уровня применяются специальные приложения, которые называют канальными посредниками, поскольку они устанавливают между двумя сетями виртуальную цепь или канал, а затем разрешают пакетам, которые генерируются приложениями TCP/IP, проходить по этому каналу. Канальные посредники поддерживают не сколько служб TCP/IP, поэтому шлюзы сетевого уровня могут использоваться для расширения возможностей шлюзов прикладного уровня, работа которых основывается на программах-посредниках конкретных приложений.
Фактически большинство шлюзов сетевого уровня не являются самостоятельными продуктами, а поставляются в комплекте со шлюзами прикладного уровня. Примерами таких шлюзов являются Gauntlet Internet Firewall компании Trusted Information Systems, Alta Vista Firewall компании DEC и ANS Interlock компании ANS. Например, Alta Vista Firewall использует канальные посредники прикладного уровня для каждой из шести служб TCP/IP, к которым относятся, в частности, FTP, HTTP (Hyper Text Transport Protocol) и TEELNTET. Кроме того, межсетевой экран компании DEC обеспечивает шлюз сетевого уровня, поддерживающий другие общедоступные службы TCP/IP, такие как Gopher и SMTP, для которых межсетевой экран не предоставляет посредников прикладного уровня.
Шлюз
сетевого уровня выполняет еще одну важную функцию защиты: он используется в
качестве сервера-посредника. Этот сервер-посредник выполняет процедуру
трансляции адресов, при которой происходит преобразование внутренних IP-адресов
в один "надежный" IP-адрес. Этот адрес ассоциируется с межсетевым
экраном, из которого передаются все исходящие пакеты. В результате в сети со
шлюзом сетевого уровня все исходящие пакеты оказываются отправленными из этого
шлюза, что исключает прямой
контакт между внутренней (авторизированной) сетью и потенциально опасной
внешней сетью. IP-адрес шлюза сетевого уровня становится единственно активным
IP-адресом, который попадает во внешнюю сеть. Таким образом шлюз сетевого
уровня и другие серверы-посредники защищают внутренние сети от нападений типа
подмены адресов.
После установления связи шлюзы сетевого уровня фильтруют пакеты только на сеансовом уровне модели OSI, т.е. не могут проверять, содержимое пакетов, передаваемых между внутренней и внешней сетью на уровне прикладных программ. И поскольку эта передача осуществляется "вслепую", хакер, находящийся во внешней сети, может "протолкнуть" свои "вредоносные" пакеты через такой шлюз. После этого хакер обратится напрямую к внутреннему Web-серверу, который сам по себе не может обеспечивать функции межсетевого экрана. Иными словами, если процедура квитирования связи успешно завершена, шлюз сетевого уровня установит соединение и будет "слепо" копировать и перенаправлять все последующие пакеты независимо от их содержимого.
Чтобы фильтровать пакеты, генерируемые определенными сетевыми службами, в соответствии с их содержимым необходим шлюз прикладного уровня.
Для устранения ряда недостатков, присущих фильтрующим маршрутизаторам, межсетевые экраны должны использовать дополнительные программные средства для фильтрации сообщений сервисов типа TELNET и FTP. Такие программные средства называются полномочными серверами (серверами-посредниками), а хост-компьютер, на котором они выполняются, шлюзом прикладного уровня [20].
Шлюз прикладного уровня исключает прямое взаимодействие между авторизированным клиентом и внешним хост-компьютером. Шлюз фильтрует все входящие и исходящие пакеты на прикладном уровне. Связанные с приложениями серверы-посредники перенаправляют через шлюз информацию, генерируемую конкретными серверами.
Для достижения более высокого уровня безопасности и гибкости шлюзы прикладного уровня и фильтрующие маршрутизаторы могут быть объединены в одном межсетевом экране. В качестве примера рассмотрим сеть, в которой с помощью фильтрующего маршрутизатора блокируются входящие соединения TELNET и FTP [89]. Этот маршрутизатор допускает прохождение пакетов TELNET или FTP только к одному хост-компьютеру шлюзу прикладного уровня TELNET/FTP. Внешний пользователь, который хочет соединиться с некоторой системой в сети, должен сначала соединиться со шлюзом прикладного уровня, а затем уже с нужным внутренним хост-компьютером. Это осуществляется следующим образом:
1) сначала внешний пользователь устанавливает TELNET-соединение со шлюзом прикладного уровня с помощью протокола TELNET и вводит имя интересующего его внутреннего хост-компьютера;
2) шлюз проверяет IP-адрес отправителя и разрешает или запрещает соединение в соответствии с тем или иным критерием доступа;
3) пользователю может потребоваться аутентификация (возможно, с помощью одноразовых паролей);
4) сервер-посредник устанавливает TELNET-соединение между шлюзом и внутренним хост-компьютером;
5) сервер-посредник осуществляет передачу информации между этими двумя соединениями;
6) шлюз прикладного уровня регистрирует соединение.
Этот пример наглядно показывает преимущества использования полномочных серверов-посредников.
• Полномочные серверы-посредники пропускают только те службы, которые им поручено обслуживать. Иначе говоря, если шлюз прикладного уровня наделен полномочиями (и полномочными серверами-посредниками) для служб FTP и TELNET, то в защищаемой сети будут разрешены только FTP и TELNET, а все другие службы будут полностью блокированы. Для некоторых организаций такой вид безопасности имеет большое значение, так как он гарантирует, что через межсетевой экран будут пропускаться только те службы, которые считаются безопасными.
• Полномочные серверы-посредники обеспечивают возможность фильтрации протокола. Например, некоторые межсетевые экраны, использующие шлюзы прикладного уровня, могут фильтровать FTP-соединения и запрещать использование команды FTP put, что гарантированно не позволяет пользователям записывать информацию на анонимный FTP-сервер.
В дополнение к фильтрации пакетов многие шлюзы прикладного уровня регистрируют все выполняемые сервером действия и, что особенно важно, предупреждают сетевого администратора о возможных нарушениях защиты. Например, при попытках проникновения в сеть извне BorderWare Firewall Server компании Secure Computing позволяет фиксировать адреса отправителя и получателя пакетов, время, в которое эти попытки были предприняты, и используемый протокол. Межсетевой экран Black /Hole компании Milkyway Networks регистрирует все действия сервера и предупреждает администратора о возможных нарушениях, посылая ему сообщение по электронной почте или на пейджер. Аналогичные функции выполняют и ряд других шлюзов прикладного уровня.
Шлюзы прикладного уровня позволяют обеспечить наиболее высокий уровень защиты, поскольку взаимодействие с внешним миром реализуется через небольшое число прикладных полномочных про грамм-посредников, полностью контролирующих весь входящий и выходящий трафик.
Шлюзы прикладного уровня имеют ряд серьезных преимуществ по сравнению с обычным режимом, при котором прикладной трафик пропускается непосредственно к внутренним хост-компьютерам. Перечислим эти преимущества.
• Невидимость структуры защищаемой сети из глобальной сети Internet. Имена внутренних систем можно не сообщать внешним системам через DNS, поскольку шлюз прикладного уровня может быть единственным хост-компьютером, имя которого должно быть известно внешним системам.
• Надежная аутентификация и регистрация. Прикладной трафик может быть аутентифицирован, прежде чем он достигнет внутренних хост-компьютеров, и может быть зарегистрирован более эффективно, чем с помощью стандартной регистрации.
• Оптимальное соотношение между ценой и эффективностью. Дополнительные программные или аппаратные средства для аутентификации или регистрации нужно устанавливать только на шлюзе прикладного уровня.
• Простые правила
фильтрации. Правила на фильтрующем маршрутизаторе оказываются менее сложными,
чем они были бы, если бы маршрутизатор сам фильтровал прикладной трафик и
отправлял его большому числу внутренних систем. Маршрутизатор должен пропускать
прикладной трафик, предназначенный
только для шлюза прикладного уровня, и блокировать весь остальной трафик.
• Возможность организации
большого числа проверок. Защита на уровне приложений позволяет осуществлять
большое количество дополнительных проверок, что снижает вероятность взлома с
использованием "дыр" в программном обеспечении.
К недостаткам шлюзов прикладного уровня относятся:
• более низкая производительность по сравнению с фильтрующими маршрутизаторами; в частности, при использовании клиент- серверных протоколов, таких как TELNET, требуется двухшаговая процедура для входных и выходных соединений;
• более высокая стоимость по сравнению с фильтрующими маршрутизаторами.
Помимо TELNET и FTP шлюзы прикладного уровня обычно используются для электронной почты, X Windows и некоторых других служб.
Одним из важных компонентов концепции межсетевых экранов является аутентификация (проверка подлинности пользователя). Прежде чем пользователю будет предоставлено право воспользоваться тем или иным сервисом, необходимо убедиться, что он действительно тот, за кого себя выдает.
Одним из способов аутентификации является использование стандартных UNIX-паролей. Однако эта схема наиболее уязвима с точки зрения безопасности - пароль может быть перехвачен и использован другим лицом. Многие инциденты в сети Internet произошли отчасти из-за уязвимости традиционных паролей. Злоумышленники могут наблюдать за каналами в сети Internet и перехватывать передающиеся в них открытым текстом пароли, поэтому схему аутентификации с традиционными паролями следует признать устаревшей.
Для преодоления этого недостатка разработан ряд средств усиленной аутентификации; смарт-карты, персональные жетоны, биометрические механизмы и т. п. Хотя в них задействованы разные механизмы аутентификации, общим для них является то, что пароли, генерируемые этими устройствами, не могут быть повторно использованы нарушителем, наблюдающим за установлением связи. Поскольку проблема с паролями в сети Internet является постоянной, межсетевой экран для соединения с Internet, не располагающий средствами усиленной аутентификации или не использующий их, теряет всякий смысл [20].
Ряд наиболее популярных
средств усиленной аутентификации, применяемых в настоящее время, называются
системами с одноразовыми паролями. Например, смарт-карты или жетоны
ayтентификации генерируют информацию, которую хост-компьютер использует вместо
традиционного пароля. Поскольку смарт-карта или жетон работают вместе с
аппаратным и программным обеспечением хост-компьютера, генерируемый пароль
уникален для каждого установления сеанса. Результатом является одноразовый
пароль, который, даже если он перехватывается, не может быть использован
злоумышленником под видом пользователя для установления сеанса с
хост-компьютером.
Так как межсетевые экраны могут централизовать управление доступом в сети, они являются подходящим местом для установки программ или устройств усиленной аутентификации. Хотя средства усиленной аутентификации могут использоваться на каждом хост-компьютере, более практично их размещение на межсетевом экране. На рис.8,5 показано, что в сети без межсетевого экрана, использующего меры усиленной аутентификации, неаутентифицированный трафик таких приложений, как TELNET или FTP, может напрямую проходить к системам в сети. Если хост-компьютеры не применяют мер усиленной аутентификации, злоумышленник может попытаться взломать пароли или перехватить сетевой трафик с целью найти в нем сеансы, в ходе которых передаются пароли.
На рис. 8.5 показана также сеть с межсетевым экраном, использующим усиленную аутентификацию. В этом случае сеансы
Рис.8.5. Схема использования усиленной аутентификации в межсетевом экране для предварительной аутентификации трафика TELNET, FTP
TELNET или FTP, устанавливаемые со стороны сети Internet с системами сети, должны проходить проверку с помощью средств усиленной аутентификации, прежде чем они будут разрешены. Системы сети могут запрашивать для разрешения доступа и статические пароли, но эти пароли, даже если они будут перехвачены злоумышленником, нельзя будет использовать, так как средства усиленной аутентификации и другие компоненты межсетевого экрана предотвращают проникновение злоумышленников или обход ими межсетевого экрана.
8.3. Основные схемы сетевой защиты на базе межсетевых
экранов
При подключении корпоративной или локальной сети к глобальным сетям администратор сетевой безопасности должен решать следующие задачи:
• защита корпоративной или локальной сети от несанкционированного удаленного доступа со стороны глобальной сети;
• скрытие информации о структуре сети и ее компонентов от пользователей глобальной сети;
• разграничение доступа в защищаемую сеть из глобальной сети и из защищаемой сети в глобальную сеть.
Необходимость работы с удаленными пользователями требует установления жестких ограничений доступа к информационным ресурсам защищаемой сети. При этом часто возникает потребность в организации в составе корпоративной сети нескольких сегментов с разными уровнями защищенности:
• свободно доступные сегменты (например, рекламный WWW-сервер),
• сегмент с ограниченным доступом (например, для доступа сотрудникам организации с удаленных узлов),
• закрытые сегменты (например, финансовая локальная сеть организации).
Для защиты корпоративной или локальной сети применяются следующие основные схемы организации межсетевых экранов:
• межсетевой
экран-фильтрующий маршрутизатор;
• межсетевой экран на основе двупортового шлюза;
• межсетевой экран на основе экранированного шлюза;
• межсетевой экран-экранированная подсеть.
Межсетевой экран-фильтрующий маршрутизатор
Межсетевой экран, основанный на фильтрации пакетов, является самым распространенным и наиболее простым в реализации. Он состоит из фильтрующего маршрутизатора, расположенного
Рис. 8.6. Межсетевой экран на основе фильтрующего маршрутизатора
между защищаемой сетью и сетью Internet (рис. 8.6). Фильтрующий маршрутизатор сконфигурирован для блокирования или фильтрации входящих и исходящих пакетов на основе анализа их адресов и портов [89].
Компьютеры, находящиеся в защищаемой сети, имеют прямой доступ в сеть Internet, в то время как большая часть доступа к ним из Internet блокируется. Часто блокируются такие опасные службы, как X Windows, NIS и NFS. В принципе фильтрующий маршрутизатор может реализовать любую из политик безопасности, описанных ранее. Однако если маршрутизатор не фильтрует пакеты по порту источника и номеру входного и выходного порта, то реализация политики "запрещено все, что не разрешено в явной форме" может быть затруднена.
Межсетевые экраны, основанные на фильтрации пакетов, имеют такие же недостатки, что и фильтрующие маршрутизаторы, причем эти недостатки становятся более ощутимыми при ужесточении требований к безопасности защищаемой сети. Отметим некоторые из них:
* сложность правил фильтрации; в некоторых случаях совокупность этих правил может стать неуправляемой;
• невозможность полного тестирования правил фильтрации; это приводит к незащищенности сети от непротестированных атак;
• практически отсутствующие возможности регистрации событий; в результате администратору трудно определить, подвергался ли маршрутизатор атаке и скомпрометирован ли он;
* каждый хост-компьютер, связанный с сетью Internet, нуждается в своих средствах усиленной аутентификации.
Межсетевой экран на основе двупортового шлюза
Межсетевой экран на базе двупортового прикладного шлюза включает двудомный хост-компьютер с двумя сетевыми интерфейсами. При передаче информации между этими интерфейсами и осуществляется основная фильтрация. Для обеспечения дополнительной защиты между прикладным шлюзом и сетью Internet обычно размещают фильтрующий маршрутизатор (рис. 8.7). В результате между прикладным шлюзом и маршрутизатором образуется внутренняя экранированная подсеть. Эту подсеть можно использовать для размещения доступных извне информационных серверов [106].
В отличие от схемы межсетевого экрана с фильтрующим маршрутизатором прикладной шлюз полностью блокирует трафик IP между сетью Internet и защищаемой сетью. Только полномочные сервера-посредники, располагаемые на прикладном шлюзе, могут предоставлять услуги и доступ пользователям.
Данный вариант межсетевого экрана реализует политику безопасности, основанную на принципе "запрещено все, что не разрешено в явной форме", при этом пользователю недоступны все службы, кроме тех, для которых определены соответствующие, полномочия. Такой подход обеспечивает высокий уровень безопасности, поскольку маршруты к защищенной подсети известны только межсетевому экрану и скрыты от внешних систем.
Рассматриваемая схема организации межсетевого экрана является довольно простой и достаточно эффективной.
Следует
отметить, что безопасность двудомного хост-компьютера, используемого в качестве
прикладного шлюза, должна поддерживаться на высоком уровне. Любая брешь в его
защите может
серьезно ослабить безопасность защищаемой сети. Если шлюз окажется
скомпрометированным, у злоумышленника появится возможность проникнуть в
защищаемую сеть.
Этот межсетевой экран может требовать от пользователей применения средств усиленной аутентификации, а также регистрации доступа, попыток зондирования и атак системы нарушителем.
Для некоторых сетей может оказаться неприемлемой недостаточная гибкость схемы межсетевого экрана с прикладным шлюзом.
Межсетевой экран на основе экранированного шлюза
Межсетевой экран на основе экранированного шлюза объединяет фильтрующий
маршрутизатор и прикладной шлюз, размещаемый со стороны внутренней сети.
Прикладной шлюз реализуется на хост-компьютере и имеет только один сетевой
интерфейс (рис. 8.8).
Рис. 8.8. Межсетевой экран с экранированным шлюзом
В этой схеме первичная безопасность обеспечивается фильтрующим маршрутизатором. Пакетная фильтрация в фильтрующем маршрутизаторе может быть реализована одним из следующих способов:
• позволять внутренним хост-компьютерам открывать соединения с хост-компьютерами в сети Internet для определенных сервисов (разрешая доступ к ним средствами пакетной фильтрации);
• запрещать все соединения от внутренних хост-компьютеров (заставляя их использовать полномочные серверы-посредники на прикладном шлюзе).
Эти подходы можно комбинировать для различных сервисов, разрешая некоторым сервисам соединение непосредственно через пакетную фильтрацию, в то время как другим только непрямое соединение через полномочные серверы-посредники. Все зависит от конкретной политики безопасности, принятой во внутренней сети. В частности, пакетная фильтрация на фильтрующем маршрутизаторе может быть организована таким образом, чтобы прикладной шлюз, используя свои полномочные серверы-посредники, обеспечивал для систем защищаемой сети такие сервисы, как TELNET, FTP, SMTH.
Межсетевой экран, выполненный по данной схеме, получается более гибким, но менее безопасным по сравнению с межсетевым экраном с прикладным шлюзом на базе двудомного хост-компьютера. Это обусловлено тем, что в схеме межсетевого экрана с экранированным шлюзом существует потенциальная возможность передачи трафика в обход прикладного шлюза непосредственно к системам локальной сети.
Основной недостаток схемы межсетевого экрана с экранированным шлюзом заключается в том, что если атакующий нарушитель сумеет проникнуть в хост-компьютер, то перед ним окажутся незащищенные системы внутренней сети. Другой недостаток связан с возможной компрометацией маршрутизатора. Если маршрутизатор окажется скомпрометированным, внутренняя сеть станет доступна атакующему нарушителю.
По этим причинам в настоящее время все более популярной становится схема межсетевого экрана с экранированной подсетью.
Межсетевой экран - экранированная подсеть
Межсетевой экран,
состоящий из экранированной подсети, представляет собой развитие схемы
межсетевого экрана на основе экранированного шлюза. Для создания экранированной
подсети используются два экранирующих маршрутизатора (рис. 8.9). Внешний
маршрутизатор располагается между сетью Internet и экранируемой подсетью, а
внутренний - между экранируемой подсетью и
защищаемой внутренней сетью. Экранируемая подсеть содержит прикладной шлюз, а
также может включать информационные серверы и другие системы, требующие
контролируемого доступа. Эта
схема межсетевого экрана обеспечивает хорошую безопасность благодаря
организации экранированной подсети, которая еще лучше изолирует внутреннюю
защищаемую сеть от Internet.
Рис. 8.9. Межсетевой экран - экранированная подсеть
Внешний маршрутизатор защищает от сети Internet как экранированную подсеть, так и внутреннюю сеть. Он должен пересылать трафик согласно следующим правилам:
• разрешается трафик от объектов Internet к прикладному шлюзу;
• разрешается трафик от прикладного шлюза к Internet;
• разрешается трафик электронной почты от Internet к серверу электронной почты;
• разрешается трафик электронной почты от сервера электронной почты к Internet;
• разрешается трафик FTP, Gopher и т.д. от Internet к информационному серверу;
• запрещается остальной трафик.
Внешний маршрутизатор
запрещает доступ из Internet к системам внутренней сети и блокирует весь трафик
к Internet, идущий от систем, которые не должны являться инициаторами
соединений
(в частности, информационный сервер и др.). Этот маршрутизатор может быть
использован также для блокирования других уязвимых протоколов, которые не
должны передаваться к хост-компьютерам
внутренней сети или от них [89].
Внутренний маршрутизатор
защищает внутреннюю сеть как от Internet, так и от экранированной подсети (в
случае ее компрометации). Внутренний маршрутизатор осуществляет большую часть
пакетной фильтрации. Он управляет трафиком к системам внутренней сети и от них
в соответствии со следующими правилами:
• разрешается трафик от прикладной шлюза к системам сети;
• разрешается прикладной трафик от систем сети к прикладному шлюзу;
• разрешается трафик электронной почты от сервера электронной почты к системам сети;
• разрешается трафик электронной почты от систем сети к серверу электронной почты;
• разрешается трафик FTP, Gopher и т.д. от систем сети к информационному серверу;
• запрещается остальной трафик.
Чтобы проникнуть во внутреннюю сеть при такой схеме межсетевого экрана, атакующему нужно пройти два фильтрующих маршрутизатора. Даже если атакующий каким-то образом проник хост-компьютер прикладного шлюза, он должен еще преодолеть внутренний фильтрующий маршрутизатор.
Таким образом, ни одна система внутренней сети не достижима непосредственно из Internet, и наоборот. Кроме того, четкое разделение функций между маршрутизаторами и прикладным шлюзом позволяет достигнуть более высокой пропускной способности.
Прикладной шлюз может включать программы усиленной аутентификации.
Межсетевой экран с экранированной подсетью хорошо подходит для защиты сетей с большими объемами трафика или с высокими скоростями обмена.
Межсетевой экран с экранированной подсетью имеет и недостатки:
• пара фильтрующих маршрутизаторов нуждается в большом внимании для обеспечения необходимого уровня безопасности, поскольку из-за ошибок при их конфигурировании могут возникнуть провалы в безопасности всей сети;
• существует принципиальная возможность доступа в обход прикладного шлюза.
Применение
межсетевых экранов для организации
виртуальных корпоративных сетей
|
Некоторые межсетевые экраны позволяют организовать виртуальные корпоративные сети. Несколько локальных сетей, подключенных к глобальной сети, объединяются в одну виртуальную корпоративную сеть. Схема применения межсетевых экранов в составе виртуальных корпоративных сетей показана на рис. 8.10 [66]. Передача данных между этими локальными сетями производится прозрачным образом для пользователей локальных сетей.
Рис.8.10.Схема виртуальной корпоративной сети
Конфиденциальность и целостность передаваемой информации должны обеспечиваться при помощи средств шифрования, использования цифровых подписей и т.п. При передаче данных может шифроваться не только содержимое пакета, но и некоторые поля заголовка.
8.4. Программные методы защиты
К программным методам защиты в сети Internet могут быть отнесены защищенные криптопротоколы, которые позволяют надежно защищать соединения [56]. В процессе развития Internet были созданы различные защищенные сетевые протоколы, использующие как симметричную криптографию с закрытым ключом, так и асимметричную криптографию с открытым ключом. К основным на сегодняшний день подходам и протоколам, обеспечивающим защиту соединений, относятся SKIP-технология и протокол защиты соединения SSL.
SKIP (Secure Key Internet Рго1осо1)-технологией называется стандарт защиты трафика IP-пакетов, позволяющий на сетевом уровне обеспечить защиту соединения и передаваемых по нему данных.
Возможны два способа реализации SKIP-защиты трафика IP-пакетов:
• шифрование блока данных IP-пакета;
• инкапсуляция IP-пакета в SKIP-пакет.
Шифрование блока данных ЧР-пакета иллюстрируется рис. 8.11. В этом случае шифруются методом симметричной криптографии только данные IP-пакета, а его заголовок, содержащий помимо прочего адреса отправителя и получателя, остается открытым, и пакет маршрутизируется в соответствии с истинными адресами.
Рис. 8.11. Схема шифрования блока данных IP-пакетов
Закрытый ключ Кij, разделяемый парой узлов сети I и J, вычисляется по схеме Диффи-Хеллмана (см. § 7.3).
Инкапсуляция
IP-пакета в SKIP-пакет показана на рис. 8.12. SKIP-пакет внешне похож на
обычный IP-пакет. В поле данных SKIP-пакета полностью размещается в
зашифрованном виде исходный IP-пакет. В этом случае в новом заголовке вместо
истинных адресов могут быть помещены некоторые другие адреса. Такая структура
SKIP-пакета позволяет беспрепятственно направлять его любому хост-компьютеру в
сети Internet, при этом межсетевая адресация осуществляется по обычному
IP-заголовку в
SKIP-пакете. Конечный получатель SKIP-пакета по заранее определенному
разработчиками алгоритму расшифровывает криптограмму и формирует обычный TCP-
или UDP-пакет, который и передает соответствующему модулю (TCP или UDP) ядра
операционной системы.
Рис. 8.12. Схема инкапсуляции IP-пакетов
Универсальный протокол защиты соединения SSL (Secure Socket Layer) функционирует на сеансовом уровне эталонной модели OSI. Протокол SSL, разработанный компанией Netscape, использует криптографию с открытым ключом. Этот протокол является действительно универсальным средством, позволяющим динамически защищать соединение при использовании любого прикладного протокола (FTP,TELNET,SMTP, DNS и т.д.). Протокол SSL поддерживают такие ведущие компании, как IBM, Digital Equipment Corporation, Microsoft Corporation, Motorola, Novell Inc., Sun Microsystems, MasterCard International Inc. и др.