Информационная безопасность в Интранет: концепции и решения
Информационная безопасность Информационная безопасность

Главная>Информационная безопасность>Информационная безопасность в Интранет: концепции и решения
Информационная безопасность Тема номера

Информационная безопасность в Интранет: концепции и решения

Дата публикации:
30.12.1996
Посетителей:
1720
Просмотров:
1500
Время просмотра:
2.3
В соответствии с [1], под информационной безопасностью понимается защищенность информации и поддерживающей инфраструктуры от случайных или преднамеренных воздействий естественного или искусственного характера, чреватых нанесением ущерба владельцам или пользователям информации и поддерживающей инфраструктуры.

 

На практике важнейшими являются три аспекта информационной безопасности:

 

  • доступность (возможность за разумное время получить требуемую информационную услугу);
  • целостность (актуальность и непротиворечивость информации, ее защищенность от разрушения и несанкционированного изменения);
  • конфиденциальность (защита от несанкционированного ознакомления).

 

Формирование режима информационной безопасности — проблема комплексная. Меры по ее решению можно подразделить на четыре уровня:

 

  • законодательный (законы, нормативные акты, стандарты и т.п.);
  • административный (действия общего характера, предпринимаемые руководством организации);
  • процедурный (конкретные меры безопасности, имеющие дело с людьми);
  • программно-технический (конкретные технические меры).

 

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

 

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

 

Применительно к системам Интранет глобальная связанность означает, что речь идет о защите сетей, пользующихся внешними сервисами, основанными на протоколах TCP/IP, и предоставляющих аналогичные сервисы вовне (Рис. 1). Весьма вероятно, что внешние сервисы находятся в других странах, поэтому от средств защиты в данном случае требуется следование стандартам, признанным на международном уровне.

 

Национальные границы, законы, стандарты не должны препятствовать защите потоков данных между клиентами и серверами (Рис. 2).

 

 

Рисунок 1. Информационная система, пользующаяся внешними сервисами и предоставляющая сервисы вовне.

 

 

 

Рисунок 2. Поток данных между клиентом и сервером, нуждающийся в защите.

 

 

Из факта глобальной связанности вытекает также меньшая эффективность мер физической защиты, общее усложнение проблем, связанных с защитой от несанкционированного доступа, необходимость привлечения для их решения новых программно-технических средств, таких как межсетевые экраны (firewalls) (см. [1], раздел "Экранирование").

 

Как бы зеркальным отражением глобальной связанности является территориальная разнесенность частей, составляющих современную корпорацию. Имеются в виду не только транснациональные концерны, но и компании средних размеров, располагающие отделениями в нескольких регионах России. Как правило, такие концерны и компании должны использовать для внутренних нужд глобальные сети общего пользования. Значит, необходимо обеспечить защиту потоков корпоративных данных, передаваемых по открытым сетям (Рис. 3).

 

Рисунок 3. Корпоративные потоки данных, передаваемые по открытым сетям.

 

 

 

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

 

Корпоративные информационные системы оказываются разнородными еще в одном важном отношении — в разных частях этих систем хранятся и обрабатываются данные разной степени важности и секретности.

 

Целесообразно в таком случае провести перегородки или, как говорят, внутренние политические границы, разделяющие сегменты разного характера (Рис. 4).

 

 

Рисунок 4. Сегментирование корпоративной информационной системы.

 

 

Следствия использования технологии клиент/сервер для информационной безопасности, коротко говоря, состоят в том, что:

 

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

 

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

 

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

 

Сведем воедино список упомянутых выше защитных сервисов, необходимых для обеспечения информационной безопасности Интранет-систем:

 

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

 

Таковы задачи в области информационной безопасности, возникающие в связи с переходом на технологию Интранет. Далее, в Разд. Концепции решения, будут рассмотрены концепции решения этих задач, а в Разд.

 

Защитные средства Интранет — аппаратные и программные продукты, способные помочь при реализации концепций. Предполагается, что читатель знаком с работой [1], где изложены основные положения информационной безопасности.

 

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

Концепции решения

 

Законодательный уровень

 

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

 

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

 

В разделе IX ("Преступления против общественной безопасности"), имеется глава 28 — "Преступления в сфере компьютерной информации". Данная глава содержит три статьи - 272 ("Неправомерный доступ к компьютерной информации"), 273 ("Создание, использование и распространение вредоносных программ для ЭВМ") и 274 — "Нарушение правил эксплуатации ЭВМ, системы ЭВМ или их сети". Уголовный кодекс стоит на страже всех аспектов информационной безопасности — доступности, целостности, конфиденциальности, предусматривая наказания за "уничтожение, блокирование, модификацию и копирование информации, нарушение работы ЭВМ, системы ЭВМ или их сети".

 

Весьма энергичную работу в области современных информационных технологий проводит Государственная техническая комиссия (Гостехкомиссия) при президенте Российской Федерации. В рамках серии Руководящих документов (РД) Гостехкомиссии подготовлен проект РД, устанавливающий классификацию межсетевых экранов (firewalls) по уровню обеспечения защищенности от несанкционированного доступа (НСД). Это принципиально важный документ, позволяющий упорядочить использование защитных средств, необходимых для реализации технологии Интранет.

 

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

 

Рассматривался законопроект "Содействие онлайновой торговле в цифровой век" (Promotion of Commerce Online in the Digital Era, Pro-CODE S.1726). Смысл законопроекта в том, чтобы разрешить экспорт изделий, криптостойкость которых соответствует общедоступному зарубежному уровню. Это очень удачная, гибкая формулировка, которая не накладывает ограничений на длину ключей (текущее ограничение — 40 бит), но позволяет автоматически поддерживать баланс между государственными, корпоративными и частными интересами.

 

Месяцем раньше, на других сенатских слушаниях, директор ЦРУ John Deutch выражал беспокойство по поводу защищенности общественных компьютерных сетей. Учитывая общую озабоченность проблемами международного терроризма, можно предположить, что идея разработки специалистами ФАПСИ и NSA совместных криптографических стандартов является не такой уж безумной.

 

Разработка сетевых аспектов политики безопасности

 

В [1] политика безопасности определяется как совокупность документированных управленческих решений, направленных на защиту информации и ассоциированных с ней ресурсов.

 

При разработке и проведении в жизнь политики безопасности целесообразно руководствоваться следующими принципами:

 

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

 

Поясним смысл перечисленных принципов.

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

Как правило, в Интранет-системах следует придерживаться принципа "все, что не разрешено, запрещено", поскольку "лишний" сетевой сервис может предоставить канал проникновения в корпоративную систему. В принципе ту же мысль выражает положение "все непонятное опасно". Целесообразно следовать методике, предложенной в [1], раздел "Распространение подхода клиент/сервер на информационную безопасность", когда, отправляясь от функционально необходимых сервисов, строится дерево вспомогательных и экранирующих сервисов, не содержащее лишних элементов.

 

Процедурные меры

 

В общем и целом Интранет-технология не предъявляет каких-либо специфических требований к мерам процедурного уровня (см. [1], раздел "Операционные регуляторы"). На наш взгляд, отдельного рассмотрения заслуживают лишь два обстоятельства:

 

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

 

Описание должностей с подробными пояснениями можно найти в работе [2].

 

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

 

Управление доступом путем фильтрации информации

 

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

 

Отметим, что бороться с угрозами, присущими сетевой среде, средствами универсальных операционных систем не представляется возможным. Универсальная ОС — это огромная программа, наверняка содержащая, помимо явных ошибок, некоторые особенности, которые могут быть использованы для получения нелегальных привилегий. Современная технология программирования не позволяет сделать столь большие программы безопасными. Кроме того, администратор, имеющий дело со сложной системой, далеко не всегда в состоянии учесть все последствия производимых изменений (как и врач, не ведающий всех побочных воздействий рекомендуемых лекарств). Наконец, в универсальной многопользовательской системе бреши в безопасности постоянно создаются самими пользователями (слабые и/или редко изменяемые пароли, неудачно установленные права доступа, оставленный без присмотра терминал и т.п.). Как указывалось выше, единственный перспективный путь связан с разработкой специализированных защитных средств, которые в силу своей простоты допускают формальную или неформальную верификацию. Межсетевой экран как раз и является таким средством, допускающим дальнейшую декомпозицию, связанную с обслуживанием различных сетевых протоколов.

 

Межсетевой экран — это полупроницаемая мембрана, которая располагается между защищаемой (внутренней) сетью и внешней средой (внешними сетями или другими сегментами корпоративной сети) и контролирует все информационные потоки во внутреннюю сеть и из нее (Рис. 5). Контроль информационных потоков состоит в их фильтрации, то есть в выборочном пропускании через экран, возможно, с выполнением некоторых преобразований и извещением отправителя о том, что его данным в пропуске отказано. Фильтрация осуществляется на основе набора правил, предварительно загруженных в экран и являющихся выражением сетевых аспектов политики безопасности организации.

 

Рисунок 5. Межсетевой экран как средство контроля информационных потоков.

 

 

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

 

Рисунок 6. Внешний межсетевой экран.

 

 

 

Рисунок 7. Внутренний межсетевой экран.

 

 

Как правило, при общении с внешними сетями используется исключительно семейство протоколов TCP/IP. Соответственно, внешний межсетевой экран должен учитывать специфику этих протоколов. Для внутренних экранов ситуация сложнее, здесь следует принимать во внимание, помимо TCP/IP, по крайней мере протоколы SPX/IPX, используемые в сетях Novell NetWare. Иными словами, от внутренних экранов нередко требуется многопротокольность.

 

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

 

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

 

 

При рассмотрении любого вопроса, касающегося сетевых технологий, основой служит семиуровневая эталонная модель ISO/OSI. Межсетевые экраны также целесообразно классифицировать по тому, на каком уровне производится фильтрация — канальном, сетевом, транспортном или прикладном (Рис. 9). Соответственно, можно говорить об экранирующих концентраторах (уровень 2), маршрутизаторах (уровень 3), о транспортном экранировании (уровень 4) и о прикладных экранах (уровень 7). Существуют также комплексные экраны, анализирующие информацию на нескольких уровнях.

 

 

Рисунок 9. Экранирование и эталонная модель ISO/OSI.

 

 

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

 

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

 

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

 

 

Рисунок 10. Сочетание экранирующих маршрутизаторов и прикладного экрана.

 

 

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

 

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

 

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

 

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

 

 

Рисунок 11. Истинные и кажущиеся информационные потоки.

 

 

Более общим методом сокрытия информации о топологии защищаемой сети является трансляция "внутренних" сетевых адресов, которая попутно решает проблему расширения адресного пространства, выделенного организации.

 

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

 

Экранирующая роль Web-сервиса наглядно проявляется и тогда, когда этот сервис осуществляет посреднические (точнее, интегрирующие) функции при доступе к другим ресурсам, например, таблицам базы данных (Рис. 12). Здесь не только контролируются потоки запросов, но и скрывается реальная организация баз данных.

 

Рисунок 12. Web-сервис как средство экранирования баз данных.

 

 

 

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

 

Безопасность программной среды

 

Идея сетей с так называемыми активными агентами, когда между компьютерами передаются не только пассивные, но и активные, исполняемые данные (то есть программы), разумеется, не нова. Первоначально цель состояла в том, чтобы уменьшить сетевой трафик, выполняя основную часть обработки там, где располагаются данные (приближение программ к данным). На практике это означало перемещение программ на серверы. Классическим примером реализации подобного подхода являются хранимые процедуры в реляционных СУБД.

 

Для Web-серверов аналогом хранимых процедур являются программы, обслуживающие общий шлюзовой интерфейс (Common Gateway Interface — CGI). CGI-процедуры располагаются на серверах и обычно используются для динамического порождения html-документов. Политика безопасности организации и процедурные меры должны определять, кто имеет право помещать на сервер CGI-процедуры. Жесткий контроль здесь необходим, поскольку выполнение сервером некорректной программы может привести к сколь угодно тяжелым последствиям. Разумная мера технического характера состоит в минимизации привилегий пользователя, от имени которого выполняется Web-сервер.

 

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

 

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

 

  • доступности (программа может поглотить все наличные ресурсы);
  • целостности (программа может удалить или повредить данные);
  • конфиденциальности (программа может прочитать данные и передать их по сети).

 

Проблему ненадежных программ осознавали давно, но, пожалуй, только в рамках системы программирования Java (см. [3], [4]) впервые предложена целостная концепция ее решения.

 

Java предлагает три оборонительных рубежа:

 

  • надежность языка;
  • контроль при получении программ;
  • контроль при выполнении программ.

 

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

 

Далее, в Разд. Java — безопасная программная среда для создания распределенных приложений, мы детально рассмотрим механизмы безопасности Java-систем. Здесь мы отметим лишь, что в концептуальном плане наибольшие трудности представляет контролируемое выполнение программ, загруженных по сети. Прежде всего, необходимо определить, какие действия считаются для таких программ допустимыми. Если исходить из того, что Java — это язык для написания клиентских частей приложений, одним из основных требований к которым является мобильность, загруженная программа может обслуживать только пользовательский интерфейс и осуществлять сетевое взаимодействие с сервером. Такая программа не может работать с файлами хотя бы потому, что на Java-терминале их, возможно, не будет. Более содержательные действия должны производиться на серверной стороне или осуществляться программами, локальными для клиентской системы. В этой связи подход, принятый в версии 2 Web-навигатора компании Netscape, нельзя назвать прокрустовым. Тем не менее, не так-то просто изменить программистские привычки, поэтому более поздние версии Netscape Navigator и другие навигаторы с теми или иными ограничениями разрешают доступ к локальным файлам и программам.

 

Интересный подход предлагают специалисты компании Sun Microsystems для обеспечения безопасного выполнения командных файлов. Речь идет о среде Safe-Tcl (Tool Comman Language, инструментальный командный язык). Sun предложил так называемую ячеечную модель интерпретации командный файлов. Существует главный интерпретатор, которому доступны все возможности языка. Если в процессе работы приложения необходимо выполнить сомнительный командный файл, порождается подчиненный командный интерпретатор, обладающий ограниченной функциональностью (например, из него могут быть удалены средства работы с файлами и сетевые возможности). В результате потенциально опасные программы оказываются заключенными в ячейки, защищающие пользовательские системы от враждебных действий. Для выполнения действий, которые считаются привилегированными, подчиненный интерпретатор может обращаться с запросами к главному. Здесь, очевидно, просматривается аналогия с разделением адресных пространств операционной системы и пользовательских процессов и использованием последними системных вызовов. Подобная модель уже около 30 лет является стандартной для многопользовательских ОС.

 

Существует еще один, довольно очевидный защитный механизм - аутентификация источника программ и контроль их целостности (см. [1], раздел "Рекомендации X.800"). Несомненно, этот механизм нужно использовать, но проблема здесь не столько в системах программирования, таких как Java, сколько в глобальной службе директорий и инфраструктуре сертификатов в стиле X.509. Кроме того, в силу принципа эшелонированности обороны, не следует слепо доверять программам, полученным из надежных источников. Вспомним, что в ОС Unix файлы .rhosts, описывающие "надежные" компьютеры, очень часто используются для злоумышленных действий. Скорее можно представить себе политику безопасности, запрещающую выполнение программ, целостность которых нарушена, но предписывающую одинаково жестко контролировать выполнение всех прочих программ, независимо от источника.

 

Защита Web-серверов

 

Наряду с обеспечением безопасности программной среды (см. Разд. Безопасность программной среды), важнейшим является вопрос о разграничении доступа к объектам Web-сервиса. Для решения этого вопроса необходимо уяснить, что является объектом, как идентифицируются субъекты, и какая модель управления доступом - принудительная или произвольная (см. [1], раздел "Управление доступом") — применяется.

 

В Web-серверах объектами доступа являются универсальные локаторы ресурсов (URL — Uniform (Universal) Resource Locator). За этими локаторами могут стоять различные сущности - html-файлы, CGI-процедуры и т.п.

 

Как правило, субъекты доступа идентифицируются по IP-адресам и/или именам компьютеров и областей управления. Кроме того, может использоваться парольная аутентификация пользователей или более сложные схемы, основанные на криптографических технологиях (см. Разд. Аутентификация в открытых сетях, а также Разд. Secure Sockets Layer (SSL) — протокол защиты коммуникаций и поддерживающие его решения).

 

В большинстве Web-серверов права разграничиваются с точностью до каталогов (директорий) с применением произвольного управления доступом. Могут предоставляться права на чтение html-файлов, выполнение CGI-процедур и т.п.

 

Ниже, в Разд. Разграничение доступа в рамках httpd-сервера, мы рассмотрим механизмы реализации концепции разграничения доступа.

 

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

 

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

 

Примером особенно ненужного файла, подлежащего немедленному удалению, является иллюстративная CGI-процедура phf, входящая в комплект поставки ряда реализаций Web-сервера httpd. Эта процедура позволяет выполнить на сервере произвольную команду (см. [8]), чем уже неоднократно пользовались злоумышленники, в том числе российские.

 

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

 

Аутентификация в открытых сетях

 

Методы, применяемые в открытых сетях для подтверждения и проверки подлинности субъектов, должны быть устойчивы к пассивному и активному прослушиванию сети. В работе [1], раздел "Идентификация и аутентификация", описывается несколько подобных методов, суть которых сводится к следующему:

 

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

 

Методы первой группы детально описаны в статье [7], а второй — в разделе "Идентификация и аутентификация" работы [1].

 

Остановимся чуть подробнее на последнем методе. Идея состоит в том, чтобы пользователь посылал координаты спутников системы GPS (Global Positioning System), находящихся в зоне прямой видимости. Сервер аутентификации знает орбиты всех спутников, поэтому может с большой точностью (порядка метра) определить положение пользователя.

 

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

 

В сетевых конфигурациях необходимо подтверждать подлинность не только партнеров по общению, но и источников данных (см. [1], раздел "Рекомендации X.800"). Для аутентификации источников данных, как правило, используются методы, основанные на механизме электронной подписи и службы сертификатов (сертификаты нужны для доказательства подлинности пары (субъект, открытый ключ)). Упоминавшийся выше протокол SSL предоставляет соответствующие возможности.

 

У аутентификации в сетевой среде, особенно среде клиент/сервер, есть еще одна грань — желательность поддержки концепции единого входа, когда субъект входит не в отдельные системы, а в сеть в целом, доказывая свою подлинность один раз, независимо от того, каким образом он в эту сеть вошел - по протоколу telnet, ftp, с помощью утилиты rlogin и т.п. Как правило, для поддержки концепции единого входа применяются те или иные разновидности системы Kerberos [7], поддерживающие базу данных с информацией о пользователях. Одновременно подобные системы являются средством дополнительной защиты серверов, принадлежащих сети.

 

Виртуальные частные сети

 

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

 

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

 

Любопытно упомянуть, что в мирное время 95% трафика Министерства обороны США передается через сети общего пользования (в частности, через Интернет). В военное время эта доля должна составлять "лишь" 70%. Можно предположить, что Пентагон — не самая бедная организация. Американские военные полагаются на сети общего пользования потому, что развивать собственную инфраструктуру в условиях быстрых технологических изменений — занятие очень дорогое и бесперспективное, оправданное даже для критически важных национальных организаций только в исключительных случаях.

 

Если предположить, что каждый сегмент корпоративной сети защищен межсетевым экраном, возникает следующая картина (см. Рис. 13).

 

Рисунок 13. Организация виртуальной частной сети с помощью межсетевых экранов.

 

 

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

 

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

 

Простота и однородность архитектуры

 

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

 

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

 

На стыке клиентской и серверной частей Интранет-системы находится Web-сервер. Это позволяет иметь единый механизм регистрации пользователей и наделения их правами доступа с последующим централизованным администрированием. Взаимодействие с многочисленными разнородными сервисами оказывается скрытым не только от пользователей, но и в значительной степени от системного администратора. Как указывалось выше, в Разд. Управление доступом путем фильтрации информации (см. Рис. 12), Web-сервис играет интегрирующую роль, делая архитектуру системы на более высоких уровнях простой и однородной. Поучительно сравнить структуру системы клиент/сервер, выстроенной произвольным образом, со структурой при наличии интегрирующего Web-сервиса (Рис. 14).

 

 

Рисунок 14. Структура системы клиент/сервер, выстроенной произвольным образом (а), в сравнении со структурой при наличии интегрирующего Web-сервиса (б).

 

 

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

Защитные средства Интранет

 

Мы переходим к рассмотрению аппаратно-программных решений, которые могут быть использованы для обеспечения информационной безопасности Интранет-систем. Разумеется, к числу абсолютно необходимых принадлежат также меры и методики административного уровня (например, методика разработки политики безопасности) и процедурного уровня (например, инструкции для пользователей и администраторов, регламенты сервисного обслуживания). Тем не менее, эти два уровня мы рассматривать не будем, поскольку соответствующие сведения составляют "ноу-хау" каждой компании, занимающейся информационной безопасностью.

 

Современные комплексные межсетевые экраны

 

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

 

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

 

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

 

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

 

Комплексность FireWall-1 строится "снизу вверх", от сетевого уровня через накопление контекста к прикладному уровню. Gauntlet первоначально создавался как чисто прикладной экран, то есть он шел к комплексности "сверху вниз". Наконец, SunScreen строился в первую очередь для поддержки частных виртуальных сетей, однако сейчас он превосходно справляется и с чисто фильтрационными обязанностями. Подобная конвергенция — свидетельство зрелости технологии, когда общепринятым, стандартным становится весьма высокий уровень, а конкуренция переносится в новые области, на новые высоты.

 

Сделаем небольшое замечание. Межсетевые экраны — наиболее проработанное защитное средство Интернет/Интранет, решающее сразу несколько задач, поэтому в данное работе мы уделяем им наибольшее внимание. Подчеркнем, однако, что обеспечение безопасности Интранет-систем не сводится к расстановке межсетевых экранов. Необходим комплекс мер разного уровня — от административного до программно-технического.

 

FireWall-1 компании Check Point

 

FireWall-1 — это программный продукт компании Check Point Software Technologies (распространяемый также некоторыми другими компаниями, например, SunSoft). В основе FireWall-1 лежит технология многоуровневой фильтрации с формированием и анализом состояния сетевых соединений, обеспечивающая надежную защиту в сочетании с высокой эффективностью и полной прозрачностью для легальных пользователей. Эта технология дополнена средствами централизованного администрирования (конфигурирования, анализа и аудита) защитных механизмов, а также логически замкнутым набором криптографических средств.

 

FireWall-1 состоит из двух основных компонентов:

 

  • управляющий модуль;
  • экранирующий модуль.

 

Далее мы рассмотрим (применительно к версии 2.1 программного продукта) функции каждого из модулей.

 

Управляющий модуль FireWall-1

 

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

 

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

 

Конфигурирование FireWall-1 начинается с описания объектов, которые межсетевой экран должен защищать. В число объектов входят хосты (компьютеры с одним сетевым интерфейсом), шлюзы (компьютеры с несколькими сетевыми интерфейсами), маршрутизаторы, сети, области управления. Каждый объект имеет набор атрибутов, таких как сетевой адрес, маска подсети и т.п. Часть этих атрибутов следует задать вручную, остальные автоматически извлекаются из информационных баз — NIS/NIS+, SNMP MIB, DNS.

 

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

 

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

 

Используемый сетевой сервис является компонентом правил фильтрации наряду с исходным и целевым адресом. Прежде чем использовать сервис при задании правил, необходимо определить его свойства. FireWall-1 содержит предварительно подготовленные определения всех стандартных TCP/IP-сервисов, разбитых на четыре категории — TCP, UDP, RPC, ICMP. Пятая категория, "Others", оставлена для нестандартных сервисов. В подавляющем большинстве случаев она остается пустой.

 

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

 

RPC-сервисы сложны для фильтрации из-за переменных номеров используемых портов. FireWall-1 отслеживает RPC-трафик, выявляя запросы к функции portmapper и извлекая из ответов выделенные номера портов.

 

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

 

Каждое правило состоит из следующих полей:

 

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

 

Рассмотрим пример. Пусть имеется конфигурация, приведенная на Рис. 15. Локальная сеть (localnet) должна предоставлять вовне только почтовый сервис. В то же время, пользователи локальной сети могут пользоваться всеми сетевыми сервисами, внутренними и внешними. В экранирующей подсети (dmz) располагаются общедоступные серверы http и ftp; сами эти серверы не должны выступать в роли инициаторов сетевых контактов. Авторизованным пользователям, располагающимся во внешней сети, разрешен удаленный доступ в локальную сеть. Наконец, следует позаботиться о том, чтобы экранирующий шлюз был прозрачен для сетевого трафика, то есть чтобы он не мог выступать в роли отправителя или получателя сетевых пакетов. Результирующий набор правил изображен на Рис. 16.

 

 

Рисунок 15. Конфигурация с локальной сетью и экранирующей подсетью.

 

 

Рисунок 16. Набор правил для защиты конфигурации на Рис. 15.

 

 

 

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

 

Наконец, база правил преобразуется в текст на языке Inspect, а затем выполняется компиляция, результат которой передается на все объекты, вовлеченные в процесс фильтрации.

 

Экранирующий модуль FireWall-1

 

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

 

Экранирующий модуль решает три основные задачи:

 

  • фильтрация сетевого трафика;
  • протоколирование информации и возбуждение сигналов тревоги;
  • шифрование/дешифрование информации.

 

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

 

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

 

Экранирующий модуль FireWall-1 способен выполнять еще одну, очень важную функцию — трансляцию сетевых адресов. Подобная трансляция не только уменьшает потребность в легальных IP-адресах (в пределах защищаемой сети могут использоваться по существу произвольные адреса, которые при выходе во внешние сети преобразуются и попадают в диапазон, выделенный данной организации), но и скрывает топологию защищаемой сети, что существенно затрудняет действия злоумышленников.

 

Защита коммуникаций между внешним клиентом и корпоративной сетью

 

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

 

SunScreen компании Sun Microsystems

 

SunScreen — это семейство продуктов компании Sun Microsystems (точнее, ее подразделения — Internet Commerce Group), предназначенное в первую очередь для организации частных виртуальных сетей. Наиболее известным членом семейства является SunScreen SPF-100.

 

Аппаратно-программная организация SunScreen SPF-100

 

Аппаратная платформа SunScreen SPF-100 представляет собой специализированный SPARC-сервер с микропроцессором MicroSPARC-II и четырьмя сетевыми интерфейсами. Операционной платформой служит вариант ОС Solaris, в котором оставлены только функции, необходимые для работы SunScreen.

 

Для администрирования SunScreen SPF-100 используется отдельный компьютер на Intel-платформе с ОС MS-Windows. Этот компьютер снабжается защищенным устройством для хранения криптографических ключей.

 

Средства SunScreen для организации виртуальных частных сетей

 

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

 

При проектировании и реализации семейства продуктов SunScreen принят подход, основанный на применении криптографических средств на IP-уровне. Прежде всего, для выработки так называемого парного криптографического ключа, обслуживающего взаимодействие двух абонентов (точнее, двух устройств SunScreen, защищающих сегменты, к которым принадлежат эти абоненты), применяется алгоритм Диффи-Хеллмана. Открытый ключ второй стороны извлекается из заверенного сертификата, имеющего структуру, описанную стандартом X.509. Internet Commerce Group поддерживает службу сертификационных центров по всей территории США; предполагается, что со временем эта служба станет всемирной. Таким образом, SunScreen — это не только семейство аппаратно-программных продуктов, это еще и набор услуг по поддержанию глобальной базы данных сертификатов.

 

Шифрование IP-пакета выполняется следующим образом. Сторона-отправитель вырабатывает случайный ключ, шифрует с его помощью пакет (при этом могут быть применены различные алгоритмы симметричного шифрования), шифрует случайный ключ с помощью парного, присовокупляет результат к зашифрованному пакету и помещает полученное содержимое в новый IP-пакет, направляемый устройству SunScreen, обслуживающему получателя. Там первоначальный пакет извлекается, расшифровывается и передается адресату.

 

Пакет может не только шифроваться, но и подписываться электронной подписью отправителя (по алгоритму RSA); это обеспечивает контроль целостности и аутентичности.

 

За счет того, что защищаемый трафик помещается в IP-пакеты, адресуемые устройствам SunScreen, реализуется еще одна важная защитная функция — сокрытие топологии сегментов корпоративной сети.

 

Протокол SKIP и его реализации

 

Стратегия управления криптографическими ключами, которую предложил Ashar Aziz, получила название SKIP - Simple Key-Management for Internet Protocol. Этот протокол может использоваться (и уже используется) не только в устройствах SunScreen, но и в универсальных компьютерах, прежде всего на клиентских рабочих местах. В настоящее время SKIP вынесен на рассмотрение сообщества Интернет (точнее, организации Internet Engineering Task Forse, ведающей стандартизацией в Интернет).

 

Применение программной реализации SKIP на клиентских рабочих местах позволяет защитить коммуникации между внешними пользователями (например, мобильными) и корпоративной сетью. При этом клиент общается с устройством SunScreen, защищающим соответствующий сегмент сети. Отметим, что для клиентских приложений программное обеспечение SKIP оказывается полностью прозрачным; каких-либо переделок не требуется.

 

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

 

Средства межсетевого экранирования в SunScreen

 

В устройствах SunScreen применяется многоуровневая фильтрация с формированием и анализом состояния сетевых соединений. Такой подход, как мы уже отмечали при рассмотрении продукта FireWall-1, позволяет обеспечить надежную фильтрацию всех протоколов семейства TCP/IP.

 

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

 

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

 

Средства администрирования SunScreen-конфигураций

 

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

 

Gauntlet компании Trusted Information Systems

 

Основой семейства межсетевых экранов Gauntlet компании Trusted Information Systems является свободно распространяемый в исходных текстах инструментарий TIS Internet Firewall Toolkit, ставший фактическим стандартом реализации так называемых серверов-агентов, осуществляющих экранирование на прикладном уровне.

 

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

 

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

 

Принципы разработки и архитектура Gauntlet

 

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

 

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

 

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

 

Еще один очень важный принцип — принцип "прозрачного ящика". Тексты инструментария TIS FWTK общедоступны. Исходные тексты Gauntlet Internet Firewall входят в комплект поставки. Длительная проверка текстов большим количеством независимых экспертов позволяет практически исключить наличие "закладок" или серьезных брешей в защите.

 

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

 

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

 

Обслуживаемые сервисы

 

Семейство продуктов Gauntlet обслуживает следующие сервисы прикладного уровня:

 

  • терминальные сервисы;
  • передача файлов;
  • электронная почта;
  • Web-сервис;
  • сетевая печать

 

и ряд других. Имеется также обобщенный сервер-агент, обслуживающий несложные сервисы и облегчающий написание новых экранирующих программ. Входящие в комплект Gauntlet реализации сервера службы имен и почтового шлюза обеспечивают сокрытие внутренних имен и адресов.

 

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

 

Поддержка виртуальных частных сетей

 

В семействе Gauntlet поддержка виртуальных частных сетей реализована за счет использования криптографических средств на IP-уровне. Для шифрования могут использоваться алгоритм DES или программная реализация составных ключей. Последняя обладает высокой криптостойкостью и разрешена к экспорту из США.

 

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

 

Продукт Gauntlet PC Extender предназначен для установки на компьютерах мобильных пользователей. Он обеспечивает защиту коммуникаций между клиентом и корпоративной сетью прозрачным для приложений образом.

 

Проверка подлинности пользователей

 

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

 

Администрирование Gauntlet

 

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

 

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

 

3.1.3.6. Изменения, вносимые в операционную систему

 

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

 

  • прозрачность межсетевого экрана;
  • шифрование на сетевом уровне;
  • связывание допустимых сетевых адресов с сетевыми интерфейсами и обнаружение попыток подделки адресов;
  • экранирование на сетевом уровне (используется в Gauntlet Intranet Firewall);
  • защита от попыток изменения правил маршрутизации

 

и ряд других. В результате Gauntlet стал действительно комплексным межсетевым экраном.

 

Новые возможности межсетевых экранов

 

Мы уже указывали, что разработчики межсетевых экранов продолжают поднимать планку конкуренции. Так, в конце 1996 года должна стать доступной версия 3 межсетевого экрана компании Check Point. Среди новых возможностей, появившихся в этой версии, отметим следующие:

 

  • возможность антивирусного контроля "на лету";
  • возможность фильтрации (верификации байт-кодов) Java-аплетов;
  • возможность выполнения функций программного обеспечения промежуточного слоя.

 

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

 

Еще одна очень важная инициатива компании Check Point - выработка концепции единой открытой платформы для обеспечения сетевой безопасности (Open Platform For Secure Enterprise Connectivity, OPSEC). Основой платформы является набор открытых программных интерфейсов к средствам разграничения доступа, проверки подлинности, протоколирования и аудита, криптографии, трансляции адресов, контроля содержимого потоков данных. Достоинства идеологии открытых систем общепризнаны, поэтому распространение этой идеологии на межсетевое экранирование следует всячески приветствовать.

 

Secure Sockets Layer (SSL) — протокол защиты коммуникаций и поддерживающие его решения

 

Одним из важнейших фактических стандартов, обеспечивающих информационную безопасность в Интранет и Интернет, является протокол Secure Sockets Layer (SSL, см. [6]), разработанный специалистами компании Netscape Communications и поддержанный многими крупнейшими производителями программного обеспечения, такими как Microsoft и IBM.

 

Этот протокол можно отнести к сеансовому (пятому) уровню эталонной модели ISO/OSI, то есть он располагается выше транспортного, но ниже прикладного уровня. Для приложений, опирающихся на SSL, обеспечивается аутентификация пользователей и компьютеров (без передачи имен и паролей в открытом виде), а также целостность и конфиденциальность пересылаемой по сети информации, поддерживается концепция единого входа в информационную систему (когда не надо доказывать свою подлинность каждому серверу в отдельности). Такими приложениями могут быть, например, сервисы HTTP, FTP, SMTP.

 

В основе протокола SSL лежит использование общепризнанных криптографических решений, таких как алгоритмы RSA, DES, MD5 и сертификаты, соответствующие спецификациям X.509. В то же время, протокол достаточно гибок и допускает применение специфических методов шифрования, например, ГОСТ 28147-89.

 

Поддержка SSL и ассоциированных протоколов — SET (Secure Electronic Transactions) и S/MIME (Secure Multipart Internet Mail Encoding) — встроена по существу во все продукты компании Netscape Communications. Так, Netscape Navigator обеспечивает проверку подлинности Web-сервера, контроль целостности и шифрование сообщений, пересылаемых между клиентами и сервером, причем при установлении контакта алгоритм шифрования может быть выбран по взаимному согласию.

 

Семейство серверов Netscape SuiteSpot, включающее такие продукты, как Netscape Enterprise Server, Netscape News Server и Netscape Mail Server, позволяет ассоциировать сертификаты клиентов с элементами базы управления доступом. Это упрощает пользовательские действия, поскольку пользователю достаточно войти в свой экземпляр Netscape Navigator, который будет в дальнейшем автоматически вырабатывать и пересылать пользовательские сертификаты. Упрощаются и действия системного администратора, так как вместо того, чтобы поддерживать списки управления доступом на каждом сервере, он может разграничивать доступ в соответствии с тем, какой центр выдал сертификат данного пользователя.

 

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

 

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

 

Java — безопасная программная среда для создания распределенных приложений

 

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

 

  • надежность языка;
  • контроль при получении программ;
  • контроль при выполнении программ.

 

Говоря о надежности языка Java, следует указать следующие особенности:

 

  • Разграничение доступа к компонентам (переменным и методам) объектов. Здесь имеются в виду не только ключевые слова public, protected и private, но и описатель final, обозначающий запрет переопределения (наследования).
  • Полный контроль типов. Можно гарантировать, что статический (заданный при компиляции) тип переменной и тип ее значения (определяемый, возможно, при выполнении) совместимы между собой, то есть небезопасные преобразования типов исключены.
  • Отсутствие указателей. Это свойство делает невозможным целый класс случайных и преднамеренных ошибок, связанных с адресной арифметикой и с доступом к одному объекту посредством разных ссылок.
  • Отсутствие средств явного освобождения памяти. Автоматический сбор мусора гарантирует, что не появятся висячие ссылки и дважды занятые блоки памяти. Отметим, что поиск (и даже простое воспроизведение) подобных ошибок всегда был очень трудным и долгим делом.
  • Наличие механизма пакетов. Этот механизм позволяет поддерживать деление пространства имен. В частности, пространство имен локальных программ отделено от пространства имен программ, загруженных по сети. Порядок просмотра этих пространств при разрешении внешних ссылок гарантирует, что загружаемая программа не сможет "заслонить" библиотечные или локальные объекты.

 

Контроль при получении программ заключается в проверке (верификации) байткодов — представления программ, интерпретируемого Java-машиной. Очевидно, что полученная по сети программа может быть изменена злоумышленником и не являться результатом работы Java-компилятора.

 

Верификатор байткодов, кроме общей проверки формата поступившей информации, пытается убедиться в отсутствии следующих некорректных действий:

 

  • подделка указателей (например, получение указателя как результат выполнения арифметической операции);
  • нарушение прав доступа к компонентам классов (например, присваивание переменной, снабженной описателем final);
  • использование объектов в каком-либо другом качестве (например, применение к объекту метода другого класса);
  • вызов методов объектов с недопустимым набором параметров;
  • недопустимое преобразование типов;
  • вызов операции Java-машины с недопустимым набором параметров;
  • некорректная операция с регистрами Java-машины (например, запись регистра с неопределенным содержимым);
  • переполнение или исчерпание стека.

 

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

 

Чтобы обеспечить безопасное выполнение программ, которые могут осуществлять доступ к локальным файлам и другим ресурсам, в Java-системе используется менеджер безопасности.

 

Менеджер безопасности представляет собой объект, методы которого проверяют согласованность производимых запросов с политикой безопасности. Стандартная Java-среда содержит абстрактный класс SecurityManager, определяющий программный интерфейс с менеджером безопасности. Среди методов этого класса — checkAccess, checkRead, checkWrite, checkExec и т.п. В свою очередь, библиотечные функции содержат вызовы методов класса SecurityManager. Если некоторое действие разрешено, метод завершается обычным образом. В противном случае возбуждается исключительная ситуация SecurityException.

 

Подразумеваемая реализация методов checkXxx предельно проста:

 

public void checkXxx (...) {

 

throw new SecurityException ();

 

}

 

Иными словами, создатели языка Java предлагают придерживаться принципа "все, что не разрешено, запрещено". В приложении можно переопределить некоторые методы класса SecurityException, заставив их действовать более избирательно. В Листинг 1 приведен пример подобного переопределения, когда доступ к файлам открывается с помощью пароля.

 

Листинг 1

 

 

 

Менеджер безопасности — чрезвычайно гибкое средство. Очевидно, что в процедурном виде можно выразить любую практически полезную политику безопасности. Дело лишь за корректной реализацией в приложении методов класса SecurityManager.

 

Следует осознавать границу между концепцией безопасности в языке Java и реализацией Java-среды. Если полнота и непротиворечивость концепции в настоящее время считаются общепринятыми (см., например, [4]), то ошибки реализации продолжают обнаруживаться. Впрочем, происходит это не очень часто, ошибки быстро исправляются, а их практическое использование в злоумышленных целях сопряжено со значительными техническими трудностями. Каждая организация должна взвесить все "за" и "против" использования Java в своих Интранет-системах. На наш взгляд, достигнутый в Java уровень безопасности можно считать вполне удовлетворительным. Едва ли Java окажется самым слабым звеном.

 

Разграничение доступа в рамках httpd-сервера

Web-серверы httpd, реализованные Национальным центром суперкомпьютерных приложений (National Center for Supercomputing Applications, NCSA) и совместимые с ними серверы Apache, являются, по-видимому, самыми распространенными в Интернет. В этой связи поучительно рассмотреть, как в них реализовано разграничение доступа.

 

В этих серверах разграничение производится с точностью до каталога (директории) документов. В конфигурационный файл, ведающий правами доступа (обычно это access.conf), помещают директивы Directory, задающие имена каталогов, перечень разрешенных действий и список авторизованных субъектов. Пример:

 

<Directory /usr/local/http/docs>

 

<Limit GET>

 

order deny, allow

 

deny from all

 

allow from .jet.msk.su

 

</Limit>

 

</Directory>

 

Данная директива разрешает доступ к каталогу /usr/local/http/docs только пользователям из области управления jet.msk.su. Этим пользователям разрешено получение файлов и выполнение CGI-процедур.

 

В директиве Directory можно задавать опции, управляющие поведением сервера при обслуживании соответствующих каталогов. Например, директива AllowOverride позволяет в пределах каталога отменять действие централизованного конфигурационного файла и задавать права в локальном файле .htaccess. Такая возможность в полной мере реализует концепцию произвольного доступа, со всеми достоинствами в виде гибкости и недостатками в виде потенциальной потери управляемости и создания слабостей.

 

Сервер httpd допускает защиту отдельных каталогов с помощью паролей. Это значит, что при попытке доступа пользователь увидит форму, предлагающую ввести входное имя и пароль. Регистрация пользователей и их паролей реализована по образцу ОС Unix, однако следует понимать, что у Web-сервера и ОС Unix разные базы пользователей, никакого отношения друг к другу не имеющие.

 

Приведем пример директивы Directory, которая предусматривает ограничения нескольких видов на доступ к указанному каталогу.

 

<Directory /usr/local/http/docs/secret>

 

AuthUserFile /etc/http/htpasswd

 

AuthGroupFile /etc/http/htgroup

 

AuthName Jet AuthType Basic

 

<Limit GET>

 

order deny, allow

 

deny from all

 

allow from .jet.msk.su

 

require user juser1 juser2

 

require group jetgrp1

 

</Limit>

 

</Directory>

 

Директивы AuthUserFile и AuthGroupFile задают расположение файлов паролей и групп для данного каталога. AuthName определяет имя так называемой области управления разграничением доступа. Пользователь увидит текст "Jet" и поймет, куда его приглашают войти; в пределах области управления Web-навигатор поддерживает концепцию единого входа - он автоматически передает пользовательские имя и пароль при всех попытках доступа (кроме первой) к документам из этой области.

 

Директива AuthType задает тип процедуры аутентификации. На момент написания статьи серверы httpd поддерживали только Unix-пароли (тип Basic), что, конечно, нельзя назвать достоинством, особенно с учетом многократной передачи этих паролей.

 

Директивы require user и require group накладывают дополнительные ограничения на доступ к каталогу secret. Мало быть зарегистрированным в файле htpasswd, необходимо еще иметь имя juser1 или juser2, либо входить в группу jetgrp1. Тем самым идея произвольного управления доступом получает дальнейшее развитие.

 

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

 

Options Includes

 

помещенная внутри конструкции <Directory>, разрешает интерпретацию включаемых файлов в указанном каталоге. Внутри включаемых файлов могут встречаться вызовы командного интерпретатора и CGI-процедур. Это позволяет динамически порождать выходные документы, но, очевидно, требует обеспечения безопасности программной среды.

 

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

 

Средства аутентификации в открытых сетях

 

Как указывалось выше (см. Разд. Аутентификация в открытых сетях), в сетевой среде проблема проверки подлинности пользователей имеет два аспекта:

 

  • обеспечение устойчивости к пассивному и активному прослушиванию сети;
  • поддержка концепции единого входа в сеть.

 

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

 

Системы, основанные на использовании одноразовых паролей

 

Наиболее известным программным генератором одноразовых паролей является система S/KEY компании Bellcore. Идея этой системы состоит в следующем. Пусть имеется односторонняя функция f (то есть функция, вычислить обратную к которой за приемлемое время не представляется возможным). Эта функция известна и пользователю, и серверу аутентификации. Пусть, далее, имеется секретный ключ K, известный только пользователю.

 

На этапе начального администрирования пользователя функция f применяется к ключу K n раз, после чего результат запоминается на сервере. После этого процедура проверки подлинности пользователя выглядит следующим образом:

 

  • сервер присылает на пользовательскую систему число (n-1);
  • пользователь применяет функцию f к секретному ключу K (n-1) раз и отправляет результат по сети на сервер аутентификации;
  • сервер применяет функцию f к полученному от пользователя значению и сравнивает результат с ранее сохраненной величиной. В случае совпадения подлинность пользователя считается установленной, сервер запоминает новой значение (присланное пользователем) и уменьшает на единицу счетчик (n).

 

На самом деле реализация устроена чуть более сложным образом (кроме счетчика, сервер посылает затравочное значение, используемое функцией f), но для нас сейчас это не имеет значения. Поскольку функция f необратима (в эталонной реализации применяется стандартная хэш-функция MD5), перехват пароля, равно как и получение доступа к серверу аутентификации, не позволяют узнать секретный ключ K и предсказать следующий одноразовый пароль.

 

В настоящее время система S/KEY приобрела статус Интернет-стандарта (см. [9]).

 

Другой подход к надежной аутентификации демонстрирует компания Security Dynamics, предлагающая целый спектр программных и аппаратных решений. В основе этого подхода - генерация нового пароля каждые 60 секунд. С практической точки зрения такие пароли можно считать одноразовыми.

 

Пользователь, желающий доказать какой-либо системе свою подлинность, посылает свой идентификационный код и сгенерированный программно (программа SoftID) или аппаратно (карточки SecurID) одноразовый пароль. Для обеспечения повышенной защищенности могут применяться карточки SecurID PINPAD. Они снабжены цифровой клавиатурой, на которой пользователь набирает свой код, тот упаковывается вместе с одноразовым паролем и в таком защищенном виде (называемом PASSCODE) передается по сети.

 

Получив идентификационную и аутентификационную информацию, система может, посредством программного компонента ACE/Server Client, переслать ее серверу аутентификации ACE/Server, который и определяет подлинность пользователя.

 

На Рис. 17 приведена структура сетевой системы, аутентификацию в которой выполняет ACE/Server.

 

Рисунок 17. Архитектура системы аутентификации компании Security Dynamics.


 

Следует отметить, что карточки SecurID поддерживаются практически на всех аппаратно-программных платформах и во многих приложениях. Например, эти карточки (как, впрочем, и программа S/KEY) являются одним из возможных вариантов проверки подлинности администраторов при доступе к межсетевым экранам.

 

Средства единого входа в сеть

 

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

 

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

 

Система SeOS (Security for Open Systems — безопасность для открытых систем) разработана в компании Memco Software. В рамках единой базы пользователей SeOS позволяет гибко управлять такими параметрами доступа, как разрешенные часы работы и способ доступа. SeOS контролирует качество паролей, поддерживает одноразовые пароли и аутентификационные карточки, блокирует неиспользуемые идентификаторы пользователей, следит за сроком годности временных имен и т.д.

 

SeOS осуществляет еще одну, очень важную для Unix-систем функцию — контролирует права доступа пользователя root, лишая того абсолютной власти. Учитывая это обстоятельство, компания Check Point заключила с Memco соглашение о встраивании возможностей SeOS в FireWall-1 с целью повышения собственной защищенности последнего.

 

Другим популярным средством поддержки единого входа является система BoKS компании DynaSoft. Функционально она близка к SeOS, однако использует для аутентификации не Kerberos, а RSA-ключи и сертификаты в стандарте X.509 (и вообще опирается на асимметричные криптографические методы). Отметим, что BoKS поддерживает аутентификационные карточки SecurID и может содержать в качестве дополнительного компонента ACE/Server компании Security Dynamics.

 

Система BoKS стала основой нового продукта компании SunSoft — Solstice Security Manager. Несомненно, стратегический союз двух компаний позволит сделать операционную среду Solaris еще более мощным и удобным инструментом сетевого администрирования. Кроме того, пользователи Sun-систем будут избавлены от поисков сторонних продуктов усиления безопасности.

 

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

 

Средства протоколирования и аудита в рамках сетевых конфигураций

 

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

 

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

 

Семейство продуктов компании Haystack Labs

 

Одним из продвинутых средств протоколирования и аудита является семейство продуктов компании Haystack Labs, способных функционировать в сетях, построенных на основе Unix-серверов. Мы рассмотрим два члена этого семейства - Stalker и WebStalker Pro.

 

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

 

Misuse Detector способен отвечать на вопросы типа:

 

  • не ищет ли кто-то слабости в сети посредством инструментов класса SATAN?
  • не стал ли кто-то суперпользователем посредством нелегальных действий?

 

и т.п. Компания постоянно пополняет свою базу знаний.

 

Подсистема Tracer/Browser позволяет просматривать регистрационные журналы через набор фильтров, отбирая тем самым только нужную в данный момент информацию. Это напоминает организацию конвейеров, являющихся одним из самых мощных средств ОС Unix. С помощью данной подсистемы администратор безопасности может быстро найти ответы на интересующие его вопросы, например:

 

  • кто прочитал письма начальника?
  • что произошло прошлой ночью на сервере СУБД?
  • входили ли в сеть внешние пользователи?

 

и т.п. На Рис. 18 представлен отчет о нелегальном прочтении электронной почты.

 

Рисунок 18. Отчет о нелегальном прочтении электронной почты.

 

 

Подсистема Audit Control служит для централизованного администрирования протоколирования и аудита на всех компьютерах сети, а подсистема Storage Manager — для контроля за расходованием памяти под регистрационные журналы.

 

Отдельный пакет Stalker for Firewalls позволяет следить за функционированием межсетевых экранов (внешних и внутренних). Это повышает собственную защищенность экранов.

 

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

 

Продукт WebStalker Pro предназначен для слежения за работой Web-серверов. В основе реализации данного продукта лежит тот же подход, что и в системе Stalker — использование базы знаний для выявления подозрительной активности. Впрочем, некоторые вещи, такие как несанкционированная остановка Web-сервера или, напротив, запуск лишнего процесса, могут выявляться более простыми средствами. При обнаружении подозрительной активности или выявлении нарушения целостности программ или данных WebStalker Pro способен выполнить следующие действия:

 

  • зафиксировать события, обратившись к syslog;
  • терминировать нелегальный процесс;
  • перезапустить Web-сервер;
  • послать сообщение Web-мастеру

 

и т.д. WebStalker Pro поддерживает, пожалуй, все популярные реализации Web-серверов, он способен функционировать на различных вариантах ОС Unix и Windows NT.

 

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

 

Семейство продуктов AXXiON компании OpenVision

 

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

 

Система AXXiON-Authorize предназначена для усиления защиты Unix-систем за счет более развитых (по сравнению со стандартными) средств контроля доступа. AXXiON-Authenticate — продукт, реализующий концепцию единого входа в сеть на основе системы Kerberos.

 

AXXiON-SecureMax — средство аудита в рамках сетевых конфигураций, включающих операционные платформы Unix, Windows NT и OpenVMS. AXXiON-SecureMax позволяет задать пороговые значения различных параметров, описывающих поведение подобных конфигураций, и затем с одной, центральной консоли контролировать работу всех систем. В число контролируемых параметров могут входить пароли (нет ли среди них слабых?), неиспользуемые идентификаторы пользователей, размеры очередей к устройствам и сервисам, сетевые характеристики. Может проверяться целостность файловых систем. Иными словами, AXXiON-SecureMax позволяет в довольно естественной форме выразить многие аспекты политики безопасности, а затем контролировать проведение этой политики в жизнь.

 

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

 

Интеграция с AXXiON-Authenticate позволяет проводить удаленное администрирование узлов сети, а криптографические средства — защищать административные потоки данных, в том числе содержащие регистрационную информацию.

 

В совокупности AXXiON-Authorize, AXXiON-Authenticate и AXXiON-SecureMax близки по функциональности к рассмотренным выше системам SeOS и BoKS. Еще раз отметим, что на сегодняшний день существует довольно большой выбор высококлассных средств обеспечения информационной безопасности Интранет-систем. Важно "только" грамотно интегрировать эти средства, а для этого необходимо, во-первых, видеть все грани проблемы "безопасность в Интранет" и, во-вторых, представлять себе весь спектр доступных защитных ресурсов, причем не только программно-технических.

 

Заключение

 

Задача обеспечения информационной безопасности в Интранет оказывается более простой, чем в случае произвольных распределенных систем, построенных в архитектуре клиент/сервер. Причина тому — однородность и простота архитектуры Интранет. Если разработчики прикладных систем сумеют в полной мере воспользоваться этим преимуществом, то на программно-техническом уровне им будет достаточно нескольких недорогих и простых в освоении продуктов. Правда, к этому необходимо присовокупить продуманную политику безопасности и целостный набор мер процедурного уровня.

 

Литература

 

  1. Владимир Галатенко -- Информационная безопасность -- Jet Info, 1-3
  2. Стивен Теллин -- The IntraNet infrasturture: managing information in the new paradigm - architecting a support structure for content life cycle management -- Amdahl Corporation, June 1996
  3. Александр Таранов , Владимир Цишевский -- Java как центр архипелага -- Jet Info, 9, 1996
  4. J Lowe -- How Safe Are Applets? -- NetscapeWorld, 1996, August
  5. Solstice FireWall-1 Administrator's Guide -- SunSoft, 1996
  6. T. Elgamal , F Chen -- Securing Communicatios on the Intranet and over the Internet -- Netscape Communications Corporation, 1996, June
  7. Надежда Вьюкова , Владимир Галатенко -- Сервер аутентификации Kerberos -- Jet Info, 12-13, 1996
  8. CERT(sm) Summary CS-96.6 , November 26, 1996
  9. N. Haller -- A One-Time Password System -- Request for Comments: 1938, May 1996

Читайте также

Shadow IT: угроза из тени

Уведомления об обновлении тем – в вашей почте

«Без пилотирования мы ничего не внедряем. Это внутреннее табу»: информационная безопасность в «РусГидро»

Повлиял ли кризис на ИБ-стратегию «РусГидро»? Как холдинг участвует в разработке российских ИБ-продуктов? Почему внутренние компетенции лучше аутсорсинга?

Аудит информационных систем

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

Краткий обзор «новинок» законодательства в сфере ИБ

Новые рекомендации регуляторов и для кого они актуальны? Детали Указа Президента РФ № 250.

Информационная безопасность - обзор основных положений. Часть 3

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

5000 слов о защите контейнеров

Функциональные ИБ-требования для защиты контейнеров. Как выбрать оптимальное решение? Перечень Enterprise и Open Source инструментов для защиты.

Новые приоритеты в информационной безопасности США

Трагические события, которые произошли в США 11 сентября 2001 года и повергли в шок весь мир, вновь напомнили человечеству об обратной стороне технического прогресса. Варварские террористические акты, совершенные группой террористов-смертников ...

Создание сетевой инфраструктуры Интранет

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

«Самое страшное уже позади, а самое сложное — впереди»: угрозы 2022 глазами Jet CSIRT

Динамика роста ИБ-инцидентов за последние месяцы? Кто стоит за этими киберпреступлениями? Что делать, чтобы подготовиться к актуальным угрозам?

Пентест CRM: как шкатулка с секретами превращается в ящик Пандоры

«Ширли-мырли» в CRM. Про недостатки в управлении пользовательскими сессиями: неограниченное время жизни, неконтролируемый выпуск токенов, отсутствие механизма отзыва и др. Конь троянский. Недостатки, связанные с загрузкой файлов и получением доступа к ним (от классической загрузки шелла и хранимой XSS в файле аватарки (SVG) до кейсов с S3 и CDN). Так и запишем. Чрезмерное и небезопасное логирование. К чему приводит бесконтрольная запись действий пользователя.

Спасибо!
Вы подписались на обновления наших статей
Предложить
авторский материал





    Спасибо!
    Вы подписались на обновления наших статей
    Подписаться
    на тему







      Спасибо!
      Вы подписались на обновления наших статей
      Оформить
      подписку на журнал







        Спасибо!
        Вы подписались на обновления наших статей
        Оформить
        подписку на новости







          Спасибо!
          Вы подписались на обновления наших статей
          Задать вопрос
          редактору








            Оставить заявку

            Мы всегда рады ответить на любые Ваши вопросы

            * Обязательные поля для заполнения

            Спасибо!

            Благодарим за обращение. Ваша заявка принята

            Наш специалист свяжется с Вами в течение рабочего дня