СЕРГЕЙ МОЖАЙСКИЙ
Frenzy 1.0 – дитя мечты
После почти двухлетнего перерыва вышла новая версия популярного русскоязычного LiveCD-дистрибутива Frenzy. Факт смены номера версии с 0.3 до 1.0 говорит о многом, да и информация о релизе с описанием нововведений вас впечатлит.
Прошли те времена, когда загрузочная дискета была непременным атрибутом системного администратора. На смену дискетам пришли LiveCD и загрузочные USB Flash. Выбор LiveCD для системных администраторов достаточно велик, правда, большинство дистрибутивов основаны на Linux (к примеру, INSERT, GRML и BackTrack). На основе же FreeBSD создано всего несколько дистрибутивов, и почти все они ориентированы на обычного пользователя. Все, кроме одного.
Летом 2003 года я начал работу над проектом по созданию LiveCD-дистрибутива для системных администраторов на основе ОС FreeBSD. Новый дистрибутив, названный Frenzy, быстро стал популярным в среде русскоязычных администраторов и пользователей FreeBSD. Этому способствовала поддержка русского языка, небольшой размер, хорошая подборка утилит. Версия 0.3, в которой появилась поддержка сжатой файловой системы и, как следствие, увеличилось количество приложений, была выпущена в августе 2004 года, после чего развитие проекта приостановилось почти на два года. Благодаря помощи сообщества пользователей Frenzy работа была продолжена в апреле 2006 года, и в начале мая в Интернете появилась первая бета-версия Frenzy 1.0. Такой скачок номера версии связан с большими изменениями в структуре дистрибутива. Открытое бета-тестирование длилось месяц, за это время были найдены и исправлены многие ошибки.
После двух месяцев активной разработки 5 июня вышел релиз Frenzy 1.0 (Dreamchild). Новая версия выпускается в нескольких вариантах:
- Frenzy standard – предназначена в первую очередь для системных администраторов. Размер дистрибутива – 200 Мб, что позволяет уместить его на 3-дюймовый CD.
- Frenzy extended – для системных администраторов и продвинутых пользователей. Дистрибутив содержит все программы из standard-версии, а также дополнительные приложения (в том числе просмотрщики CHM, PDF, DjVu-форматов, эмуляторы DosBox и QEMU, мультимедийные проигрыватели XMMS и MPlayer). Размер дистрибутива – 250 Мб.
- Frenzy lite – содержит только консольные утилиты. Размер дистрибутива – всего 50 Мб, что позволяет уместить его на CD-визитку и носить с собой в бумажнике (как я и поступил).
Немаловажным достоинством Frenzy является качественная русификация системы. В отличие от многих LiveCD-дистрибутивов, в которых локализации уделено мало внимания, в Frenzy поддержка русского языка присутствует изначально – проблем с ним ни в консоли, ни в графической оболочке не возникает. Кроме того, Frenzy отлично документирована – в ее состав входит Frenzy Handbook, описывающий основы работы с дистрибутивом и специфичными для него программами, а также русскоязычная документация по FreeBSD (традиционные Handbook и FAQ). На официальном сайте проекта (http://frenzy.org.ua) работает форум, где можно пообщаться с разработчиком и пользователями Frenzy. Также у проекта есть почтовая дискуссионная рассылка.
Дистрибутив можно свободно скачать (http://frenzy.org.ua/ru/releases/1.0/download.shtml) или приобрести в онлайн-магазинах.
Начинаем работу
Загружаемся с компакт-диска. Frenzy 1.0 основана на FreeBSD 6.1-STABLE, поэтому вначале загрузка ничем не отличается от FreeBSD (изменен только логотип при загрузке), но сразу после загрузки ядра мы попадаем в меню выбора параметров загрузки (рис. 1).
Рисунок 1. Загрузочное меню Frenzy
Мы можем выбрать язык системы, указать размер диска в оперативной памяти.
В Frenzy 1.0 появилось два новых режима загрузки. Режим toram позволяет загружать Frenzy полностью в оперативную память, позволяя извлечь компакт-диск из привода. В режиме fromhdd система будет загружаться со сжатого образа на жестком диске (для этого папку frenzy с компакт-диска необходимо скопировать в корень любого раздела на HDD), компакт-диск при этом также освободится.
Кроме того, теперь мы можем указать при загрузке, что делать с разделами жесткого диска. В предыдущих версиях система по умолчанию пыталась монтировать разделы жесткого диска в режиме «только чтение», других вариантов предусмотрено не было. Теперь мы можем вообще не обращаться к жесткому диску (параметр nohdd), производить поиск разделов, но не монтировать их (параметр nohdmnt) или же монтировать разделы диска в режиме чтения и записи (параметр hdrw). Frenzy поддерживает файловые системы UFS, FAT, EXT2/EXT3, NTFS, ReiserFS (последние две – только в режиме чтения).
После загрузки мы попадаем в консольный режим. На первой консоли автоматически производится вход под учетной записью суперпользователя, в остальные можно войти, используя логин root без пароля. В отличие от стандартной FreeBSD системные сообщения не выводятся на первую консоль, их можно просмотреть, нажав .
Присутствует и графическая система X.Org 6.9.0, в качестве графической оболочки используется популярный оконный менеджер fluxbox. В новой версии Frenzy fluxbox настроен так, что можно перемещать и масштабировать окна, используя клавиатурные комбинации. Меню программ можно вызвать, просто щелкнув правой кнопкой мыши на рабочем столе или нажав клавишу «Windows» на клавиатуре (к чему многие привыкли).
Меню программ в fluxbox стоит отметить особо. В нем содержатся практически все утилиты, входящие в состав Frenzy (консольные утилиты запускаются в окне терминала rxvt). Кроме того, они рассортированы по темам, что позволяет легко найти нужную программу (рис. 2).
Рисунок 2. Меню fluxbox
Перечислять все программы, входящие в состав дистрибутива, можно долго – в standard-версию входит более 500 пакетов, в extended – более 600. Полный список программ, входящих в состав Frenzy, вы можете найти в документации по системе или на сайте проекта. Мы же рассмотрим только некоторые программы, представляющие интерес для системных администраторов.
Набор программ для работы сетью в Frenzy весьма велик. Помимо стандартных утилит ping и traceroute присутствует полезная утилита mtr, сочетающая в себе преимущества обеих программ. Статистику трафика, проходящего через компьютер, можно посмотреть с помощью trafshow. Хочется отметить утилиту darkstat, выводящую статистику о проходящем трафике через веб-интерфейс. Для работы с беспроводными сетями присутствует набор утилит bsd-airtools и популярная утилита kismet.
Для подключения к другим компьютерам в сети можно воспользоваться ssh-клиентом PuTTY, терминальным клиентом для Windows Terminal Services rdesktop или VNC-клиентом tightvnc. Обзор сетевого окружения можно выполнить с помощью LinNeighborhood. Для работы с базами данных есть клиенты MySQL и PostgreSQL. Есть несколько SNMP-клиентов (консольный braa и графический mbrowse) и LDAP-клиентов (консольный ldapvi, позволяющий редактировать LDAP через текстовый редактор, и «иксовый» gq).
Утилита rbllookup позволит выяснить, внесен ли ваш IP в «черный список» на каких-либо blacklist-серверах. Для перевода форматов масок подсети и их расчета пригодятся cidr, ipcalc и whatmask.
В дистрибутиве имеются утилиты для сканирования портов (естественно, не обошлось без ставшего классическим сканера NMAP), получения различной информации о компьютерах в сети – версиях ОС и установленных сетевых служб. Не обошлось и без снифферов – кроме Ethereal и Ettercap, присутствует также стандартный tcpdump с графическим фронтэндом netdude.
Для проверки компьютеров на различные уязвимости предназначена популярная клиент-серверная программа nessus, о которой написаны десятки статей. Добавлю только, что в состав Frenzy входит вспомогательная утилита autonessus, позволяющая проводить сканирование компьютеров и сетей в «пакетном» режиме без вызова графического интерфейса клиента nessus. Отчет о сканировании сохраняется в HTML-файле и может быть просмотрен в любом браузере.
Проверить компьютер на наличие вирусов вы сможете с помощью антивирусного пакета clamav. В состав дистрибутива входит вирусная база, актуальная на начало июня, поэтому перед началом вирусной проверки обновите базу утилитой freshclam. Впрочем, в UNIX-системах намного чаще встречаются руткиты, нежели вирусы. Найти их помогут rkhunter и chkrootkit. Для удобного просмотра и анализа log-файлов, что немаловажно при анализе последствий атаки злоумышленников, в Frenzy имеются программы ccze, log_analysis, abck, logtool.
Работа с аппаратным обеспечением компьютера представлена целым рядом утилит. Информацию об аппаратном обеспечении помогут собрать утилиты pciutils, dmidecode, udesc_dump. Для получения данных с сенсоров температуры и напряжения на материнской плате служат consolehm, lmmon и mbmon.
В состав дистрибутива входят утилиты для работы с файловыми системами UFS, FAT, NTFS, EXT2/EXT3, ReiserFS, XFS.
Среди утилит для работы с диском стоит отметить утилиту gpart, позволяющую восстановить поврежденную таблицу разделов (меня она спасала неоднократно, несмотря на то, что она не всегда справляется со сложной разметкой диска со множеством логических разделов). Для тех же целей можно использовать и testdisk, который помогал мне даже в тех случаях, когда gpart оказывалась бессильна. Для проверки разделов жесткого диска также весьма полезен будет набор утилит для восстановления файлов – fatback, fatundel, ntfsundelete. Утилиты magicrescue и foremost способны восстанавливать файлы по известным сигнатурам даже в случае полного разрушения файловой системы независимо от ее типа.
На диске присутствует большая коллекция бенчмарков для оценки производительности процессора, файловой системы, сети и компьютера в целом.
В новом релизе появилась также утилита для стресс-тестирования stresstest, позволяющая оценить, насколько подходит существующая аппаратная конфигурация для работы в качестве интернет-сервера.
В extended-версию Frenzy входят эмуляторы dosbox и qemu. DosBox позволяет запускать в Frenzy DOS-программы, а QEMU, являющийся свободным аналогом VMWare, позволяет запускать практически любую операционную систему.
В целом можно сказать, что набор программ покрывает практически все потребности системного администратора.
Настройка и установка
Кроме традиционного sysinstall, в Frenzy имеется конфигурационный центр frconf, с помощью которого вы можете настроить систему (рис. 3). В частности, с помощью этой утилиты легко создать swap-файл на указанном разделе диска. Для настройки сетевых подключений предназначена утилита netconf. С ее помощью можно настроить соединение по локальной сети, dialup-соединение, VPN-соединение (в качестве VPN-клиента используется mpd) и соединение через ADSL-модем. Утилита servconf предназначена для быстрого конфигурирования и запуска различных серверов. Она позволит быстро запустить SSH-сервер, FTP-сервер, веб-сервер thttpd и сервер Samba.
Рисунок 3. Конфигурационные утилиты frconf, netconf, servconf
Все сделанные настройки можно сохранить на дискету, жесткий диск или USB Flash с помощью утилиты frbk. При следующей загрузке Frenzy настройки будут восстановлены автоматически.
Одной из самых долгожданных новинок в Frenzy 1.0 стала возможность установки на жесткий диск и USB Flash. Эта возможность была добавлена по многочисленным просьбам пользователей Frenzy, которые желали видеть на своем жестком диске FreeBSD, настроенную точно так же. Процесс установки весьма прост – набираете «install2hdd» и следуете инструкциям инсталлятора. Правда, упрощение процесса установки привело к тому, что вся система устанавливается на один слайс, создание отдельных разделов для /var, /usr и т. п. не предусмотрено. Для рабочей станции это приемлемо, но для сервера такую конфигурацию я не рекомендую.
После установки Frenzy на жесткий диск вы получите полноценную ОС FreeBSD с набором программ. Разве что исходные коды системы (src) и коллекцию портов (ports) нужно будет установить самостоятельно.
Правда, не обошлось без ложки дегтя. В установленной на жесткий диск Frenzy 1.0 после выключения питания наотрез отказывается запускаться fsck для проверки диска. Конечно, его можно запустить вручную или с LiveCD, но лучше исправить проблему сразу. Поэтому сразу после установки редактируем файл /etc/fstab и меняем в описании точки монтирования корневой файловой системы нули на единицы:
# Device Mountpoint Fstype Options Dump Pass#
/dev/ad0s1a / ufs rw 1 1
Установка на USB Flash выполняется утилитой «install2flash» также просто. Утилита установки автоматически разбивает флешку на два раздела – один для установки Frenzy (размер зависит от типа дистрибутива, 50-250 Мб), второй – для хранения данных (под него резервируется все оставшееся место).
Frenzy SDK
Кроме ISO-образов, в сети доступен и комплект Frenzy SDK, предназначенный для самостоятельной сборки собственного дистрибутива Frenzy. В его состав входят сборочные скрипты, архивы исходных кодов FreeBSD и дерева портов, пакаджи и исходные коды для всех программ из Frenzy.
Структура сборочных скриптов заметно изменилась по сравнению с предыдущими версиями. Появилась поддержка нескольких версий сборки – сейчас одна и та же структура скриптов используется для сборки standard и extended версий как англоязычной, так и русскоязычной, достаточно лишь внести изменения в файл конфигурации. Ручное вмешательство в процесс сборки сведено к минимуму – нужно положить собранные пакаджи в нужный каталог и подправить конфигурацию сборочных скриптов. Подробную информацию о работе с набором SDK можно найти в официальной документации по Frenzy.
Что дальше?
Естественно, развитие дистрибутива продолжается. В следующей версии планируется в первую очередь включить новую реализацию unionfs для FreeBSD от Daichi Goto, которая в настоящее время существует в виде набора патчей. Это позволит реализовать модульную структуру LiveCD (как это уже сделано в популярном чешском дистрибутиве SLAX), что заметно упростит процесс самостоятельной сборки и модификации дистрибутива. Также планируется интегрировать tmpfs, портированную из NetBSD, которая намного выигрывает в быстродействии у mfs-реализации RAM-дисков в FreeBSD.
В недавнем обзоре на Distrowatch Frenzy был назван лучшим LiveCD-дистрибутивом на основе FreeBSD как для системных администраторов, так и для начинающих пользователей. Действительно каждый может найти в этом дистрибутиве что-то полезное и интересное. Новички могут начать знакомство с FreeBSD именно с этого дистрибутива, не устанавливая ОС на жесткий диск. Продвинутые пользователи найдут множество полезных программ. Ну а системные администраторы, для которых и разрабатывался дистрибутив, не раз воспользуются Frenzy в своей повседневной работе. Лично меня Frenzy выручала неоднократно, надеюсь, что и вам она тоже пригодится.
Приложение
Запись на NTFS в FreeBSD
Практически на каждом форуме по FreeBSD появляется вопрос: «Поддерживает ли FreeBSD запись на NTFS?». Ответ на него был стандартен: «Нет, не поддерживает». Ситуация изменилась только после портирования в FreeBSD популярной в Linux дистрибутивах системы FUSE (Filesystem in Userspace), позволяющую легко создавать драйверs для любых файловых систем. Теперь после установки из портов модуля fuse и комплекта утилит ntfsprogs возможна частичная запись на NTFS (полную запись драйвер linux-ntfs из состава ntfsprogs пока не поддерживает). В Frenzy такая возможность тоже имеется.
Смонтировать NTFS для записи можно командой:
ntfsmount /dev/ad0s3 /mnt/ntfs -o force
Полностью поддерживается чтение и редактирование имеющихся файлов, частично – создание, перемещение и удаление каталогов и файлов. Под «частично» подразумевается, что в некоторых случаях операция проходит успешно, в некоторых – нет. Поскольку драйвер является экспериментальным, пользоваться возможностью записи на NTFS стоит только в случае крайней необходимости (к примеру, для сброса пароля на установленной Windows XP с помощью утилиты chntpw).
LiveCD для сисадминов
Кроме Frenzy, есть и другие LiveCD-дистрибутивы, ориентированные на системных администраторов. Правда, практически все они основаны на том или ином дистрибутиве Linux. GRML (http://grml.org) предлагает большой набор утилит для сисадминов для восстановления системы, анализа сети и просто для работы. INSERT (http://www.inside-security.de/insert_en.html) содержит такие полезные утилиты, как утилита gparted для редактирования и изменения размеров разделов жесткого диска, и антивирусный пакет clamav, занимая при этом всего 50 Мб. Stresslinux (http://www.stresslinux.org) предназначен специально для стресс-тестирования и мониторинга аппаратного обеспечения. И напоследок вспомним о Backtrack (http://www.remote-exploit.org/index.php/BackTrack), образовавшемся в результате слияния дистрибутивов WHAX и Auditor, который предлагает большой набор утилит для анализа безопасности компьютеров и сетей.