Sentry CD – свежий взгляд на фаерволл

Если вас вдруг посетило желание построить фаерволл на основе Linux, то совсем не обязательно связываться с большими дистрибутивами, в комплект которых не включена разве что пилочка для ногтей. Если вы не боитесь ручной работы и стремитесь получить полный контроль над своей системой, то вам следует познакомиться с Sentry Firewall CD (SFCD).

Обитает он по адресу www.sentryfirewall.com. Это гибко конфигурируемый загрузочный CD, который демонстрирует, если можно так выразиться, минималистический подход к построению фаерволла.

Системные требования SFCD также минимальны: процессор от 486-го, BIOS с возможностью загрузки с компакта, 32 мегабайта RAM (64Мб, если вы планируете запускать фаерволл/маршрутизатор/сервер DNS). Если ваша матчасть соответствует этим поистине зверским требованиям, смело отправляйтесь на веб-сайт SFCD, качайте ISO-шку посвежее и загоняйте ее на CD.

У вас есть возможность использовать для Sentry Firewall CD как собственные конфигурационные файлы (в том числе обычные для Linux-систем resolve.conf и hostname), так и инициализационные скрипты самого SFCD. Если концепция специфических скриптов вас не вдохновляет, расслабьтесь – Sentry Firewall CD основан на Slackware, известном своими простыми как сапог скриптами.

Ключевой для работы SFCD файл – это sentry.conf. Читая этот файл, SFCD получает сведения о местонахождении других конфигурационных файлов. Полный список этих файлов можно посмотреть в примере sfcd.conf, который находится на CD в каталоге SENTRY/scripts/cd-config. Еще лучше будет посмотреть этот файл перед записью диска. Для этого примонтируйте ISO-образ:

mount -o loop -t iso9660

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

dd if=SENTRY/images/ext2-144.img of=/dev/fd0

Теперь вы можете отредактировать содержимое дискеты, исходя из особенностей вашей среды. Редактирование конфигов Sentry Firewall CD – не такая уж сложная штука, как это может показаться на первый взгляд.
Второй способ – просто загрузитесь с CD и отредактируйте конфигурационные файлы. Сохраненные версии будут находиться в RAM. Чтобы записать их на дискету, используйте входящую в комплект SFCD программу /sbin/mkconfig. Эта утилита представляет собой мастер, который даст пошаговые инструкции по созданию собственного файла sentry.conf.

Никто не заставляет вас хранить конфигурационные файлы именно на дискете. Флэшка, жесткий диск и т.п. – подойдет что угодно. SFCD будет искать sentry.conf в следующем порядке: FDD – HDD – USB. Все остальные конфигурационные файлы могут быть взяты из сети по HTTP, HTTPS, FTP, SFTP или SCP. Для SFTP и SCP потребуются пароли. Возможность загрузки настроечных файлов по сети будет очень кстати, если физический доступ к фаерволлу затруднен.

Вот пример записи sfcd.conf, которая вызывает resolv.conf с помощью SCP:

resolv.conf = scp://:@192.168.1.1/configdirectory/resolve.conf


Допускается использование защищенного паролем HTTP-каталога – просто укажите имя пользователя и пароль.

так где же фаерволл?

Вам, наверное, интересно: когда же автор соблаговолит рассказать про обещанный фаерволл? Sentry Firewall CD загружает собственный фаерволл, используя файл rc.firewall. Если у вас уже есть рабочий файрволл на основе iptables, то вы можете просто скопировать содержимое его скрипта в названный файл.

Если вы планируете настраивать фаерволл с нуля, то в этом благородном деянии вам помогут некоторые встроенные инструменты Sentry CD. В каталоге /SENTRY/scripts/firewall можно найти неплохую подборку готовых скриптов на разные случаи жизни. По сути, это обычные скрипты iptables, которые вы можете отредактировать, исходя из собственных реалий. Кроме этого, на CD присутствуют написанные на PHP генераторы скриптов.

В состав SFCD также включен Webmin, который по умолчанию деактивирован. Если вы установите в файле sentry.conf значение start webmin enable, то вы сможете сгенерировать скрипты с помощью модулей Linux Firewall или Shorewall Firewall.

Sentry CD содержит массу популярных сетевых программ, среди которых apache, bind, nmap, sendmail, squid и snort. Местоположение их конфигурационных файлов прописывается в sentry.conf. Как и файлы самого SFCD, они также могут храниться на доступном сетевом ресурсе. Еще одна интересная фишка Sentry Firewall CD – возможность создания собственных CD.

Изготовить компакт с функциональностью SFCD и собственными конфигурационными файлами несложно. Просто скопируйте весь CD в каталог на своем винчестере и отредактируйте файлы, для которых вы сочтете это необходимым. Затем внесите правки в скрипт SENTRY/scripts/MK-CD/mkiso.sh и измените путь в параметре root_dir на ведущий к вашему каталогу, в который вы скопировали CD. Теперь запустите скрипт создания собственного файла sentry.iso. Записывайте болванку и наслаждайтесь результатом.

Если вы желаете использовать другое ядро, то вам потребуется изменить образ RAMDISK, который находится в каталоге isolinux. Модификация RAMDISK усложняет процесс создания собственного CD, однако возможности по подгонке продукта к вашим потребностям в данном случае становятся просто безграничными. Вы можете примонтировать и отредактировать файл initrd.img.gz или же использовать находящийся в каталоге MK-CD скрипт mkrootdisk.sh. Если вы решите поиграть с ядром таким образом, вначале обязательно почитайте в FAQ раздел RAMDISK.

Как видите, Sentry Firewall CD – это не просто фаерволл на CD. Это гибкий дистрибутив, который вы можете настроить под свои индивидуальные потребности.



Paul Virievich, перевод Алексея Кутовенко.


Сетевые решения. Статья была опубликована в номере 10 за 2005 год в рубрике software

©1999-2024 Сетевые решения