Маленький Linux в качестве firewall::Журнал СА 9.2003
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
20.12.2019г.
Просмотров: 4899
Комментарии: 0
Dr.Web: всё под контролем

 Читать далее...

04.12.2019г.
Просмотров: 6151
Комментарии: 0
Особенности сертификаций по этичному хакингу

 Читать далее...

28.05.2019г.
Просмотров: 7389
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 7733
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 6785
Комментарии: 0
Django 2 в примерах

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Маленький Linux в качестве firewall

Архив номеров / 2003 / Выпуск №9 (10) / Маленький Linux в качестве firewall

Рубрика: Администрирование /  Продукты и решения

Сергей Яремчук СЕРГЕЙ ЯРЕМЧУК, фрилансер. Автор более 800 статей и шести книг. С «СА» с первого номера. Интересы: сетевые технологии, защита информации, свободные ОС

Маленький Linux в качестве firewall

Со временем устаревает любая техника, в том числе оно не считается и с компьютерами. Выпущенные буквально год назад считаются уже устаревшими. А что делать с компьютерами, которым уже «далеко за»? Выбрасывать-то жалко. Иногда их фирма продает по дешевке, компенсируя покупку новых машин. Но на их плечи можно переложить маленькие задачи, разгрузив таким образом более мощные системы. Так, их можно запросто настроить как роутер и/или firewall, использовать в качестве бездисковых рабочих станций и Х-терминалов, отдельных пользовательских машин и даже возложить на них мониторинг, аудит и детектирование вторжения в компьютерную сеть. Сегодня предлагаю познакомиться с дистрибутивами, которые позволяют настроить совместный доступ в Интернет, среди дополнительных возможностей некоторые имеют firewall, NAT, кеширующий DNS-сервер, сервер DHCP, ftp- и www-серверы. В более продвинутых решениях встречается даже возможность создания виртуальных частных сетей VPN. Для большинства из рассматриваемых дистрибутивов наличие жесткого диска тоже необязательно. Некоторые помещаются на одну дискету, обеспечивая только необходимый минимум, более оснащенные варианты требуют уже наличия СD-ROM для своего запуска или установки.

Начнем, наверное, с любимчика. Это был один из первых дистрибутивов подобного направления, с которым мне пришлось столкнуться и который показал всю живучесть такой идеи, и что самое интересное, на первоначальное знакомство и настройку ушло всего минут двадцать, так что такой вариант может быть использован в экстренных случаях, когда вышел из строя основной маршрутизатор. Итак, FreeSCO http://www.freesco.org (название пошло от Free ciSCO router). При таких маленьких размерах, всего одна дискета, этот дистрибутив умеет довольно многое: обеспечивает одновременную поддержку до 3 ethernet/arcnet/token_ring/arlan сетевых карточек и до 2 модемов (большинство нижеописываемых поддерживают только два сетевых устройства), режим моста, firewalling (для защиты внутренней сети от несанкционированного доступа из Интернета или ограничения доступа в Интернет для внутренних пользователей), NAT (трансляция сетевого адреса для коллективного доступа в сеть), сервер DNS, DHCP-сервер для динамического выделения адресов, HTTP-сервер (для удаленного администрирования через веб-интерфейс – рис. 1, 1а), telnet-сервер (для удаленного управления системой – рис. 1б), print-cервер и TIME-cервер (в комплекте есть и графический клиент для Windows). Системные требования также невысоки: процессор от i386, 6 Мб ОЗУ (рекомендовано 16 Mб). Поддерживаются большинство сетевых карт (полный список совместимых с дистрибутивом смотрите на сайте; соответствующий драйвер, если что-то не получается, просто положите в a: outerdrv). Модемы в принципе любые, кроме, наверное, win-модемов. FreeSCO очень просто устанавливать и настраивать. После перезагрузки в строке приглашения введите setup и отвечайте на вопросы. Зеленым цветом выделены вопросы, которые необходимо обязательно настроить, желтым – опциональные, а красные вопросы для тех, кто в состоянии разобраться в том, что делает. Вводя номер телефона провайдера, при тоновом наборе набейте перед номером букву Т, при импульсном – Р, если вы используете мини-АТС, введите символ W, например Т9W2798007. Используется два пароля: root и администратора (для удаленной настройки через веб-интерфейс, 82 порт по умолчанию). И еще одно удобство реализовано во FreeSCO, хотя все установки при выключении сохраняются на дискете, его можно установить на жесткий диск, для этого вместо setup введите mv2hd. Жесткий диск должен быть отформатирован как FAT16 или FAT32. После перезагрузки введите setup и делайте все, как описано выше (дискету перед этим, естественно, необходимо удалить). Затем можно доустановить необходимые для работы программы, скомпилировав их предварительно в другом дистрибутиве. При таких размерах это просто супер.

Рисунок 1

Рисунок 1

Рисунок 1а

Рисунок 1а

Рисунок 1б

Рисунок 1б

Floppyfw (http://www.zelow.no/floppyfw/index.html) кратко можно охарактеризовать как маршрутизатор с расширенными возможностями firewall, который размещается и работает с одного диска. Поддерживаются списки доступа, IP-masquerading или NAT (Network Address Translation), маршрутизация пакетов. Системные требования также невысоки – 386sx или лучше 12 Мб ОЗУ (при меньшем объеме можно использовать более раннюю версию, которая есть на сайте). Очень простая система пакетов, которую можно использовать для добавления необходимых приложений: редакторов, PPP, VPN и пр. Поддерживается регистрация событий при помощи klogd/syslogd, локальное и удаленное управление, имеются серверы DHCP и кеширующий DNS для внутренних сетей. Образ сохраняется на дискете с файловой системой FAT, что позволяет очень просто редактировать необходимые параметры в Windows или DOS, на свободное место, оставшееся на дискете, можно добавить пару своих приложений, в том числе и пересобранное под свои нужды ядро. Настройка производится вручную без помощи вспомогательных утилит, но все заготовки можно заранее прописать в .ini- и .cfg-файлах. Несмотря на необходимость изучения работы соответствующих утилит (ipchains и ipmasqadm), floppyfw со своими обязанностями справляется на «отлично». В Интернете читал много хороших откликов, плюс ориентированность на безопасность.

Coyote Linux (http://www.coyotelinux.com). Цель этого проекта состоит в том, чтобы обеспечить совместный доступ в Интернет, используя одно соединение и больше ничего, но зато без предварительного изучения основ Linux (хотя это в любом случае только приветствуется). При этом первоначально необходимо сконфигурировать будущую систему при помощи визарда в Windows (рис. 2) или скрипта в Linux. В ходе которого, отвечая на вопросы, можно будет выбрать размер будущей системы (от 1.44 до 1.73 Мб), настроить сетевые интерфейсы, оптимизировать под используемый процессор (от 386 без сопроцессора до 486), задать дополнительные приложения (ssh, webmin и пр.), при этом ничего лишнего в систему не будет добавлено. После чего система компилируется и записывается на дискету, которую можно тут же клонировать. Поддерживается только два сетевых интерфейса, но в FAQ можно найти ответ, как создать DMZ (DeMiliterized Zone) для компьютеров, которым необходимы реальные IP-адреса (www, е-mail, ftp-серверы) при помощи ifconfig.

Рисунок 2

Рисунок 2

Ulric’s Router Construction Kit (http://siag.nu/urck) позволяет собрать свой роутер на дискете, используя современные ядра серии 2.4.x. В комплекте идут только базовые утилиты, но при необходимости можно расширить основные возможности роутинга за счет пакета Zebra (http://www.zebra.org) и пакета Vrrpd (http://w3.arobas.net/~jetienne/vrrpd/index.html), позволяющего двум маршрутизаторам контролировать работу друг друга и подстраховать, если один из них выйдет из строя.

ShareTheNet (http://sharethenet.webserv.com) – вообще-то один из первых подобных проектов (router + firewall), и автор на первых порах продавал его очень долго и, как мне кажется, довольно успешно, только относительно недавно (что-то около года) он стал бесплатным и доступным для свободной закачки. Первоначально необходимо установить программу под Windows(рис. 3), после чего создать при помощи визарда дискету (рис. 3а). Удаленное администрирование также осуществляется при помощи этой утилиты. Системные требования 80386+ и 8Mб, поддерживается два сетевых интерфейса (Ethernet и модем).

Рисунок 3

Рисунок 3

Рисунок 3а

Рисунок 3а

К сожалению, Linux Router Project (LRP 1997-2002) Дейва Синейджа (Dave Cinege), размещавшийся по адресу http://linuxrouter.org, буквально на днях приказал долго жить, но еще доступны старые версии этого неплохого дистрибутива. Другой проект, который работал параллельно, LEAF – Linux Embedded Appliance Firewall (http://leaf.sourceforge.net), поддерживающий ядро 2.4.20 и тему LRP в нескольких вариациях, все еще продолжает создавать маленькие дистрибутивы, которые можно использовать в качестве маршрутизаторов, серверов доступа, тонких серверов и клиентов и прочих простых сетевых встраиваемых систем.

FrazierWall Linux (http://www.frazierwall.com) – еще один проект, берущий свое начало от LRP и Coyote Linux, но после внесенных изменений уже в принципе заметно отличающийся от своих прародителей. Его можно использовать в качестве NAT, роутера, firewall. Поддерживаются DHCP для локальных клиентов, time server и отправка логов firewall и предупреждения защиты по почте. Кроме этого основной упор был сделан на легкость конфигурирования и безопасность. Security обеспечивают дополнительные скрипты и предустановленный набор правил firewall, позволяющий первоначально установить ее и новичку в этом деле. Системные требования процессор – i486 и 16 Mб RAM.

Далее речь пойдет о дистрибутивах, требующих уже СD-ROM для своей установки или работы. Появление их вполне закономерно и понятно, не все необходимые функции можно запихнуть на дискету, плюс медленный, но все-таки постепенный уход этого устройства и распространенность СD-RW, позволяющая любому записать их на болванку. Да и мощность «устаревшего» оборудования постепенно растет, если года три назад это были i386, то теперь к ним относятся и i586 компьютеры и Celeron первых выпусков. И вполне естественно, так как записать свою конфигурацию обратно на СD-ROM не получится, то в большинстве дистрибутивов имеется опция сохранения их на дискету или для работы необходим уже жесткий диск, хотя в этом случае возможны варианты.

Keeper Linux (http://www.keeper.org.uk) разрабатывается в двух вариантах: floppy, требующий две дискеты, компьютер с процессором i386 и 4 Мб ОЗУ и СD-ROM (13.4 Мб), который загружается и работает только с СD-ROM, т.е. не требует установки на жесткий диск, и кроме спасательных функций их возможно использовать в качестве gateway/firewall и dialup gateway. Дискетный вариант имеет шесть различных ревизий, каждая из которых направлена на решение одной конкретной задачи (Internet Dialup Gateway, Full Rescue disk with ssh client support, Local and Remote admin system with ssh support, Firewall Gateway, Firewall/routing Gateway и companion disk с основными утилитами). СD-ROM-вариант, естественно, имеет все эти и дополнителные возможности: VPN (Virtual Private Network), DHCP-сервер и поддержка PPPoA xDSL; Zebra Router, RIP, OSPF, BGP; клиент и сервер SSH2; Full Rescue Disk Facilities; syslogd; PPP Dial-on-demand Internet Gateway (модемный Интернет по требованию). Все это построено на ядре 2.4.18 с поддержкой большинства устройств. Интересно, что в целях повышения безопасности файловая система монтируется только в режиме read-only и не позволяет сохранить настройки на дискету. Чтобы иметь возможность работать со своими настройками, первоначально необходимо внести свои данные в скачанный образ и затем уже записывать его на болванку или дискету. Как это все можно проделать и в какие файлы вносить изменения, очень подробно рассказано в двух документах – «CDROM Distribution Howto» и «Floppy Distribution Howto», которые не грех и просто почитать как пример разделки подобных дистрибутивов. Теперь при попытке записи в RAM-устройство система обнаруживает это и просто перезагружается, восстанавливая настройки по умолчанию. Несмотря на первоначальную возню с образами, он полностью соответствует своему девизу «Powerful, Reliable and Secure».

SmoothWall (http://www.smoothwall.org). Первый дистрибутив этого проекта увидел свет в июле 2000 года, создается он администраторами и специалистами по безопасности. Причем самое бурное развитие приходится на  2003 год. Если в конце прошлого (2002) года мне пришлось работать с версией 0.9.9, то сейчас уже доступна бета 5 версии 2.0 «Orient». Данный дистрибутив построен на современном ядре серии 2.4.21, имеет низкие системные требования (рекомендуется 486i, 16 Мб ОЗУ), поддерживает кроме разнообразных сетевых устройств (Ethernet  10/100, ISDN, USB ADSL) и обычные аналоговые модемы, также и IDE CD-ROM (с которого, собственно, производится инсталляция  дистрибутива), и, конечно же, дисковод. ISO-образ дистрибутива занимает чуть более 20 Мб. Установка особой сложности не вызывает. Программа установки сама автоматически разбивает диск /dev/hda на 4 раздела (/boot, swap, /var/log и корневой), хотя в дальнейшем это можно изменить. В комплект входят все необходимые утилиты для создания и обслуживания файловой системы ext2fs/3fs. Дальше необходимо просто честно ответить на вопросы об IP-адресах (поддерживается три сетевых интерфейса GREEN, RED, ORANGE, доступ к которым можно настроить в различных варианциях), выбрать раскладку клавиатуры, временной пояс и при необходимости ввести телефонный номер провайдера, но, к сожалению, только один. Сетевые устройства программа установки находит сама, при неудаче можно попробовать выбрать из довольно объемистого списка. После всего следует запрос трех паролей для  пользователей root, setup (для запуска программы изменения первичных настроек /usr/local/sbin/setup) и admin. После окончания процесса установки можно, предварительно достав выехавший диск, запихать компьютер под стол. Все дальнейшие действия по настройке теперь можно производить через удобный веб-интерфейс (рис. 4, 4а), для чего нужно зайти по адресу http://smoothwall:81 или https://smoothwall:445 для работы по защищенному протоколу. И теперь можно узнать статистику о работе роутера (uptime, учет количества пакетов и скорость передачи по интерфейсам, использование диска, пользователи), получить справку о настройке тех или иных параметров, войти в shell, изменить работу некоторых сервисов,  остановить (или перезагрузить) роутер или отключить один из интерфейсов. Теперь о некоторых features. SmootWall выполняет роль кеширующего веб-сервера (по умолчанию: время обновления 15 мин, кеш 4 Мб), при необходимости в DHCP-сервисе нужно просто указать в setup в соответствующей вкладке диапазон IP-адресов и включить сервис. Кроме веб-интерфейса можно войти с помощью SSH. В лог-файлах  (которые можно импортировать нажатием одной кнопки) можно  найти подробные данные сетевой системы предупреждения о вторжении (NIDS) snort (имя, адрес, дата, степень  опасности и т. д.), подробности работы firewall и отчеты всех остальных запущенных сервисов и ядра. Имеется возможность  создания VPN, используя IPSec, устанавливающуюся вместе с системой (трафик при этом шифруется при помощи алгоритма 3DES). Единственная сложность при установке SmoothWall, о которой довелось пока слышать, на очень старых компьютерах (скорее всего из-за BIOS) это:

Unable to make boot filesystem

/cdrom/bin/mke2fs: invalid option --j

Т.е. система не может создать раздел ext3. Решается она, как ни странно, выбором типа установки при помощи http, а не CD-ROM (если канал позволяет).

Рисунок 4

Рисунок 4

Рисунок 4а

Рисунок 4а

Надежность старых жестких дисков тоже вызывает сомнение, чтобы установить маршрутизатор на одно из устройств DiskOnChip, использующих NFTL (NAND Flash Translation Layer), необходимо обратиться к проекту Routerlinux (http://www.routerlinux.com). Установив затем кроме стандартных firewall/router/NAT модем и Ethernet, можно создать VPN-туннель при помощи IPSec, имеется SSH, SNMP и DHCP-сервер, кеширующий DNS-сервер, zebra RIP, OSPF и BGP, crond и, что приятно, почему-то редко встречающийся nmap.

Astaro Security Linux (http://www.astaro.com) – еще один дистрибутив, основное назначение которого – организация совместного доступа в Интернет, но вот размер (после распаковки архива получается 216 Мб) уже говорит о серьезности подхода, а название – об основной направленности. После установки на жесткий диск, кроме firewall и контекстного фильтра, защищающего в том числе и от вирусов, можно организовать DMZ, proxy server, SNAT, DNAT, Masquerading и VPN, которые делают этот дистрибутив идеальным решением для защиты сети. Интересно, что при инсталляции можно лишь настроить дистрибутив в общих чертах (указывается только IP-адрес самого сервера), основные же настройки можно производить, либо непосредственно редактируя конфигурационные файлы, либо более наглядно и проще для новичка через WebAdmin (рис. 5, 5а). При помощи сервиса Up2Date можно автоматически обновлять компоненты, плюс некоторые патчи доступны на сайте. Рекомендуется процессор класса Intel Pentium II, 128 Мб ОЗУ, СD-ROM, жесткий диск, две или более сетевые карточки. Система поддерживает большое количество разнообразных устройств, в том числе и знает о беспроводных. А документацию, которой полно как на сайте, так и в дистрибутиве, не грех почитать и для общего развития.

Рисунок 5

Рисунок 5

Рисунок 5а

Рисунок 5а

Кроме Linux, естественно, имеется пара дистрибутивов, основанных на BSD.

PicoBSD (http://www.freebsd.org/~picobsd) представляет собой «one floppy» версию FreeBSD 3.0-current. Имеется три варианта этой системы: Dialup Version, Networking Version и Router Version, т.е. полноценная система, которую можно использовать как для маленького маршрутизатора, так и повседневного безопасного хождения по Интернету. Единственное, что не очень удобно для новичков, в угоду маленькому размеру, как и в большинстве описываемых дистрибутивов, в PicoBSD практически нет документации, кроме отдельных man-страниц специфических для него приложений. Поэтому советую скачать и файл README, ссылка на который имеется возле каждого дистрибутива. Наличие исходников дает прекрасную возможность самому собрать PicoBSD под свои нужды. Дополнительно по адресу http://www.kot.dp.ua можно найти скрипты для учета трафика, некоторую переведенную информацию и другие полезные программы.

ClosedBSD (http://www.closedbsd.org) также основан на FreeBSD и использует некоторые специфические для этой системы приложения вроде ipfw, позволяет создать firewall или NAT. Причем в отличие от того же PicoBSD большинство основных настроек сетевых устройств можно произвести при помощи вполне понятной системы меню (рис. 6, 6а). Естественно, для более тонкого конфигурирования в любом случае придется лезть в командную строку, всех пунктов не предусмотришь. Но чтобы новичку не пришлось самому разбираться с опциями firewall, имеется предустановленный (Basic) набор правил для типичной системы и режим «Advanced» для добавления своего правила (надо отметить тоже с шаблонами, что существенно облегчает работу). Дополнительно имеется пункт меню monitor для отображения статистик, проходящих через систему пакетов. В данный момент не поддерживаются модемы и что-то наподобие IPSec, позволяющие создать VPN, и, что не очень удобно (но зато безопасно), удаленное управление (надеюсь ненадолго). Распространяется в двух вариантах для записи на дискету и более навороченный СD-ROM-вариант (12.8 Мб), не требует установки на жесткий диск, все настройки во втором варианте можно сбросить на дискету. Системные требования по-прежнему невысоки – любой процессор от i386 с 8 Мб RAM в floppy-варианте и 32 Мб в СD-ROM.

Рисунок 6

Рисунок 6

Рисунок 6а

Рисунок 6а

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

PicoBSD


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru