пятница, 17 апреля 2009 г.

Обзор живых дистрибутивов Linux для системного администратора

Linuxoid - все что знаю о Туксе » Blog Archive » Обзор живых дистрибутивов Linux для системного администратора

Статья написана для журнала Хакер

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

Рекогносцировка на местности

Выбор среди специализированных дистрибутивов на базе LiveCD действительно огромен, и здесь очень важно не запутаться и подыскать себе именно тот инструмент, который максимально подойдет под решение твоих задач. Очень популярен у админов целый класс дистрибутивов, реализующих функции маршрутизатора и брандмауэра. Многие пользователи приходят к свободным ОС именно после знакомства с одной из подобных систем. Но есть и другие решения, при помощи которых очень просто установить и настроить веб или почтовый сервер, программную АТС на базе Asterisk и т.д. Все они в той или иной мере направлены на решение задач по организации определенного сервиса. Кроме этого, существует великое множество дистрибутивов, направленных на обслуживание компьютеров и сетей. Именно о таких решениях и пойдет речь в этой статье. Для удобства разделим их на несколько групп:

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

Дистрибутивы для работы с жестким диском

Проект GParted (GNOME Partition Editor, gparted.sf.net), в рамках которого разрабатывается одноименный редактор дисковых разделов для *nix систем, предлагает также LiveCD дистрибутив небольшого размера (чуть больше 90 Мб), построенный на основе Debian. GParted умеет работать с таким большим количеством файловых систем, которое и не снилось популярному PartitionMagic - ext2, ext3, FAT16, FAT32, HFS, HFS+, UFS, JFS, NTFS, ReiserFS, Reiser4, XFS. Помимо этого, дистрибутивом поддерживаются тома LVM2 и FUSE. Графический интерфейс локализован и построен на базе оконного менеджера Fluxbox. Система не требовательна к ресурсам, для запуска достаточно иметь компьютер с 64 Мб ОЗУ. Доступны версии, позволяющие загружаться не только с CD, но и с USB устройства, возможна и сетевая PXE загрузка. Стартовое меню позволяет выгрузить содержимое диска в ОЗУ и освободить привод.

Если нужно подготовить жесткий диск к установке новой ОС, GParted - лучший выбор

Если нужно подготовить жесткий диск к установке новой ОС, GParted - лучший выбор

Из дополнительных возможностей стоит отметить наличие программы Partition Image (www.partimage.org), при помощи которой можно создать образ раздела с файловыми системами, список которых аналогичен GParted (UFS, NFS и NTFS пока отмечены как экспериментальные). Есть и TestDisk (www.cgsecurity.org/wiki/TestDisk), позволяющий проверить и восстановить дисковые разделы. Также в комплект включен файловый менеджер Midnight Commander, текстовые редакторы Vim и Nano и некоторые другие утилиты. Единственным минусом GParted Live является отсутствие нормальной поддержки сети, поэтому, например, возможности того же Partition Image реализованы далеко не полностью.
Для создания образов разделов диска существует специальное решение - система клонирования Clonezilla (www.clonezilla.org). Состав приложений - Partition Image, ntfsclone, partclone, dd и udpcast позволяет клонировать большое количество файловых систем и копировать образ на другой раздел или по сети (Samba, NFS, SSH). Предлагаются две версии дистрибутива: Clonezilla Live и Clonezilla SE (Server Edition). Вторая позволяет не просто копировать разделы, но и клонировать системы. С его помощью можно легко перенести копию системного раздела на 40 систем (а возможно и больше) всего за 10 минут. Поддерживается загрузка с CD, USB флэшки, жесткого диска и по сети (PXE).

В Clonezilla образ диска можно сохранить на сетевой ресурс

В Clonezilla образ диска можно сохранить на сетевой ресурс

Главный спасатель

Для решения внештатных ситуаций, которые могут возникнуть в процессе повседневной эксплуатации сервера или клиентского компьютера, могут потребоваться различные инструменты. Очень удобно, когда они собраны в одном месте. Одним из самых популярных дистрибутивов, направленных на решение этой задачи, является SystemRescueCD (www.sysresccd.org), который выполнен в виде LiveCD (возможна установка на флэшку). В состав SystemRescueCD входит большое количество утилит, при помощи которых можно восстановить систему после сбоя, подготовить диск для установки новой ОС, протестировать аппаратную часть компьютера, забэкапить данные и многое другое.
Основой SystemRescueCD послужил Gentoo. Ядро дистрибутива 2.6.25.16 поддерживает все файловые системы Linux, включая Reiser4, Btrfs (новая файловая система, разрабатываемая при поддержке компании Oracle, своеобразный ответ на ZFS), а также сетевые SMB и NFS. Причем в состав последней версии дистрибутива 1.1.0 включено четыре ядра: основное и альтернативное, каждое в двух вариантах - для работы с 32 битными системами (i486 оптимизация) и 64 битное.

SystemRescueCD - отличный инструмент для восстановительно-спасательных работ

SystemRescueCD - отличный инструмент для восстановительно-спасательных работ

Размер образа дистрибутива 230 Мб, поэтому в комплекте есть все необходимое админу, включая и документацию по работе. Полный список доступных параметров загрузки можно просмотреть, нажав клавиши – . Стартовое меню позволяет установить не только ряд настроек (разрешение экрана в framebuffer, загрузка с жесткого диска, USB-устройства и т.д.), но и запустить ряд весьма полезных утилит. Среди них - тест оперативной памяти (memtest), свободный аналог операционной системы DOS - FreeDOS с рядом утилит в комплекте (freedos), загрузчик Graphical Boot Manager (gag), тест для определения оборудования (aida), утилита Darik’s Boot and Nuke для уничтожения данных без возможности их дальнейшего восстановления (dban), низкоуровневая утилита для работы с разделами жесткого диска (mhdd). В итоге еще даже не загрузив основную систему, мы уже получаем богатый набор полезных утилит.
После загрузки в рутовую консоль выводится таблица основных команд. Начиная с версии 0.3, в SystemRescueCD появился X-сервер с оконным менеджером WindowMaker, загрузить который можно, введя «startx». В системе насчитывается несколько сотен утилит, и в большинстве случаев для решения одной задачи предлагается несколько инструментов. Например, fdisk, GNU/Parted, GParted для работы с разделами жесткого диска и полный набор консольных утилит, предназначенных для работы со всеми типами разделов: e2fsprogs, reiserfsprogs, reiser4progs, xfsprogs, jfsutils, ntfstools (ntfsresize, ntfsclone и прочие), dosfstools, sfdisk, которые позволяют их форматировать, изменять размер, переопределять. Есть пакет mtools, предназначенный для работы с DOS файлами. Поддержка сети позволяет на полную реализовать возможности клиент-серверной архитектуры PartImage (оба входят в комплект). Кроме gag, в состав дистрибутива включены загрузчики GRUB и LILO, что позволяет использовать SystemRescueCD для их восстановления, например, в том случае, когда загрузчик затерт во время установки Windows. Для удобного перемещения по каталогам в наличии файловый менеджер Midnight Commander. Имеется несколько редакторов текста – vim, elvis, nano, joe, qemacs и графический Leafpad. Приложения и утилиты, входящие в состав SystemRescueCD, можно перечислять еще долго. Есть здесь и популярные архиваторы (gzip, bzip, rar, tar и другие), программы для записи CD/DVD (cdrecord, dvd-rw-tools, cdrtools, mkisoft). Кроме параноидального dban, доступного при загрузке, есть другие утилиты, позволяющие стереть информацию без следа - shred, wipe. А с помощью антивируса ClamAV можно проверить жесткий диск на наличие вирусов (обновление антивирусных баз производится при помощи freshclam).
Ни один современный дистрибутив нельзя представить без функций работы с сетью. В отличие от GParted, в комплекте SystemRescueCD есть утилиты для работы с Samba, ftp клиент, сервер и клиент SSH, VNC сервер. Из сетевых приложений стоит отметить наличие консольных веб-браузеров lynx, elinks и графического Bon Echo (альфа Firefox 2.0.0.16), популярного сканера Nmap, многофункциональной сетевой утилиты netcat и nslookup для DNS запросов.

Пен-тестинг с BackTrack

LiveCD взяли на вооружение и специалисты по безопасности. В результате за короткий срок появилось около десятка решений с явно хакерским уклоном, при помощи которых можно протестировать системы и сети на наличие уязвимостей. Пик их развития пришелся на 2003-2005 годы, но, к сожалению, часть популярных тогда проектов в настоящее время не развивается.
Швейцарский BackTrack (www.remote-exploit.org) возник в 2004 году в процессе слияния двух дистрибутивов: Auditor Security Linux и WHAX (ранне Whoppix), задачи которых совпадали. Целью проекта Auditor Security “The Swiss Army Knife for security assessments” являлось всестороннее тестирование Linux систем, для чего он содержал более 300 утилит для выявления и устранения проблем в сетевых и системных настройках. Разработки WHAX (White Hat + SLAX) были сосредоточены на тестировании на проникновение (penetration test). Основным направлением в развитии BT было выбрано обеспечение максимальной поддержки оборудования и обеспечение большей гибкости и модульности для упрощения поддержки и обновления системы. В итоге в последней версии —final3, выпущенной в июне 2008 года, большинство приложений строятся как отдельные модули. А поддержка Eee PC может превратить этот небольшой компьютер от Asus в весьма мощное оружие админа. Основан BackTrack на Slackware 12.0 и наборе скриптов проекта SLAX (www.slax.org). В качестве графической оболочки предложены KDE 3.5.7 и Fluxbox. Распространяется в виде LiveCD, есть расширенный вариант для использования на USB флэшках и файл для VMware. Возможна установка на жесткий диск.
Загрузочное меню предлагает несколько вариантов – KDE (по умолчанию), Fluxbox, KDE в ОЗУ, VESA режим, без сети и несколько текстовых режимов.
Сама загрузка в LiveCD происходит очень быстро, даже при выборе в качестве рабочей среды KDE. В процессе будут найдены и автоматически настроены все устройства, включая сетевые карты (DHCP) и WiFi. Все операции производятся от имени пользователя root, поэтому следует быть осторожным в работе. Хочется особо отметить стильный вид рабочего стола и продуманность меню. В сжатом архиве находится около 2.7 Гб данных, но запутаться в приложениях невозможно. Все находится на своих местах, везде, где это необходимо, выводятся подсказки.
В меню BackTrack находим несколько сотен специальных программ, разбитых на 11 основных групп. Среди них: сетевые сканеры, анализаторы протоколов и снифферы, эксплоиты (SecurityFocus, PacketStorm, Metaspl0it Framework 2/3 и др.), брутфорсеры, утилиты для работы с прокси, Cisco-инструментарий, утилиты для анализа беспроводных сетей, VoIP-сервисов, реверс инжиниринга и других. Например, в меню “VoIP & Telephony Analysis” я насчитал 32 ссылки.

Количество утилит в BackTrack впечатляет

Количество утилит в BackTrack впечатляет

В качестве бонуса предложен вполне приличный пользовательский набор (мультимедиа, программы для работы с графикой, текстовые редакторы, интернет-приложения и т.д.). Отсутствуют лишь привычные в юзерских дистрах категории - Office и Games. Все это позволяет использовать BackTrack как обычную систему. В комплекте поставляется утилита slapt-get, а недостающие пакеты можно брать из слаки (хотя slapt-get из коробки не работает, перед использованием ее следует настроить).

В составе BackTrack находим большое количество эксплоитов

В составе BackTrack находим большое количество эксплоитов

В меню находятся ссылки на документацию связанных проектов, что поможет быстро освоиться с работой неизвестных программ. За советами следует обращаться на форум и wiki проекта (forums.remote-exploit.org, wiki.remote-exploit.org).

Ищем след с DEFT

Согласно статистике, более 60% компьютеров в Сети заражены вирусами или находятся под контролем хакеров, которые используют их для своих целей. Чтобы разобраться с проблемой, собрать доказательства, которые, возможно, помогут поймать того, кто это сделал, существуют специальные инструменты и дистрибутивы. Одним из таких решений является DEFT Linux (www.deftlinux.net), название которого произошло от акронима “Digital Evidence & Forensic Toolkit”. Возник этот дистрибутив усилиями группы специалистов, занимающихся расследованием компьютерных преступлений. Первая версия DEFT v1 вышла в свет в 2006 году и базировалась на Kubuntu 6.10. Сегодня доступна четвертая версия, в которой в качестве основы выбран Xubuntu 8.10 с рабочим столом XFce. Выбор дистрибутива гарантирует совместимость с тем оборудованием, которое поддерживается семейством Ubuntu.
Процесс загрузки DEFT мало отличается от Ubuntu, хотя есть свои особенности. Так разделы жестких дисков и прочих носителей автоматически не монтируются. Специфика дистрибутива такова, что все операции исследователь производит вручную, тщательно контролируя каждый шаг. Поэтому и вставленная в рабочей системе флэшка не подхватывается. Графический интерфейс по умолчанию также не запускается, чтобы увидеть XFce, следует набрать в консоли «deft-gui».
Первое, что бросается в глаза в рабочей среде, - это наличие большого количества значков на рабочем столе, предназначенных для запуска специфических приложений и отсутствие привычного в Ubuntu ярлыка для установки на жесткий диск. Что вполне логично и ожидаемо, ведь в подобных решениях выполнять запись на жесткий диск нужно крайне осторожно, достаточно изменить время обращения к файлу, как данные нельзя затем будет использовать в доказательствах.

Собранный на Xubuntu дистрибутив DEFT содержит все необходимое для сбора доказательств о взломе

Собранный на Xubuntu дистрибутив DEFT содержит все необходимое для сбора доказательств о взломе

В первую очередь в дистрибутиве стоит отметить популярные OpenSource решения, используемые для сбора данных на скомпрометированной системе, - коллекция утилит Sleuth Kit (TSK) и графическая оболочка к ним Autopsy (Autopsy Forensic Browser). Ранее для хранения образов диска исследователи использовали RAW образ диска, созданный при помощи dd или ее аналога dd_rescue. Размер такого образа совпадал с исходным и соответственно требовал много места для хранения, кроме этого, часто терялись важные метаданные. Поэтому для хранения образов дисков был создан специальный открытый и расширяемый формат AFF (Advanced Forensics Format), библиотеки для поддержки которого основными утилитами также имеются в дистрибутиве.
В комплект включены программы практически по всем направлениям, которые могут понадобиться исследователю. Для работы с жестким диском и проверки его состояния – Gpart, parted и интерфейсы Gparted и QTparted, TestDisk. Для восстановления файлов по их заголовкам и структуре включена консольная утилита Foremost. Определить тип файла можно при помощи trID. Имеются утилиты для поиска скрытой информации внутри файла-контейнера - Steg detect и набор утилит OutGuess. Приложения для работы с hex данными - hex dump и KHex. Разработчики предусмотрели возможность восстановить/подобрать пароль при помощи Ophcrack и John the Ripper. Есть программы и для поиска вирусов и руткитов – ClamAV, chrootkit, rkhunter.
Полностью поддерживается работа по сети. Для этого в состав DEFT включены Samba, OpenSSH сервер, RDesktop и многие другие утилиты. Кроме них в меню Network найдем незаменимые для каждого админа программы - Nessus, Nmap, FireShark, Ettercap, Kismet и AirSnort.

Установка BackTrack на USB-флэшку и Eee PC

Для установки BackTrack на USB-флэшку или Eee PC можно использовать LiveCD, но лучше взять специальный вариант BackTrack 3 USB version (размер 783 Мб). Размер флэшки должен быть не менее 1 Гб (для Eee PC нужна SD-карта), файловая система - FAT32. Распаковываем скачанный ISO образ. В Windows можно использовать WinRAR или специальную утилиту вроде UltraISO, ISOBuster. В *nix просто монтируем исошку во временный каталог:

# mount -o loop -t iso9660 bt3-final.iso /mnt/iso

Копируем на флэшку находящиеся внутри каталоги bt3 и boot. Затем надо сделать флэшку загрузочной. Для этого запускаем находящийся в каталоге bt3 скрипт bootinst.bat (в Windows) или bootinst.sh (*nix). Как вариант, самостоятельно вводим нужную команду:

# boot/syslinux/syslinux -d boot/syslinux /dev/sdd

Или в Windows:

K:\boot\syslinux\syslinux.exe -ma -d \boot\syslinux K:

Где /dev/sdd и K: - название диска.
Для Eee PC необходимо еще подправить файл boot/syslinux/syslinux.cfg, прописав после строки “APPEND vga=0×317 initrd=/boot/initrd.gz …” строчку (во время загрузки системы SD будет /dev/sda) “changes=/dev/sda2″.

Комментариев нет: