Введение
Gatekeeper
Общие принципы
Идентификация и проверка подлинности
Требования к защите для надежных машин
Требования к безопасности Gatekepeer'а
Заключение

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

Введение

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

  • "привратник" (gatekeeper), технический элемент для защиты сети от внешних воздействий. Его составляют по крайней мере один Gatekeeper-маршрутизатор и одна UNIX-машина - Gatekeeper-сервер;
  • защищаемые системы сети. Они подразделяются на две категории: надежные машины, которым Gatekeeper гарантирует определенный уровень надежности, и ненадежные машины, не получающие никаких гарантий;
  • специальное матобеспечение Gatekeeper-сервера. В нашем случае его составляют демоны telnet и ftp, используемые при обслуживании взаимодействия ненадежных машин с внешней средой;
  • набор из 5 документов: спецификация архитектуры, руководства по требованиям к защите для надежных машин, сборник тестов для контроля выполнения этих требований, руководства по требованиям к защите для Gatekeeper'а, сборник тестов для контроля требований к Gatekeeper'у.

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

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

Пользователь может связаться с Gatekeeper'ом только двумя способами:

  • Если источником или пунктом назначения является надежная машина, Gatekeeper-маршрутизатор формирует соответствующую датаграмму.
  • Во всех случаях пользователя необходимо идентифицировать при помощи Gatekeeper-сервера, посредством серверов telnet/ftp.

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

Gatekeeper

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

В предлагаемой архитектуре обрабатываются ситуации, в которых не только выделенные системы ("надежные машины") имеют свободный (или почти свободный) доступ во внешнюю среду, но, благодаря процедурам обслуживания Gatekeeper'а, и все остальные могут выходить во внешнюю сеть. Класс системы при этом не имеет значения; ею является и отдельный персональный компьютер (который вообще не может быть надежным), и машина, в незащищенном режиме выполняющая такие функции, как telnet или ftp.

Gatekeeper состоит из маршрутизатора со сложными средствами управления пакетами и сервера - UNIX-машины, желательно, работающей под Berkeley UNIX. Они соединены посредством Ethernet.

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

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

Gatekeeper обеспечивает пользователям достаточный IP-сервис, чтобы они связывались с Internet не самостоятельно, а через процедуры обслуживания Gatekeeper'а.

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

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

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

Требования и руководящие принципы, сформулированные для Gatekeeper'а, относятся к следующим вопросам:

  • физическая защита Gatekeeper;
  • характеристики систем Gatekeeper и администраторов сети;
  • администрирование Gatekeeper-сервера;
  • защита Gatekeeper-сервера от доступа из сети.

Разработаны требования для каждой процедуры обслуживания:

  • программы маршрутизации IP, TFTP для Gatekeeper-маршрутизатора, электронная почта SMTP для межсетевого интерфейса, X11, процедура обслуживания идентификации и аутентификации для telnet и ftp и т.д.;
  • администрирование и управление Gatekeeper-маршрутизатором;
  • регистрация различных ситуаций работы;
  • обработка конфликтов, возможная переконфигурация Gatekeeper'а
  • дублирование и архивация.

Общие принципы

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

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

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

Не торопитесь с подключением к Internet, если Вы не готовы к этому. Выработка политики безопасности требует времени. Тестовый период позволяет подтвердить качество работы Gatekeeper. В течение этого периода внутренняя сеть не соединяется с другими, кроме фиктивных внутренних сетей с фиктивными машинами. Одновременно можно начать проверку машин, запросивших согласие на получение статуса надежных, так, чтобы сразу же по завершении тестирования Gatekeeper'а их можно было бы подключить к внешним сетям.

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

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

Как уже говорилось пользователь может связаться с Gatekeeper'ом только двумя способами.

В первом случае запрос на соединение исходит от надежной машины или адресован ей. Gatekeeper-маршрутизатор позволяет IP-датаграммам циркулировать в соответствии с запросом, поскольку для надежных машин считается допустимым отсутствие идентификации и проверки подлинности. Сервисы telnet и ftp обычно доступны всем надежным машинам, в то время как ряд других (например, RPC), могут быть закрыты для всей вычислительной системы. Администраторы надежных машин могут запрашивать некоторое специфическое обслуживание. Если это не противоречит правилам защиты, Gatekeeper-маршрутизатор подтверждает подходящую конфигурацию. Машина может получить статус надежной только после успешного прогона соответствующих тестов, гарантирующих выполнение критериев надежности.

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

Разумеется, и сам Gatekeeper должен отвечать определенным требованиям. Качество его работы следует регулярно подтверждать по соответствующему сборнику тестов. Желательно, чтобы это проделывал независимый персонал, а не те, кто управляет Gatekeeper 'ом. Наиболее существенные характеристики Gatekeeper 'а:

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

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

Идентификация и проверка подлинности

Связываясь с ненадежной машиной, пользователь использует один из основных сервисов Gatekeeper 'а - ftp и telnet. Идентификация и проверка подлинности производятся путем замещения демонов ftpd и telnetd своими собственными. Новые демоны, называемые in.gk-telnetd и in.gk-ftpd, обрабатываются процедурой inetd как результаты прежних (in.telnetd и in.ftpd).

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

Все события, обработанные процедурами in.gk-telnetd и in.gk-ftpd, вносятся в журнал учета процедурой syslog.

Примеры соединений telnet:

 telnet gk.hsc-sec.fr 

Trying...

Connected to gk.hsc-sec.fr.

Escape character is "(?]'

gk.hsc-sec.fr

login: schauer

Password: пароль-gatekeeper-сервера 

Host: itesec.hsc-sec.fr

Access authorized

UNIX(r) Systems V Release 4.0 (itesec)

login: schauer

Password: пароль-станции-назначения

UNIX System V Release 4.0 AT&T NEWS3400

itesec

Copyright + 1984, 1986, 1987, 1988 AT&T

All Rights Reserved

Last login: Mon Jul 13 11:56:28 from spock.hsc-sec.fr

Последующие события посылаются для обработки в syslog. Соединения, которые не были установлены:

$ telnet gk.hsc-sec.fr

Connected to gk.hsc-sec.fr.

Escape character is '^]'. 

gk.hsc-sec.fr

login: wolf

Password: плохой-пароль

Login incorrect

login: schauer
Password: еще-один-плохой-пароль

Login incorrect

login: notwolf

Password: какой-нибудь-пароль

Login incorrect

Connection closed by foreign host. 

После трех ошибок сессия закрывается. Разумеется, syslog сообщает о попытке нелегального доступа.

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

$ telnet gk.hsc-sec.fr

Connected to gk.hsc-sec.fr.

Escape character is '^]'. 

gk.hsc-sec.fr

login: wolf

Password: пароль-вольфа

Host: 134.135.136.137

Unauthorized destination

[...]

Сервер ftp действует похоже, но его интерфейс абсолютно другой:

 ftp gk.hsc-sec.fr

Connected to gk.hsc-sec.fr

220 - gk.hsc-sec.fr FTP server / HSC ready. 

          After logging in, use 'site machine" to connect to the desired machine

220 Time is 1992/07/24 16:48:21 GMT

Name (gk:schauer): schauer

Password: пароль-gateskeeper-сервера

230 User schauer logged in. Please select your host. 

Remote system type is UNIX. 

ftp> site kirk.hsc-sec.fr

220 kirk FTP server (NCC-1701) ready. 

ftp> user schauer

331 Password required for schauer. 

Password: пароль кирка

230 Welcome on board Captain schauer. 

ftp>

С пунктами назначения, не получившими подтверждения полномочий доступа:

 ftp gk.hsc-sec.fr

Connected to gk.hsc-sec.fr. 

220- gk.hsc-sec.fr FTP server / HSC ready. 

         After logging in, use 'site machine" to connect to the desired machine

220 Time is 1992/07/24 16:48:21 GMT

Name (gk:schauer): schauer

331 Password required for schauer. 

230 User schauer logged in. Please select your host. 

Remote system type is UNIX. 

ftp> site 134.135.136.137

550- You are not authorized to call 134.135.136.137

ftp> site 134.135.136.138

550 You are not authorized to call 134.135.136.138

ftp> 134.135.136.139

221- You are not authorized to call 134.135.136.139

221 cul8r.

ftp>

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

Файл паролей - это упрощенный UNIX'овский /etc/passwd-файл с таким же числом полей, хотя некоторые из них не используются. Нам требуются только поля пользоавтель и пароль, остальные не важны. Идентификация и проверка подлинности для сетевых сервисов основана на содержимом названным полей.

wolf:1234567890123:::Christophe Wolfugel::

schauer:2345678901234:::Herve Schauer::

Синтаксис файлов групп также совпадает с синтаксисом /etc/group-файла в UNIX'е, но большинство полей изменено и не отвечает нашим потребностям.

134.214.0.0:255.255.0.0::wolf

192.70.106.0:255.255.0::schauer, wolf

192.70.107.1::schauer

Первое поле соответствует сетевому адресу объекта, получившего подтверждение права на доступ, второе - применяемой сетевой маске. Маска 0.0.0.0 задает право доступа любому, в то время как значение 255.255.255.255 - только машине, обозначенной первым полем. Последнее поле содержит список пользователей, получивших права доступа. Над маской и IP-адресом (источника/назначения) выполняется операция логического И. Если результат совпадает с обозначением сети, источник или пункт назначения подтверждается, в противном случае отвергается.

Рассмотрим приведенный в примере файл в качестве таблицы доступа адреса источника. В первой его строке подтверждается, что пользователь wolf имеет полномочия производить вызов с любой машины сети 134.214. Вторая предоставляет права подключения к сети 192.70.106 пользователям schauer и wolf, и, наконец, только schauer может производить вызов с машины 192.70.107.1.

После успешной проверки источника, аналогичным образом по group-файлу адресов назначения проверяется запрошенная машина назначения.

Требования к защите для надежных машин

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

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

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

Требования можно отнести к двум классам:

  • общие требования, относящиеся к ОС любого типа;
  • требования, характерные для системы UNIX.

Например, методы выбора хорошего пароля задаются общими требованиями. Требования, специфические для UNIX'а, зависят от конкретной системы (например, используемые NFS файлы /etc/exports или /etc/dfstab). Все требования в UNIX выполнимы, причем половина их характерна именно для данной системы.

Требования и руководящие принципы относятся к следующим аспектам:

  • администраторы (например, их уровень квалификации);
  • пользователи (например, их ответственность при использовании надежных машин);
  • физическая реализация доступа и управление надежными машинами;
  • идентификация и проверка подлинности пользователей (в том числе проблемы, создаваемые выбором плохого пароля);
  • организации пользовательских сессий (например, способ установки списка поиска или права доступа в /dev/kbd);
  • организация учета, в первую очередь для root (например, определение политики использования коллективных паролей для административных входов);
  • разного рода проверки для защиты от ошибочных разрешений на доступ к файлам, каталогам (например, способ защиты временных каталогов);
  • административное руководство пользователями (например, меры воздействия на пользователя, откровенно не пренебрегающего требованиями выбора пароля);
  • внесение в журнал учета событий, определение процедур обработки всех важных файлов;
  • общая организация (например, изменения, на которые следует обращать внимание сотрудников отдела);
  • управление доступом и идентификацией машин;
  • сетевые сервисы с детализацией каждой процедуры; telnet, ftp, sendmail, NFS, NIS, X11 и т. д. (эта часть наиболее важна).

К документам с требованиями прилагаются сборники текстов, при помощи которых проверяют правильность их [требований] выполнения. Для каждого теста определено время и частота использования, а также указание о том, кто должен его выполнять. Определено также, следует ли выполнять его в процессе эксплуатации или в тестовой конфигурации. Также для каждого теста отмечены предполагаемые результаты и список действий, предпринимаемых при получении непредвиденных результатов; это облегчает работу администраторов. В некоторых случаях решение оказывается очень простым, но иногда службе ревизора приходится ловить иных пользователей на месте преступления (например, определять, действительно ли при выходе из экранного режима они выполняют процедуру xlock).

Требования к безопасности Gatekepeer'а

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

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

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

Заключение

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

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