→ Открыть файл vmx. Что такое расширение файла VMX? Как исправить проблемы с открытием файлов VMX

Открыть файл vmx. Что такое расширение файла VMX? Как исправить проблемы с открытием файлов VMX

Мы надеемся, что помогли Вам решить проблему с файлом VMX. Если Вы не знаете, где можно скачать приложение из нашего списка, нажмите на ссылку (это название программы) - Вы найдете более подробную информацию относительно места, откуда загрузить безопасную установочную версию необходимого приложения.

Что еще может вызвать проблемы?

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

Вы хотите помочь?

Если у Вас есть дополнительная информация о расширение файла VMX мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся и отправьте нам свою информацию о файле VMX.

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

Компания VMware, один из опытнейших игроков на рынке виртуализации, предлагает свою платформу VMware Workstation, ориентированную на применение в инфраструктуре небольших организаций, а также ИТ-специалистами для получения новых способов решения повседневных задач. На протяжении почти десятилетней истории развития платформы компания VMware стремилась сделать ее как можно более гибкой и мощной, чтобы максимально большой сегмент пользователей мог ощутить все преимущества виртуализации, работая при этом с простым и понятным интерфейсом.

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

О платформе VMware Workstation 6

Настольная платформа виртуализации VMware Workstation ориентирована, в первую очередь, на ИТ-профессионалов и домашних пользователей, которые нуждаются в создании гибких виртуальных окружений для выполнения самых разных задач. Множество инструментов, содержащихся в платформе, позволяют запускать несколько виртуальных машин на одном физическом компьютере и максимально просто управлять ими. В то же время, за простотой пользовательского интерфейса спрятаны большие возможности конфигурации различных параметров для достижения наилучшего эффекта от виртуальных систем. При развертывании виртуальных десктопов в инфраструктуре предприятия на базе VMware Workstation, системные администраторы получают средства для удобной настройки среды виртуализации, которые содержат в себе конфигурационные файлы, утилиты командной строки для работы с платформой и виртуальными машинами, а также оконные приложения для конфигурации сетевого взаимодействия и виртуальных дисков.

Основные возможности VMware Workstation 6

Шестая версия VMware Workstation, сохранив все преимущества пятой версии, приобрела множество новых интересных функций, которых нет практически ни в одной из аналогичных платформ для виртуализации десктопов. Будучи ориентированной на применение в разработке и тестировании программного обеспечения, VMware Workstation поддерживает большое количество гостевых и хостовых систем, а также имеет множество специализированных инструментов для отладки приложений. Наиболее важные функции VMware Workstation 6 включают в себя:

  • поддержку хостовых ОС Windows и Linux
  • возможность запуска 32- и 64-битных гостевых систем
  • поддержку нескольких мониторов при работе с гостевой ОС в полноэкранном режиме
  • до 8 ГБ оперативной памяти для одной виртуальной машины
  • до 2 виртуальных процессоров и до 10 виртуальных сетевых адаптеров в гостевой системе
  • возможность записи активности виртуальной машины (как в видео формате, так и на уровне действий внутри гостевой системы)
  • простое создание резервных копий систем и получение неограниченного числа мгновенных снимков состояния гостевых систем
  • поддержку интерфейса USB 2.0
  • встроенный VNC-сервер
  • возможность гибкого управления виртуальными сетями и дисками
  • специализированный API (Application Program Interface) для автоматизации административных задач (доступен на языке C)

VMware Player 2.0

Компания VMware предоставляет пользователям хороший бесплатный инструмент для запуска нескольких виртуальных машин на одном физическом хосте, в целях демонстрации программного обеспечения, использования программного обеспечения по модели SaaS (Software as a Service) посредством виртуальных шаблонов (Virtual Appliances) и испытаний ПО, заключенного в изолированную среду. VMware Player не позволяет создавать виртуальные машины и пользоваться некоторыми функциями, присущими полноценной платформе виртуализации, однако в качестве инструмента для запуска уже готовых шаблонов, которые во множестве присутствуют сейчас на рынке, он является подходящим решением. Продукт поставляется в комплекте с VMware Workstation 6 (vmplayer.exe), также он может быть загружен отдельно с сайта компании VMware. Основные возможности продукта включают в себя:

  • запуск 32- и 64-битных гостевых систем
  • поддержку 2-х виртуальных процессоров
  • возможность использования виртуальных систем сторонних вендоров (Microsoft и Symantec)
  • несколько десятков поддерживаемых гостевых систем
  • создание общей среды обмена файлами между хостовой и гостевой системой
  • поддержку интерфейса USB 2.0
  • возможность просмотра сводной информации по виртуальному шаблону (Appliance View)
  • интуитивный интерфейс, подобный обычному видеоплейеру

Шаблоны виртуальных машин сейчас набирают популярность и в скором времени займут свою нишу в способах доставки программного обеспечения конечным пользователям. Поскольку бесплатные Open Source операционные системы становятся более стабильными и доступными, независимые разработчики ПО могут распространять свои приложения «в коробке» с виртуальной машиной. В этом отношении бесплатный VMware Player является одним из лучших решений в этой схеме.

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

Администрирование платформы VMware Workstation 6

Среди множества присутствующих в данный момент систем виртуализации VMware Workstation 6 выгодно отличается разнообразием и гибкостью инструментов для администрирования, как самой платформы, так и виртуальных машин. В частности, платформа позволяет настраивать свои параметры и параметры виртуальных машин через удобный графический пользовательский интерфейс, а также через файлы конфигурации *.ini (для самой VMware Workstation) и *.vmx (для каждой из виртуальных машин). Управление виртуальными машинами может также производиться двумя способами: локально через GUI (Graphical User Interface) и через интерфейс командной строки (CLI, Command Line Interface) локально или удаленно. Кроме того, пользователи могут применять утилиту vmware-vdiskmanager.exe для различных операций с виртуальными дисками, и утилиту vmware-mount.exe для монтирования виртуальных дисков в хостовую систему в качестве логических (эта возможность в VMware Workstation 6 теперь доступна и из GUI консоли).

Один из наиболее частых вариантов использования платформы VMware Workstation – повышение эффективности процесса разработки и тестирования, поэтому в шестой версии появилось несколько нововведений, добавленных специально для этого.

Настройка параметров среды VMware Workstation 6

Платформа VMware Workstation позволяет гибко настраивать параметры среды для поддержки виртуальных систем и создавать удобное окружение для пользователя. Настройки платформы могут быть изменены двумя способами: путем редактирования файла preferences.ini, находящегося в папке «%USERPROFILE%Application DataVMware», а также посредством графического пользовательского интерфейса.

В файле preferences.ini есть несколько секций для настройки окружения. Редактирование следующих параметров представляет наибольший интерес:

  • pref.view.toolbars.list - позволяет управлять отображаемыми элементами меню
  • pref.ws.currentObj - настройки выбранной при запуске Workstation виртуальной машины
  • pref.ws.openedObj - параметры открытых виртуальных систем
  • mks.noBeep = "TRUE" - отключает звуковые сигналы виртуальных машин
  • pref.placement - управление положением окна Workstation

Для редактирования настроек через пользовательский интерфейс необходимо в меню «Edit» выбрать пункт «Preferences».

В этом окне можно настроить окружение рабочей области VMware Workstation:

  • Папка по умолчанию, где будут располагаться виртуальные машины (Default location)
  • Сохранение состояния открытых вкладок с виртуальными машинами (Remember Opened Tabs)
  • Возможность работы виртуальных машин в фоне после закрытия консоли Workstation (Run in background)
  • Включение общих папок (Enable All shared folders)
  • Показывать иконку в системном трее (Show tray icon)
  • Выбранное по умолчанию поколение аппаратного обеспечения (Default hardware)
  • Период проверки апдейтов (Check for Updates)

На вкладке «Input» можно настроить следующие параметры:

  • Перевод фокуса в гостевую систему по нажатию клавиши мыши в области консоли гостевой системы (Grab on mouse click)
  • Перевод фокуса в гостевую систему по нажатию клавиши на клавиатуре (Grab on key press)
  • Вывод фокуса в хостовую систему при покидании области гостевой системы указателем мыши (Ungrab when cursor leaves)
  • Прятать курсор при снятии фокуса из гостевой системы (Hide Cursor)
  • Переводить фокус, когда курсор входит в область окна (Grab when cursor enters)

На следующей вкладке можно настроить горячие клавиши:

Для сохранения этих настроек виртуальная машина должна быть перезапущена. Чтобы нажать в виртуальной машине комбинацию, содержащую Ctrl+Alt, нужно нажать Ctrl+Alt+Пробел, затем отпустить пробел и нажать требуемую клавишу.

На следующей вкладке настраиваются параметры отображения графических консолей:

Здесь можно выставить автоматическое выравнивание окна Workstation и разрешения гостевой системы (требует наличия VMware Tools) – опция Autofit, а также параметры полноэкранного режима, переход в который осуществляется комбинацией Ctrl+Alt+Enter.

На вкладке Tools можно включить автоматическое обновление утилит VMware Tools при следующем запуске гостевой системы. Вкладка Memory позволяет управлять параметрами выделяемой виртуальным машинам памяти.

Здесь настраивается общее количество памяти, выделяемое виртуальным системам, а также возможность использования файлов подкачки (файлы *.vmem в папке с виртуальной машиной).

На следующей вкладке, Priority, задается приоритет для виртуальных машин, находящихся и не находящихся в фокусе (Input grabbed и ungrabbed).

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

На вкладке Devices можно включить или отключить автозапуск CD/DVD-дисков в хостовой системе. Компания VMware рекомендует отключать автозапуск, поскольку он может вызвать непредвиденное поведение виртуальных систем.

Последняя вкладка позволяет задать административный пароль для создания виртуальных машин, изменения их настроек и управления сетевым взаимодействием.

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

Работа с виртуальными дисками

VMware Workstation позволяет создавать несколько типов виртуальных дисков, каждый из которых применим для различных вариантов использования. При создании виртуальной машины можно выбрать один из двух типов дисков:

  • preallocated (указанный объем диска резервируется сразу, при этом неиспользуемое место заполняется нулевыми байтами)
  • growable (диск растет по мере его заполнения)

Первый тип рекомендуется для виртуальных машин, чьи приложения чувствительны к операциям ввода-вывода и требуют высокого быстродействия дисковой системы, второй позволяет экономить дисковое пространство хоста. При создании виртуальной машины можно также разбить диск на блоки по 2 Гб, что очень важно в том случае, если вы планируете использовать ее в файловых системах, не поддерживающих большие размеры файлов (например, FAT32).

Кроме того, диски, создаваемые в Workstation, бывают зависимые (dependent), то есть участвующие при создании мгновенных снимков системы, и независимые (independent), сохраняющие свое состояние независимо от снапшотов. При этом независимые диски, в свою очередь, делятся на постоянные (persistent) и временные (nonpersistent). Первый тип удобен для хранения файлов, которые не будут изменяться при откате к снапшотам (например, хранилище дистрибутивов), второй подходит для различного рода экспериментов: изменения nonpersistent-дисков не сохраняются при выключении виртуальной машины или откате к снапшоту. Помимо этого, VMware Workstation позволяет использовать физические диски хостовой системы напрямую (этот вариант довольно опасен по причине возможной потери данных).

С точки зрения административных задач, необходимо регулярно производить дефрагментацию дисков виртуальных машин, причем в следующем порядке:

  • диски внутри гостевой системы
  • файл виртуального диска средствами VMware Workstation (пункт меню «Defragment» по кнопке «Utilities» в свойствах виртуального диска)
  • диски хостовой системы

Виртуальный диск также может быть смонтирован в хостовую систему (пункт меню «Map» по кнопке «Utilities» в свойствах виртуального диска) и проверен с помощью утилиты scandisk.

Настройка параметров сетевого взаимодействия

Платформа VMware Workstation обладает большими возможностями для конфигурации сетевого взаимодействия между виртуальными машинами и хостовой системой. При создании виртуального сетевого адаптера вы можете указать один из четырех типов сетевого взаимодействия:

  • Bridged (ресурсы виртуального сетевого адаптера разделяются с физическим адаптером хоста, что позволяет виртуальной машине иметь собственный внешний IP-адрес и вести себя по отношению к внешней сети как независимый компьютер)
  • Host-only (виртуальная машина взаимодействует только в пределах хоста, получая IP-адрес от встроенного DHCP-сервера)
  • NAT (виртуальная машина может инициировать соединения во внешнюю сеть через встроенный NAT-сервер VMware, но из внешней сети не видна, при этом внутренний IP-адрес также назначает DHCP-сервер)
  • Custom (сетевой адаптер подключается к выбранному сетевому концентратору, в пределах которого осуществляется сетевое взаимодействие)

Кроме того, платформа VMware Workstation позволяет гибко настроить виртуальное сетевое взаимодействие в пределах хостовой системы с помощью утилиты Virtual Network Editor (vmnetcfg.exe), которая позволяет привязывать виртуальные и физические сетевые адаптеры к виртуальным сетевым концентраторам, а также привязывать к ним DHCP-сервер и устройство NAT. При настройке сетевого взаимодействия виртуальных машин необходимо уделять особое внимание системам с типом взаимодействия Bridged, поскольку они «смотрят» во внешнюю сеть и нуждаются в такой же защите, как и хостовая ОС.

Использование инструментов для разработки и тестирования

Один из главных вариантов использования продукта VMware Workstation - разработка и тестирование программного обеспечения, поэтому компания VMware включила в свою платформу несколько специализированных инструментов для этих целей. В частности, с VMware Workstation могут быть использованы надстройки для интеграции со средами разработки Visual Studio (только для Windows) и Eclipse (Windows и Linux), позволяющие упростить процесс отладки программного обеспечения в виртуальных машинах (Workstation IDE). При настройке инструментов необходимо указать путь к виртуальной системе, какой установочный скрипт необходимо выполнить и расположение общих папок. После этого, интегрированный виртуальный отладчик запускает виртуальную машину, настраивает среду в соответствии с заданными параметрами и запускает приложение, либо «цепляется» к необходимой программе, начиная сессию отладки. После завершения приложения, отладчик останавливает, перезапускает виртуальную машину или сохраняет ее состояние в зависимости от настроек.

Установка виртуальных отладчиков может быть произведена при установке VMware Workstation во время выбора дополнительных компонентов. Для отладки с помощью Visual Studio 2005 может использоваться Remote Debug Monitor (msvsmon.exe), поддерживающий функции удаленной отладки. В случае интеграции с Eclipse, после установки плагина для Workstation, в среде Eclipse в меню Debug появятся новые элементы: «VMware attach to application» и «VMware execute Java application», с помощью которых может производиться отладка в виртуальной машине. Более подробную информацию об интегрированных виртуальных отладчиках VMware вы можете прочитать в .

Кроме того, при разработке и тестировании очень полезным оказывается использование nonpersistent-дисков, изменения которых не сохраняются при завершении сеанса работы с виртуальной машиной. Во время работы с такими дисками, все их изменения хранятся в redo-логе, который может быть либо удален по окончании работы виртуальной машины, либо применен к vmdk-диску, сохранив тем самым его состояние.

Настройка параметров виртуальных машин через vmx-файлы

Виртуальные машины VMware используют универсальный формат файлов конфигурации *.vmx, редактируя которые, системные администраторы и обычные пользователи могут управлять различными параметрами виртуальных машин и гостевых систем. Файл vmx находится в папке с виртуальной машиной и может быть изменен в любом текстовом редакторе. Полный список параметров vmx-файлов насчитывает несколько сотен элементов. Редактируя их, можно управлять виртуальным аппаратным обеспечением, поведением виртуальных машин, взаимодействием с хостовой системой, снапшотами и множеством других свойств виртуальных систем. Далее представлен список наиболее важных и интересных параметров vmx-файлов, которые будут полезны в случаях, когда требуется специфическая настройка виртуальных машин, которая выходит за рамки пользовательского интерфейса платформы VMware Workstation. Обращаем внимание, что эти параметры могут работать не во всех версия продукта, при этом некоторые параметры являются на данный момент экспериментальными и могут повлиять на стабильность виртуальных машин и платформы в целом, поэтому используйте их с большой осторожностью.

Параметр Описание
mks.enable3d = "true"
svga.maxHeight = "800"
svga.maxWidth = "1280"
Включение экспериментальной поддержки 3d-графики и установка параметров SVGA (помогает при проблемах с нестандартными разрешениями)
mks.maxRefreshRate=1000 Решение проблемы при невозможности переключения в полноэкранный режим гостевой системы
mks.movie.config.high.recordSound = "true" Включение режима записи звука при видеозаписи активности виртуальной машины (функция Capture Movie)
bios.bootDelay = "5000" Установка задержки перед загрузкой гостевой системы
mainMem.useNamedFile = "true" Установка значения в false отключает именованный файл подкачки (vmem)
msg.autoAnswer = "TRUE" Попытка автоматического ответа на сообщения, возникающие в процессе загрузки виртуальной машины
uuid.action = "create"
uuid.action = "keep"
Автоматическое создание нового (create) или сохранение старого (keep) уникального идентификатора виртуальной машины (UUID) при перенесении на другой хост (если машина копируется на другой компьютер с сохранением старой копии задайте «create»)
logging = "TRUE" Включение логирования
log.fileName = "vm.log" Установка файла для хранения логов
usb.analyzer.enable = "TRUE" Включение логирования работы USB-устройств
log.keepOld = 3 Установка числа хранимых логов
hypervisor.xen.allow Включение экспериментальной поддержки паравиртуализованных ядер гостевых ОС для гипервизора Xen (недокументированная функция)
disk.locking = "false" Отключение эксклюзивного доступа к *.vmdk файлам (отключение функциональности *.lck файлов)
gui.restricted = "TRUE" Отключение функций для управления виртуальной машиной (Start, Stop, Suspend) и редактирования ее свойств (сетевое взаимодействие, снапшоты). Машина запускается двойным кликом по vmx-файлу и закрывается через «File->Exit»

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

Работа с виртуальными машинами через интерфейс командной строки

В папке, куда установлена платформа VMware Workstation 6, находятся несколько полезных программ для манипулирования виртуальными машинами, работы с виртуальными дисками и управления сетевым взаимодействием (утилиты vmrun.exe, vmware-vdiskmanager.exe и vmnetcfg.exe). Последняя имеет графический интерфейс и аналогична настройке Virtual Network Editor в самой платформе. Утилита vmware-vdiskmanager позволяет управлять виртуальными дисками гостевых систем и наиболее часто используется для их расширения. Более подробную информацию о vmware-vdiskmanager можно узнать, запустив ее с параметром «/?» из командной строки.

Утилита vmrun представляет наибольший интерес для системных администраторов, которые хотят автоматизировать деятельность по управлению несколькими виртуальными системами. Кроме управления питанием виртуальных машин, с помощью этой утилиты можно взаимодействовать с файловой системой гостевой ОС, а также организовывать обмен файлами посредством общих папок, либо копируя их напрямую. Синтаксис использования vmrun.exe следующий:

vmrun

Полный список параметров утилиты vmrun представлен далее.

Команда Параметры Описание
Управление питанием
start Запуск виртуальной машины или VM Team
stop
Остановка виртуальной машины или VM Team
(программная или аппаратная)
reset
Перезагрузка виртуальной машины или VM Team
(программная или аппаратная)
suspend
Сохранение состояния виртуальной машины или VM Team (постановка на «паузу», программная или аппаратная)
Управление снапшотами
listSnapshots Вывод списка снапшотов виртуальной машины
snapshot
Создание снапшота виртуальной машины с заданным именем
deleteSnapshot
Удаление снапшота с заданным именем
revertToSnapshot
Откат виртуальной машины к заданному снапшоту
Команды для операций в гостевой ОС
runProgramInGuest

[параметры]

Запуск программы в гостевой системе с заданными параметрами командной строки
fileExistsInGuest
Проверка наличия заданного файла в гостевой системе
setSharedFolderState Изменение пути к общей папке в хостовой системе
addSharedFolder Добавление общей папки для виртуальной машины и хостовой системы
removeSharedFolder
Удаление общей папки
listProcessesInGuest Получение списка процессов в гостевой ОС
killProcessInGuest
Завершение процесса в гостевой ОС с заданным идентификатором
runScriptInGuest Запуск сценария в гостевой ОС
deleteFileInGuest
Удаление файла в гостевой ОС
createDirectoryInGuest
Создание папки в гостевой ОС
deleteDirectoryInGuest
Удаление папки в гостевой ОС
listDirectoryInGuest
Получение списка содержимого заданной папки в гостевой ОС
copyFileFromHostToGuestOS Копирование файла из хостовой в гостевую систему
copyFileFromGuestToHostOS Копирование файла из гостевой в хостовую систему
renameFileInGuest Переименование файла в гостевой ОС
Общие команды
list Получение списка всех запущенных виртуальных машин
upgradevm Улучшение виртуальной машины (продвижение поколения аппаратного обеспечения)
installtools Установка VMware Tools в гостевой ОС

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

-h
-P
-u
-p
-gu
-gp

Утилита vmrun с успехом также может использоваться сторонними разработчиками программного обеспечения для платформы VMware Workstation 6.

Заключение

Платформа VMware Workstation представляет собой очень гибкий и эффективный инструмент для виртуализации десктопов. Такого набора настраиваемых параметров и встроенных инструментов для самых разных пользовательских задач на сегодняшний день, пожалуй, нет ни у одной платформы этого класса. Использование VMware Workstation при тестировании приложений (особенно конфигурационном и тестировании установок) стало стандартом де-факто во многих компаниях, ориентированных на разработку программного обеспечения. Множество инструментов для отладки и тестирования приложений позволяют платформе VMware Workstation претендовать на звание «Must Have» для программистов и тестировщиков. Домашние пользователи, безусловно, также найдут применение, как бесплатному VMware Player для запуска уже сконфигурированных виртуальных шаблонов, так и платной Workstation для обучения, изоляции пользовательских окружений и создания переносных виртуальных сред.

Ближайшими конкурентами VMware Workstation на данный момент являются продукты VirtualBox компании InnoTek (бесплатен для домашнего использования), и Virtual PC компании Microsoft (бесплатен), которые обладают существенно меньшими возможностями по сравнению с Workstation, например, в части виртуальных дисков, сетевого взаимодействия и количества поддерживаемых гостевых и хостовых систем. Тем не менее, все эти продукты подойдут для домашнего использования, однако для профессионалов применение VMware Workstation по-настоящему позволит ощутить эффект от виртуализации десктопов.

От Robert Patton, посвященной параметрам VMX-файлов виртуальных машин, предназначенным для устранения определенных уязвимостей. Как водится, перевод пристрастный 🙂

Если вы немного работали с продуктами VMware, вы, наверное, обратили внимание на VMX файлы. Каждый VMX содержит почти все настройки виртуальной машины, а также имеет несколько дополнительных настроек, которые нельзя добавить из графического интерфейса, а можно только с помощью редактора из консоли. В этом руководстве я опишу несколько параметров, призванных защитить вас от уязвимостей в VMware Tools и прикрыть каналы между гостевой ОС и хостом.
Параметры, о которых мы будем говорить, уже не раз встречались в различных источниках. Но почти нет информации о том, что именно они делают и для чего предназначены. Многие из этих параметров неприменимы к ESX 3,5. Поэтому, вместо того, чтобы опубликовать очередной список, я попытаюсь объяснить предназначение этих параметров. Даже если вы и не собираетесь заняться увеличением безопасности, продолжите чтение, и, может быть, мы откроем вам глаза на дыры в безопасности вашей инфраструктуры.
Мне нравится использовать связку PUTTY и VI для редактирования VMX файлов. Просто скопируйте в буфер список параметров в конце статьи, откройте VMX файл в VI и нажмите правую кнопку мыши в режиме вставки текста для того, чтобы вставить текст. Если же вы не знакомы с интерфейсом VI, то в самом конце статьи будет краткая справка по нему.
Также вы можете добавить эти параметры через VI Client, нажав правой кнопкой мыши на названии ВМ, выбрав пункт Edit Settings… , вкладку Options , Advanced — General , и нажав кнопку Configuration Parameters … Но, в сущности, это гораздо дольше делать, чем использовать VI. Вне зависимости от метода редактирования VMX файла, вам необходимо выключить ВМ. Если вы что-то изменяете в VMX файле, то после выключения ВМ эти изменения удалятся, так как во время работы ВМ все параметры VMX загружены в оперативную память хоста.

Вам действительно необходимо увидеть уязвимости VMware Tools для того, чтобы представить область их действия. Для демонстрации уязвимостей мы возьмем свежую ВМ с установленной ОС Windows Server 2003 Standard и установленными VMware Tools. Создадим локального пользователя testuser , и добавим его в группу Remote Desktop Users . Соответственно, наш пользователь будет членом групп Users и Remote Desktop Users на этом сервере. Заметьте, он не является локальным администратором. 😉 По сути дела, это типичный аккаунт для использования Citrix или же терминальных серверов Microsoft.
Если вы думаете, что вы защищены, потому что в правом нижнем углу нет значка VMware Tools, то вы ошибаетесь. Любой пользователь может запустить его с помощью команды «C:\Program Files\VMware\VMware Tools\VMControlPanel.cpl» .
Отключение устройств
Начнем мы с обзора возможностей по подключению и отключению CD-ROM, FDD и сети из панели управления VMware Tools. Создайте RDP сессию к нашему тестовому серверу и войдите в систему под именем testuser . Кликните по значку VMware Tools и перейдите на закладку Devices . Снимите флаг рядом с сетевой платой и нажмите кнопку Apply . Вы можете наблюдать, как ваша RDP сессия повисла, а сервер не отвечает на запросы. Да-да, обычный пользователь только что выдрал с корнем провод из виртуальной сетевой платы, полностью отключив сервер от сети. Если у вас уже есть терминальные сервера, вы можете себе представить масштабы этой угрозы.
К счастью для нас, это легко отключается с помощью следующих параметров VMX файла:

isolation.device.edit.disable = «true»

Угрозы времени
Давайте снова создадим RDP сессию и откроем панель VMware Tools. На вкладке Options снимем флаг Time synchronization between the virtual machine and the host operating system . Нажмем Apply и Ok. Закройте и снова откройте панель VMware Tools – вы увидите, что эти изменения сохраненились.
Конечно, если вы используете службу W32Time, вы можете сказать, что это все ерунда. Но когда злобный пользователь включит синхронизацию времени с хостом, вы получите два процесса синхронизации времени, не знающих друг о друге. А если у вас отключена синхронизация времени через W32Time и пользователь отключит\включит синхронизацию времени с хостом, то, возможно, ВМ не сможет авторизоваться в домене.
Этот флаг меняет параметр в VMX файле – tools.syncTime . Соответственно, следующий параметр запрещает изменение этого параметра:
isolation.tools.setOption.disable = «true»
Даже если вы снимете/поставите флаг и нажмете Apply , а затем Ok , после перезапуска панели VMware Tools, вы увидите, что параметр не изменился.
Подождите секунду…
Я было поставил точку в этой статье, но старый-старый скрипт снова изменил параметр синхронизации. Мог ли непривилегированный пользователь сделать это? Я «вспомнил» команду C:\Program Files\VMware\VMware Tools\VMwareService.exe -cmd «vmx.set_option synctime 0 1» и запустил ее из сеанса testuser и без включенного параметра set.Option.disable мне удалось включить синхронизацию времени с хостом.
Хмм, set_option сильно похоже на параметр setOption.disable . Давайте почитаем справку командной строки — VMwareService.exe –help
Usage: c:\Program Files\VMware\VMware Tools\VMwareService.exe {-v,-i,-u,-kill,-cmd « «}
Да уж, не особенно понятнее стало. Немного информации есть в SDK, но недостаточно для понимания сути. В конце концов, я скачал исходный код VMware Tools и начал рыться в нем. После долгих трудов я нашел несколько процедур, которые можно отнести к уязвимостям. Следующая команда позволит вам писать в лог ВМ определенный текст:
C:\Program Files\VMware\VMware Tools\VMwareService.exe -cmd «log %string %string»
А эта позволит создать переменную типа Guestinfo для хранения информации о виртуальной машине в памяти ESX-сервера:
C:\Program Files\VMware\VMware Tools\VMwareService.exe -cmd «info-set guestinfo.%variable %string»
Ну и чтение из переменной GuestInfo:
C:\Program Files\VMware\VMware Tools\VMwareService.exe -cmd «info-get guestinfo.%variable»
Обратите внимание на то, что эти переменные не хранятся постоянно. Они запоминают состояние при перезагрузке ВМ, но если вы ее выключаете, то они стираются.
Эта информация имеется в руководстве «VI3 Security Hardening» в разделе «Limit Data Flow from the Virtual Machine to the Datastore». И, конечно, все команды может выполнить непривилегированный пользователь.
Закрываем дыры
Для проверки использования этих дыр я написал несколько скриптов и запустил их от имени testuser . Для спам-атаки на лог-файлы сервера ESX я пытался записать 1KB данных в цикле, повторявшемся миллион раз. Я наблюдал за ростом файла логов и обнаружил, что как только он разрастается до размера в 1МБ, рост прекращается. Расследование показало, что в конце лога имеется сообщение «Log Throttled» (журнал прерван). Это хороший знак, значит, VMware установило ограничение на рост размера файлов. Но я предпочитаю, чтобы вообще не было возможности воспользоваться этой уязвимостью, поэтому использую следующую команду:
isolation.tools.log.disable = «true»
УРА. Теперь использование этой дыры стало невозможным, зато продолжается запись журналов в файл vmware.log, который можно использовать при наличии проблем с ВМ.
После этого я попробовал забросать ОЗУ сервера ненужными значениями переменной. Выяснилось, что на одну ВМ разрешено хранить до 32 двух переменных, на каждую выделяется до 32КБ данных. В результате, с помощью этой уязвимости разрешаено записать в память до 1МБ данных.
Руководство «VI3 Security Hardening» предлагает два способа для закрытия этой дыры. Например, мы можем отключить создание переменных GuestInfo с помощью команды isolation.tools.setInfo.disable = «true» .
Но я не могу с чистым сердцем рекомендовать эту директиву, ведь после этого ВМ не сможет сообщить хосту свой ip-адрес и dns имя. Нет гарантий, что VCB или приложения других компаний продолжат работу. Зато мы можем ограничить размер, выделяемый под хранение переменных GuestInfo с помощью другой команды — tools.setInfo.sizeLimit = «some # in bytes» .
Вообще говоря, 1МБ – достаточно важная цифра. Если вы можете жить без данных об ip или dns – лучше отключить использование переменных GuestInfo. Так как могут возникнуть проблемы с использованием, я убрал эту рекомендацию из списка команд в конце статьи.
Уменьшение диска ВМ
Давайте снова откроем панель VMware Tools и перейдем на вкладку Shrink . Я не буду объяснять, зачем нужна эта операция. Почему-то компания VMware решила, что эти опции должны быть доступны любому пользователю, даже не администратору. Когда выполняется операция Shrink, процессор ВМ загружается почти на 100% и ВМ перестает отвечать на запросы. Операция Shrink не запустится, если у пользователя нет прав на запись в корневой каталог того логического диска, который он будет уменьшать.
Но если другой администратор или приложение предоставит доступ на запись в корневой каталог диска группе Users или Everyone , то вы попали…
Если вы не используете Shrink в своей инфраструктуре, то можно устранить эту уязвимость с помощью следующих команд:
isolation.tools.diskWiper.disable = «true»

Угроза PXE

Я столкнулся с этой уязвимостью, когда разбирался с одной проблемой, связанной с SAN. Сервера ESX внезапно отключились от iSCSI лунов, и, когда мы открыли консольное подключение к ВМ, мы были удивлены увиденным. Все ВМ были запущены, но автоматически перезагрузились, когда пропал жесткий диск. Так как VMX файлы находились в оперативной памяти, то ESX-сервера не обратили внимания на то, что луны с дисками пропали. Соответственно, ВМ проверили все источники загрузки и запустились с PXE-сервера.
Обдумав ситуацию, я решил, что это может быть страшной атакой. Если кто-то сможет подключиться к PXE-серверу в сети и запустить DoS-атаку на сеть iSCSI, они смогут перезапустить ВМ со своими образами ОС, в которых будут все необходимые им инструменты для дальнейшего взлома сети. К счастью, загрузку по PXE через сетевые адаптеры vlance и vmxnet легко отключить:
vlance.noOprom = «true»
vmxnet.noOprom = «true»

Если вы используете адаптер e1000 для виртуальных машин, придется использовать другой метод для отключения загрузки по PXE, так как нет опции.noOprom для этого адаптера. Следующая команда уменьшит объем памяти, который выделяет BIOS для загрузки. Заметьте, это настройка на определенную сетевую карту:
ethernet0.opromsize = «0»
Запрет общего буфера
Чтобы предотвратить возможность утечки конфиденциальной информации, например, паролей, из буфера обмена vClient в буфер обмена ВМ, желательно запретить возможность использования совместного буфера и операций copy/paste. Это легко сделать, и это не должно принести серьезных проблем, если вы не используете vClient для повсеместной работы с ВМ.
isolation.tools.copy.disable = «true»
isolation.tools.paste.disable = «true»

Часто встречается еще и третья команда — , но я не смог найти никакой документации по этой команде. Другая интересная? вещь в том, что иногда в контексте она пишется как Gui, с заглавной G. Также есть команда isolation.tools.setGUIOptions.disable , но и для нее я не нашел документации. Также я не нашел разницы в работе при использовании параметров true или false. Давайте все же добавим его в список наших команд, потому что он есть в некоторых руководствах и документах и вроде бы ни на что не влияет.
isolation.tools.setGUIOptions.enable = «false»
Журналы – это наше все
Последний набор параметров, который мы рассмотрим, относятся к файлам логов ВМ – vmware.log. Мы уже сталкивались с тем, как этот файл может быть испорчен с помощью уязвимости, но есть еще одна уязвимость. Я столкнулся с этой проблемой лицом к лицу. У нас была ВМ, не подающая никаких признаков беспокойства, но VCB бэкап которой падал каждый вечер. К счастью, мы использовали VCB Wrangler для управления нашими бэкапами; скрипт, который по расписанию запускал vcbmounter.exe, а затем отправлял результат выполнения бэкапа и список скопированных файлов на почту. Расследуя проблему с бэкапами, мы обнаружили, что лог-файлы vmware-####.log достигли значения 7000. Используя в SSH сессии команду ls –la в каталоге ВМ, мы увидели, что лог-файлы были созданы в течение часа. Какой-то процесс вызывал активную запись в журнал логов, к счастью, мы уже использовали следующие команды:
log.rotateSize = «100000» (предельный размер файла логов)
log.keepOld = «10» (количество логов для хранения)

Если бы этих команд не было, файлы логов заняли бы все свободное место и вызвали сбой с неизвестной причиной.
Тест-тест-тест 🙂
Если вы сделали эти изменения в VMX, и тестируете их на ВМ, то могли заметить, что на вкладке Options в панели VMware Tools по прежнему есть две опции, позволяющие непривилегированному пользователю изменять и сохранять Show VMware Tools in the taskbar и Notify if update is available . Эти параметры хранятся в реестре в ветке HKEY_CURRENT_USER, и хранятся отдельно для каждой учетной записи. Так как это не глобальные параметры, то их можно проигнорировать, ведь непривилегированный пользователь не сможет обновить VMware Tools. Также я слышал совет по ограничению через NTFS прав на каталог C:\Program Files\VMware\VMware Tools . У VMware на эту тему есть в базе знаний. Основная проблема заключается в том, что если пользователь где-то раздобудет VMControlPanel.cpl или VMwareService.exe и скопирует их на рабочий стол, то он будет в состоянии использовать панель VMware Tools. Если хотите, то можете это проверить 🙂

Вот список изменений, рекомендованных к внедрению. Если вы займетесь самостоятельным поиском, то обнаружите, что есть много дополнительных параметров, которые здесь не указаны, некоторые из них настоятельно рекомендуются к использованию. Но я рекомендую вам тщательнейшим образом проверять параметры, отсутствующие в этом списке, прежде чем вы добавите их в производственную среду. Все параметры из этой статьи, за исключением isolation.tools.setOption.disable , vlance.noOprom , и vmxnet.noOprom , рекомендуются в документе «VI3 Security Hardening».
Долгожданный список 🙂
isolation.device.connectable.disable = «true»
isolation.device.edit.disable = «true»
isolation.tools.setOption.disable = «true»
isolation.tools.log.disable = «true»
isolation.tools.diskWiper.disable = «true»
isolation.tools.diskShrink.disable = «true»
isolation.tools.copy.disable = «true»
isolation.tools.paste.disable = «true»
isolation.tools.setGUIOptions.enable = «false»
log.rotateSize = «100000»
log.keepOld = «10»
vlance.noOprom = «true»
vmxnet.noOprom = «true»

# PXE boot on the e1000 vNIC can be disabled with this directive:
ethernet0.opromsize = «0»

А теперь обещанное howto по VI
Это коротенькая вводная по VI для тех, кто еще не открыл для себя великий потенциал этого редактора. Откройте SSH сессию к вашему ESX серверу и наберите VI в командной строке. Если вы нажмете в окне редактора i , то увидите надпись —INSERT— в левом нижнем углу. Наберите любой текст, а затем нажмите Esc – надпись пропадет, а текст перестанет печататься в файл. VI имеет два режима: режим ввода команд и режим ввода текста, после нажатия клавиши Esc вы попадаете в режим ввода команд. Для ввода текста в формате wysiwyg просто нажмите i и вы увидите надпись —INSERT— .
Ну и напоследок — сохранение документов.
:wq – сохранение документа;
:q! – выход без сохранения.
Перед редактированием VMX-файла убедитесь, что ВМ выключена и сделайте ее резервную копию с помощью
cp /vmfs/volumes/somevolume/somevm/somevm.vmx /root
Для редактирования VMX используйте
vi /vmfs/volumes/somevolume/somevm/somevm.vm

 

 

Это интересно: