новости
статьи
.software

обзор Ideco ICS

Для любого предприятия, где есть выход в Интернет, вопросы защиты пользователей и сети, контроля и управления доступом в Интернет, а также учета трафика, планирования и ограничения расходов всегда будут актуальны. Чтобы решить эти вопросы необходимо иметь в штате опытных специалистов, которые смогут вникнуть во все тонкости установки и настройки Linux, Windows Server. Необходимость постоянного сопровождения также важна. Но намного проще и экономичнее использовать готовые специализированные решения, не требующие постоянного обслуживания. Подобные решения совмещают впечатляющую функциональность и надежность с простой в управлении. Достойным примером служит ставший уже популярным Интернет-шлюз Ideco ICS производства компании «Айдеко Софтвер». Рассмотрим, что он собой представляет.

установка

Ideco ICS - это программно-аппаратное решение на основе операционной системы Linux. Автоматически устанавливается с загрузочного CD-диска на отдельный, специально выделенный для этого компьютер. Ideco ICS может также поставляться в виде готового сервера (железо + софт).

Установка проходит достаточно быстро. После установки необходимо выполнить первичные настройки, настроить сетевые параметры, такие как IP-адрес сервера, маску подсети, название сервера, VPN, DNS. Также можно провести дополнительные настройки, например, включить автоматическое резервирование БД сервера, поменять пароль, отключить пользовательский Firewall, Midnight Commander. Все. Система настроена. Можно приступать к работе.

Управление сервером происходит с помощью Ideco ICS Manager (рис. 1).



Рис. 1.

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

как же все это работает?

Сервер работает по следующему принципу: одним сетевым интерфейсом он подключен к Интернет, а вторым - к сети предприятия. Именно поэтому для правильной работы сервера нам необходимы 2 сетевые карты. Пользователи из локальной сети предприятия сначала подключаются к серверу, а сервер, используя NAT, перезаписывает заголовок пакета, и уже используя реальный IP-адрес, выполняет запрос к необходимому узлу Интернет. При этом пользователь не чувствует разницы при подключении к Интернет, все происходит «на лету».



Рис. 2. Настройка сетевых параметров.

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

Сеть внутри предприятия основана на технологии VPN (Virtual Private Network). VPN предоставляет возможность надежной авторизации, на основании которой определяются полномочия пользователя (или удаленной сети). Также возможны другие способы авторизации пользователей.

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

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

что же там внутри?

Узнав, как происходит «общение» между пользователем и сервером, посмотрим, что же у сервера внутри.

А внутри как в библиотеке: открываем ящик с надписью «Ядро». Ядро вроде от Red Hat Linux 9.0, но, судя по всему, оно было подвергнуто хирургическому вмешательству, и разработчики его явно изменили. Ядро версии 2.4.24 i686 SMP, что означает поддержку примитивной
мультипроцессорности. Разработчики написали свой собственный демон, который отвечает за подключение и отключение пользователей, управляет правилами iptables, синхронизацией баз данных, и веб-интерфейс, где пользователь может узнать, сколько у него осталось трафика. Также присутствует интерфейс для принятия команд управления от клиентской части Ideco ICS Manager.

После установки Ideco Internet Control Server мы имеем 3 раздела на жестком диске.

На первом разделе находится сам сервер, это самый главный раздел, права доступа на изменение доступны только root, но из-за параметра монтирования nochroot пользователем root нельзя стать, это сделано для достижения максимальной безопасности. Файлы в этом разделе изменять нельзя.

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

Третий раздел предназначен для хранения резервных копий.

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

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

Nochroot – запрет пользователю root делать chroot на корневой каталог, то есть запрет выхода из chroot-окружения.

Noaddmount – запрет монтирования новых разделов.

Nosuid – на разделе, подключенном с такой опцией, биты suid и sgid игнорируются.

Nodev – запрет задания файлов устройств на разделе и запрет монтирования devfs.

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

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

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

После установки системы все правила системного Firewall по умолчанию настроены на максимальную защиту - работа по принципу «все, что не разрешено – запрещается». При этом через пользовательский Firewall нельзя создать правила, уменьшающие безопасность, там задаются только ограничения для пользователей.

В состав Ideco Control Server включен Content-фильтр, с помощью которого можно запретить скачивать те или иные типы файлов, например, mp3 и avi; блокировать рекламу и любые протоколы прикладного уровня по ключевым словам. Можно также ограничить ширину канала для определенных пользователей или протокола.

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

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

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

Обработка всех команд осуществляется через execd (демон, следящий за выполнением приложений). Так как root’овские права мы получить не можем, все задачи, такие, как перезагрузка, отправка уведомлений, создание резервных копий - становятся в очередь POSIX-сообщений (POSIX – это набор стандартов, призванных обеспечить как переносимость самих систем на различные архитектуры, так и работу написанных в соответствие со стандартами приложений в различных ОС). Далее все команды проходят через execd, который выполняет все задачи последовательно.

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

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

При загрузке системы запускается служба журналирования, проводится проверка состояния файловой системы, а также выполняетс самотестирование системы в целом и диагностика целостности БД сервера. Раздел с исполняемыми файлами монтируется в режим read only (ro), после загрузки всем исполняемым файлам устанавливается флаг immutable (невозможность внесения изменений или удаления файла), изменить который может только root, но, к сожалению, мы им стать не сможем никогда (см. выше).

Из других возможностей, включенных разработчиками в состав Ideco ICS, следует отметить систему управления баз данных FireBird, почтовый сервер PostFix, интеллектуальный QoS и FTP-сервер. В общем, полный набор самых необходимых средств для работы офисного сервера.

вывод

В Ideco ICS повышен контроль за действиями системных служб (сервисов), добавлены инструкции безопасности (noproc, nosuid, noexec), управление и работа с сервером сведены до полного минимума, навигация по системе управления простая и удобная благодаря графическому интерфейсу. В целом система выглядит стабильной и безопасной. За время работы не было выявлено каких-либо сбоев, что также является важным моментом. Возможно, для предприятия Ideco ICS будет выглядеть как велосипед, в котором есть все необходимое для движения :)



Рис. 3. Веб-интерфейс для пользователей.



Роман Гарин
обсудить статью
© сетевые решения
.
.