Если ранее выпускавшиеся версии программных виртуальных машин работали как исполняемые модули, то новые их версии функционируют в формате служб и наделены такими широкими возможностями, как автоматический запуск и выключение VM при запуске и выключении хост-машины, программные средства VM для управления гостевыми системами в среде Web, а также интерфейсом прикладного программирования для сценариев. Один хост-сервер VM обеспечивает поддержку Web-сервера, ретранслятора почты с функциями борьбы со спамом и даже средств защиты, таких как система выявления вторжений intrusion detection system (IDS) или программа для обнаружения уязвимых мест, в качестве отдельных "гостей" на этом хост-сервере VM. Таким образом обеспечивается возможность снижения затрат на аппаратные средства и создания тестовой сети, эмулирующей физические производственные сети. А поскольку "гостевые" компоненты выполняются отдельно друг от друга, каждый из них можно перезапускать независимо от остальных.
Виртуальные машины полезны для ответственных за безопасность администраторов, чьи любимые средства защиты данных выполняются только в определенных операционных средах. К примеру, администратор может со своей основной настольной системы управлять серверами Windows и работать с приложениями Microsoft Office под Windows - и в то же время задействовать дистрибутив Linux для запуска таких средств безопасности, как Snort компании Sourcefire, Nessus Vulnerability Scanner или использовать VM для системы Unix с ее мощной и гибкой командной оболочкой. На Рис. 1 показано, как дистрибутив Linux BackTrack выполняется на виртуальной машине, установленной на компьютере с Windows.
И даже если у вас мало опыта в области настройки таких операционных систем, как Linux, - эта задача без особых хлопот решается с помощью загружаемого компакт-диска (иначе называемого Live CD), который содержит полностью настроенную операционную систему, укомплектованную приложениями. Live-дистрибутивы облегчают процесс тестирования, оценки различных программных средств для обеспечения безопасности, да и просто знакомства с ними, потому что пользователю не приходится загружать и устанавливать каждую программу по отдельности. Давайте поподробнее рассмотрим вопрос о том, как загружаются и устанавливаются программные средства VM, а также весь набор бесплатно распространяемых средств обеспечения безопасности в среде Linux.
Установка дистрибутива Linux в VM
Начнем с выбора программной среды хоста для VM. Давно занимающаяся разработкой виртуальных машин компания VMware столкнулась с новым конкурентом в лице Microsoft Virtual PC 2007. В мире систем Macintosh пакет виртуализации Parallels Desktop for Mac захватил рынок Mac-систем на базе процессоров Intel, поскольку дает возможность пользователям Mac OS X запускать на своих машинах Windows, Linux и другие традиционные операционные системы x86. Для достижения целей данной статьи мы будем загружать и настраивать VMware Server с тем, чтобы запустить в хост-системе VMware популярный дистрибутив Linux со средствами безопасности BackTrack.
Прежде всего, загрузите и установите новейшую версию продукта виртуализации VMware Server (http://www.vmware.com/products/free_virtualization.html). Главная VM эмулирует аппаратуру компьютера Intel x86, но программные компоненты VM часто включают в себя средства настройки для конкретных операционных систем, поэтому прежде чем приступить к созданию гостевой VM, нужно выяснить, какую операционную систему вы будете на ней эмулировать. В нашем примере предусматривается установка дистрибутива BackTrack, который можно загрузить по адресу http://www.remote-exploit.org/backtrack_download.html. Загрузите файл образа (ISO) в каталог на главном компьютере. Переносить его на компакт-диск не нужно; вы настроите VM для запуска непосредственно из файла ISO.
Завершив установку VMware Server, нужно открыть консоль VMware Server Console и подключиться к серверу LocalHost. Нажмите кнопку New Virtual Machine и создавайте гостевую систему в соответствии с указаниями мастера. Когда система предложит указать гостевую операционную систему, выберите Linux, а затем конкретный дистрибутив или ядро. BackTrack использует версию дистрибутива Slackware с ядром 2.6.x, но поскольку Slackware в списке дистрибутивов не указан, выберите самый близкий к нему вариант - Other Linux 2.6.x kernel.
По умолчанию гости VMware размещают свои логические жесткие диски в одном файле на главном компьютере; иными словами, сервер VMware создает файл, который эмулирует используемые гостями виртуальные диски. Я часто называю каталоги именами гостевых VM, и в данном случае предлагаю назвать VM BackTrack и указать каталог как C:Virtual MachinesBackTrack. VMware Server позволяет указывать настройки для конкретного гостя, например уточнять, должен ли гость выполняться в локальной системе или под другой учетной записью, либо нужно включать и выключать гостевую систему при запуске и выключении хоста. Выполните настройки согласно своим потребностям. Далее, если вы установите на главном компьютере модуль оперативной коррекции, предусматривающий необходимость перезагрузки, можете просто дать хост-компьютеру команду перезагрузиться, и он позаботится о том, чтобы должным образом закрыть, а затем перезапустить выполняемые на нем гостевые виртуальные машины. Так можно обеспечить экономию времени.
Когда мастер предлагает указать конфигурацию виртуальной аппаратуры гостя, я обычно выбираю 256 Мбайт памяти для недорогого компьютера Linux и 512 Мбайт памяти для недорогой гостевой виртуальной системы Windows. В конечном счете эти решения полностью зависят от среды и от того, какие приложения будут выполняться на гостевой системе. Поэтому вы сможете с легкостью увеличивать или уменьшать объем выделенной памяти позднее, перемещая ползунок в консоли VMware Server.
VMware Server поддерживает многообразные варианты сетевых конфигураций. С помощью VMware Server можно указать вариант маршрутизируемых сетей с главной или виртуальными сетями, Network Address Translation (NAT) или сетевое соединение только с главным компьютером. В контексте рассматриваемого нами примера выберите маршрутизируемую сеть, поскольку этот вариант точно эмулирует физический компьютер, подключенный к той же локальной сети, что и главный сервер VM. В такой конфигурации гостевая система VMware напрямую взаимодействует с той сетью, к которой подключена главная машина VMware. К примеру, она получит собственный адрес DHCP, если сеть настроена соответствующим образом, а другие компьютеры сети будут взаимодействовать с гостевой VMware таким же образом, как с любым другим компьютером сети.
Теперь настройте жесткие диски. Я пришел к выводу, что при использовании VMware Server в большинстве случаев подходят предлагаемые по умолчанию настройки, но если гостевой операционной системе не удается распознать жесткий диск, попробуйте подобрать другой адаптер или заменить шину между ATAPI и SCSI. VMware дает возможность указывать емкость жесткого диска гостевой VM, но не требует, чтобы пользователь сразу же занимал это пространство. Так, можно указать виртуальный диск емкостью 40 Гбайт, но если вы установите операционную систему размером всего в 1 Гбайт, на накопителях главной машины будет фактически использоваться только 1 Гбайт дискового пространства. Возможно, распределение дискового пространства подобным образом приводит к некоторому снижению производительности, но мне нравится гибкость, обеспечиваемая в этом случае.
Итак, гостевая VM создана. Теперь вы можете настроить виртуальный накопитель CD-ROM таким образом, чтобы он был соединен и загружался от BackTrack ISO при включении гостевой системы. На консоли VMware Server Console выделите вновь созданную гостевую виртуальную машину BackTrack и выберите элемент Edit virtual machine settings. Щелкните на значке CD-ROM, измените соединение на Use ISO image. Затем отыщите файл BackTrack ISO и выделите его.
Наконец, нажмите ОК, сохраняя внесенные изменения. На консоли нажмите значок кнопки питания - таким образом гостевая виртуальная машина будет включена. Если вы правильно настроили виртуальный накопитель CD-ROM, то увидите, как гостевая виртуальная машина загружает ISO и набор средств защиты BackTrack. Теперь в вашем распоряжении должна оказаться полнофункциональная версия всех инструментальных средств, которые выполняются "внутри" главного компьютера, но в то же время доступны из локальной сети.
В виртуальной среде
Познакомьтесь со списком других содержащих средства защиты дистрибутивов, опубликованным по адресу http://sectools.org/sec-distros.html. Помните, что ваша виртуальная машина представляет собой полноценную операционную систему и что VMware Server дает возможность создавать коммутируемую виртуальную сеть внутри хоста. Поэтому когда у вас в следующих раз возникнет потребность в установке Microsoft ISA Server или брандмауэра Unix, такого, как pfSense или SmoothWall, рассмотрите возможность установки брандмауэра - а также сети - внутри виртуальной машины. Понятно, что по соображениям безопасности вы вряд ли захотите устанавливать производственный брандмауэр в разделяемой среде виртуальной машины, но все же надо отметить, что это великолепная среда для организации оперативного тестирования различных конфигураций брандмауэров или подсетей безопасности, которое в иных условиях потребовало бы привлечения множества аппаратных компонентов.