Содержание
Новости науки

КОМПЛЕКС МЕР ПО ПОВЫШЕНИЮ УРОВНЯ БЕЗОПАСНОСТИ UNIX СЕРВЕРОВ БИЙСКОГО УЗЛА RUNNET
В.С. Замятин, Ф.А. Попов - г. Бийск

Бийским технологическим институтом и Федеральным научно-производственным объединением "Алтай" в течение ряда лет ведутся работы по поддержанию работоспособности и развитию БИЙСКОГО узла RUNNet [I]. При этом одной из ключевых задач является обеспечение сетевой и информационной безопасности узла. Следует отметить, что направление работ по повышению уровня безопасности узлов Интернет привлекает пристальное внимание исследователей всего мира и является приоритетным при создании узлов и организации их работы [2].

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

Для решения этой задачи, в рамках создаваемой комплексной системы обеспечения безопасности сетевых и информационных ресурсов Бийского технологического института и Бийского узла RUNNet в целом [З], был разработан и осуществлен комплекс мер по повышению уровня безопасности UNIX серверов.

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

Разработанный комплекс мер состоит из трех составляющих:

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

Замена почтовой системы. В ходе проведенного анализа было выявлено, что почтовая система Send-mail [4], установленная на серверах по умолчанию, не отвечает требованиям безопасности.

Вместо пакета Sendmail было принято решение установить почтовую программу Qmail, разработанную Д. Дж. Берштейном [5].

Рассмотрим основные недостатки Sendmail, а также методы их устранения программой Qmail.

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

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

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

Конфигурировать модули Qmail гораздо проще.

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

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

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

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

Запрет уязвимых с точки зрения безопасности сетевых протоколов и замена их более совершенными. Был проведен анализ сетевых протоколов, в результате чего было выявлено, что протокол telnet и riogin не отвечают требованиям безопасности.

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

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

Использование дополнительных средств защиты файловой системы.

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

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

На серверах Бийского узла RUNNet файловая система организована в виде нескольких уровней: системного, пользовательского (прикладного) и специального.

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

Доступ на этот уровень осуществляется либо с консоли либо с удаленной машины по протоколу ssh через произвольно выбранный нестандартный порт.

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

chroot <имя нового корневого каталога> <программа> Отметим, что полный путь к программе, указанной в этой строке, определяется уже относительно нового корневого каталога.

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

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

Как уже стало ясно, именно на этом уровне регистрируются пользователи системы. Их доступ осуществляется либо с консоли, либо удаленно по протоколу ssh. На этом же уровне зарегистрированы почтовые пользователи, которые работают с почтовым ящиком по протоколам рорЗ или imap [4]. \

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

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

Специальный уровень. Этот уровень необходим для запуска критичных, с точки зрения безопасности, сетевых процессов, обеспечивающих, например, функционирование Web-сервера, ftp-сервера, сервера новостей, proxy-сервера, DNS-сервера и пр [4].

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

В этом случае необходим только один пользователь - тот, от имени которого запускается сервер. Этот пользователь является также администратором этого уровня. Лишь в редких случаях на этом уровне необходим root. Доступ пользователей-администраторов можно также осуществлять либо с консоли, либо удаленно по протоколу ssh с использованием нестандартного порта.

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

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

Литература

  1. B.C. Замятин, А.П. Кардаманов, Ф.А. Попов. Состояние и перспективы развития бийского фрагмента RUNNet // Наука и образование: проблемы и перспективы: Материалы межвузовской научно-практической конференции 20-21 мая 1999 года, - Бийск: Изд-во АлтГТУ, 1999.
  2. В.В. Мельников. Защита информации в компьютерных системах. - М.: Финансы и статистика; Электроинформ, 1997.
  3. B.C. Замятин, А.П. Кардаманов, Ф.А. Попов. Информационная система по обеспечению безопасности информационных и сетевых ресурсов, их бюджетирования и контроля, а также сбора и обработки статистической информации // Новые информационные технологии в университетском образовании: Сборник трудов, - Новосибирск: ИДМИ, 2000.
  4. Эви Немет, Гарт Снайдер, Скотт Сибасс, Трент Р. Хейн. UNIX: руководство системного администратора: Пер. с англ. - К.: BHV, 1996.
  5. D.J. Bernstein. Qmail. http://pobox.com/~djb/qmail.htmll