→ Обходим детектирование виртуальной машины программами в VMWare. Виртуальные среды и «1С Какая версия устанавливается

Обходим детектирование виртуальной машины программами в VMWare. Виртуальные среды и «1С Какая версия устанавливается

После прочтения статьи остаётся только один вопрос "Зачем?". Пройдёмся по объяснениям автора.

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


Лицензия на Win2003 не подразумевает установку на виртуальную машину, только на физическое железо. На прямой вопрос специалистам Майкрософт по лицензированию "Правомерно ли установить Win2003 на виртуальную машину и использовать?" получаем вопрос "Нет. Только на физическое железо. Всё остальное является незаконно." Так зачем же использовать старую ОС вместо новой на виртуальной машине если ты всё равно становишься пиратом?

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


Не до конца понимаю этот довод. Если атака произведена на хост систему то все виртуальные машины скомпрометированы, если атака произведена на виртуальную машину, то становиться скомпрометирована только она, а хост остаётся чистым. И в том и другом случае мы теряем защиту гостевой системы которая является для нас основной. Где и от чего мы защитились?

несколько виртуальных машин, развернутых на физических ресурсах одного компьютера, изолированы друг от друга, таким образом, сбой одной из виртуальных машин не повлияет на доступность и работоспособность сервисов и приложений других;
Тоже полезная вещь для 1С. Разнести сервер приложений 1С и сервер SQLпо разным виртуальным машинам и выделив каждой по 4ГБ оперативки (предел для 32 разрядной Win32) позволит хоть немного бороться с бичом 32 разрядных систем –фрагментацией оперативной памяти при выполнение больших запросов.


Не используёте 32 битные операционные системы.

Крайне не рекомендую использовать 32 разрядные системы с большими конфигурациями типа УПП. В какой-то момент вы просто не сможете обновить конфигурации без перезагрузки сервера 1С. В какой-то момент не поможет и перезагрузка. В нашем случае мы пока экономим деньги, а потом можно будет легко создать другую ВМ с 64 разрядной системой и перенести все на нее почти не прерывая работы.


Миф, сказка, заблуждение и прочее. Перейти с 32 битной ОС на 64 битную в виртуальной среде по сложности равно такому же переходу на железе. Ни какой разницы. Всё удаляется и устанавливается по новой.

поскольку каждая виртуальная машина представляет собой программный контейнер, то она может быть перенесена или скопирована, как и любой иной файл;


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

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


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

в рамках одной гостевой операционной системы может быть развернуто несколько виртуальных машин, объединенных в сеть и взаимодействующих между собой;


Попробуйте запустить на одном компьютере хотя бы 3-4 гостевых ОС и вы поймёте весь ужас на вас обрушившейся, т.к. для нормальной работы 4 гостевых ОС вам необходимо железо в 4 раза круче чем для работы одной.

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


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

Из недостатков – вполне предсказуемое некоторое снижение скорости работы. Но намного менее существенное, чем при использовании бесплатных SQLсерверов.
Железо для сервера:
Процессор intel-corei3-4130 (4 ядра)
Материнская плата GA-Z87M-HD3 (с поддержкой RAID)
2 жестких диска по 1GB (sata).
8 ГБ ОЗУ.


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

Виртуальные машины были разработаны для:
1. экономия процессорных и прочих ресурсов компьютеров в условии простоя одного из сервисов
2. увеличение отказоустойчивости систем (живая миграция виртуальных машин) в СХД и кластере
3. простота и легкость экспериментов ИТ специалистов
Зачем устанавливать одни 1С сервер в виртуальную машину для продакшина я не понимаю.

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

Я использовал VMWare Fusion для Mac, однако с тем же успехом способ работает и в Workstation для Win.

1) Для работы необходима заново установленная система, как внести изменения в уже существующую - не нашёл.

Готовите виртуальный диск, указываете систему, как это обычно делаете, и в настройках к устанавливаемой машине, у меня этот пункт назван Isolation, выключаете любой обмен данными с хостовой ОС.

isolation.tools.getPtrLocation.disable = «TRUE»
isolation.tools.setPtrLocation.disable = «TRUE»
isolation.tools.setVersion.disable = «TRUE»
isolation.tools.getVersion.disable = «TRUE»
monitor_control.disable_directexec = «TRUE»
monitor_control.disable_chksimd = «TRUE»
monitor_control.disable_ntreloc = «TRUE»
monitor_control.disable_selfmod = «TRUE»
monitor_control.disable_reloc = «TRUE»
monitor_control.disable_btinout = «TRUE»
monitor_control.disable_btmemspace = «TRUE»
monitor_control.disable_btpriv = «TRUE»
monitor_control.disable_btseg = «TRUE»

Эти опции предотвращают детектирование программами виртуального окружения через такие сложные проверки, как отслеживание адресного пространства памяти, счётчиков.

Важно! Если на этапе настройки установки будет опция вроде «Express install», «Быстрая установка» - выключайте их. Также не стоит устанавливать VMWare Tools в установленную систему, т.к. некоторое ПО в проверку включает и наличие этого пакета.

3) Сохраняем файл, указываем для загрузки ISO с установщиком системы, устанавливаем ОС как обычно.

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

Чтобы победить и их в Windows, идём в редактор реестра в ветку HKLM\SYSTEM\CurrentControlSet\Services\Disk\Enum. Как видите, там есть вполне явная отсылка к тому, что диск - виртуальный.

Нам нужно изменить его, убрав из параметра VMware, Virtual, Ven, итп, и сохранить её так.

Также имеет смысл заменить в реестре поиском по VMware/Virtual на какой-нибудь Intel или IBM всё, что меняется, а не только дисковые переменные.

После пробуйте запускать ваш упрямый объект экспериментов - в процентах 70 случаев описанные шаги помогут пройти проверки на виртуальное окружение.

Важно! Значение в HKLM\SYSTEM\CurrentControlSet\Services\Disk\Enum перезаписывается после каждой перезагрузки, так что его нужно менять после каждого нового запуска системы.

Естественно, это не исчерпывающее руководство, некоторое ПО также может пытаться определять виртуальную систему следующими методами:

1) Проверками диапазона MAC адресов (просто подменяется в настройках виртуального сетевого адаптера до запускa виртуальной машины)
2) Через WinAPI опросом конфигурации ОС и прочей системной информации (FirmwareTable)
3) Низкоуровневыми трюками.
Проверить, насколько вы обезопасили себя от обнаружения, а также ознакомиться с другими популярными у разработчиков средствами обнаружения песочниц и виртуалок можно средством Pafish .

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

Как видно, улучшить скрытность можно также выделив виртульной машине больше системных ресурсов. Что касается памяти, выбирать стоит значения, кратные 1024.

Спасибо всем, кто осилил статью и помог в дополнении её толковыми комментариями!

Этап 1. Шаг 1. Закачиваем внутрь виртуальной машины файлы установки.

Нам понадобятся следующий instal-файлы:

1. Платформа 1С

Этап 1. Шаг 2. Запускаем установку платформы 1С

Этап 1. Шаг 3. Подключаем компоненты

Этап 1. Шаг 4. Выбираем язык интерфейса

Этап 1. Шаг 5. Устанавливаем платформу 1С

Этап 1. Шаг 6. Устанавливаем драйвер защиты

Этап 1. Шаг 7. Завершаем установку платформы 1С

Этап 2. Открываем порт для доступа к виртуальной машине извне

Этап 2. Шаг 1. Заходим в панель управления виртуальными машинами

Этап 2. Шаг 2. Заходим в меню "Конечные точки" (это и есть открытые порты наружу)

Этап 2. Шаг 3. Добавляем новую конечную точку (порт).

Нам необходим порт 80. Здесь же можно посмотреть какие порты уже открыты. Один используется для подключения по rdp.

Этап 2. Шаг 4. Не умничаем. Нажимаем далее

Этап 2. Шаг 5. Заполняем параметры порта. Сохраняем.

Этап 2. Шаг 6. Порт 80 создан.

Этап 3. Установка веб-сервера IIS 7.5

Этап 3. Шаг 1. Добавляем новую роль

Этап 3. Шаг 2. Далее

Этап 3. Шаг 3. Выбираем нужные нам роли. Далее

Этап 3. Шаг 4. Далее

Этап 3. Шаг 5. Настраиваем роли

Этап 3. Шаг 6. Далее

Этап 3. Шаг 7. Настраиваем роли.

Этап 3. Шаг 8. Устанавливаем IIS

Этап 3. Шаг 9. Закрываем форму

Этап 3. Шаг 10. Проверяем работу веб-сервера внутри виртуальной машины

для проверки достаточно открыть браузер и в адресной строке ввести http://localhost

В результате вы увидите заставку IIS

Этап 3. Шаг 11. Проверяем работу веб-сервера извне виртуальной машины

Порядок такой же. С любого компьютера заходим в браузер и в адресной строке пишем адрес нашей виртуальной машины (см. часть 1). Можно указать внешний Ip-адрес.

По умолчанию веб-сервер IIS7.5 использует 80-й порт. Который мы и создали на 2-м этапе

В результате Вы также должны увидеть заставку IIS 7.5

Изначально виртуализация была только на программном уровне и плюсы виртуализации нивелировались существенным замедлением работы в виртуальной среде. Частично вопрос получилось решить аппаратно — вендоры разработали инструкции процессоры Intel VT-d , AMD-V и т.п. для ускорения работы. Однако память и процессор это не единственные компоненты, есть также видеокарта, жесткие диски и т.п. и от реализации доступа к ним напрямую зависит скорость операций. Т.е. в зависимости от производителя виртуальной машины, драйверов от производителя оборудования, от умения конечного ПО распознавать виртуализацию по-прежнему скорость работы зависит значительно.
Разные приложения по разному замедляются в виртуалке.
Помимо издержек оборудования на обслуживание ПО виртуализации еще один фактор замедления — это организация течения времени. Скорость течения в физическом железе и виратуалке не одинаковы. Плюс виртуальную машину можно ставить «на паузу». Сложность реализации таймеров, переключателей синхронизаторов, перехват физических аппаратных ресурсов в виртуальной системы не позволяют решить задачу один в один как на физическом железе, много зависит от конкретного вендора.

Мы провели тест на исследование потоковой скорости, чтобы оценить на сколько виртуализация может повлиять на скорость работы однопоточных задач в 1С, включая интерфейсные операции.

Из полученных результатов самый главный вывод не цифры, а то что по прежнему требуется опыт чтобы нащупать на практике, а не теоретически оптимальный вариант эксплуатации 1С под вашу конкретную нагрузку.
Влияние слоя виртуализации особенно заметно на очень быстрых операция информационной базы 1С и это логично. Чем меньше время операции, тем больше оно сопоставимо с временем задержки на обслуживание слоя виртуализации.
Другими словами если мы выполняем одну длительную операцию тысячу секунд, то лаг в одну десятую на обслуживание виртуализации будет каплей в море и не заметен. А вот если мы выполняем десять тысяч операций с временем каждой операции одна десятая секунды, то задержки на обслуживание будут заметны так как будут соизмеримы с длительностью операции.

ЧТО ДЕЛАТЬ

Есть два способа решения проблемы.
1й способ. Если настройками виртуализации вам не удается достичь желаемой производительности — используйте физическое оборудование.
2й способ. Минимизировать лаги виртуализации подобрав настройки, соответствующие характеру нагрузки. При этом надо понимать, в что виртуализация это не 100% аналоги физического оборудования и компенсировать скорость надо более мощным физическим оборудованием.
Некоторые вендоры обеспечивают повышение скорости за счет встроенных в слой виртуализации механизмов кэширования. Однако кэш может быть «пробит» и тогда будет резкое падение производительности. Т.е. надо помнить не только про плюсы технологий, но и про минусы.

1. «Снимки» надо выключать — они замедляют. При чем влияние далеко не очевидно. Подробно смотрите http://vkeygen.blogspot.ru/2011/10/snapshot.html

Microsoft Hyper-V

— при использовании серверов Hyper-V с узлами NUMA

VMware ESXi & vSphere

Коллективное использование виртуалок для балансировки нагрузки
Проблема заключается в работе компонента vCenter под названием DRS (Distributed Resource Scheduler), задача которого заключается в балансировке нагрузки виртуальных машин на физические серверы. При появлении больших нагрузок по процессорным мощностям или по загрузке ОЗУ, DRS мигрирует виртуальную машину на другой физический хост, наименее загруженный в данный момент; в кульминации данного процесса возникают кратковременные проблемы с доступом к ресурсам этой VM.

СЕТЬ

Для виртуальных серверов ESXi 6.0 с 1с сервером не используйте сетевые интерфейсы типа WMXNET3, использовать только типа e1000e

ОПЕРАТИВНАЯ ПАМЯТЬ

— —Отключить дедупликацию памяти для EXSi — Transparent Page Sharing на хосте VMware ESXi

Если же вы хотите отключить этот механизм уже прямо сейчас, то нужно сделать следующее:

В старых версиях


После патча и обновлений ESXi механизм TPS можно будет включить следующим образом (Advanced Settings в секции Software):

  • Параметр Mem.ShareForceSalting (включение TPS на уровне всего хоста ESXi). Если значение стоит 0 — то значит TPS по-прежнему работает на хосте, если 1 — механизм отключен.
  • Параметр sched.mem.pshare.salt (ставится на уровне ВМ) позволяет включать/отключать TPS для отдельных виртуальных машин (например, старые Windows или линуксы — для них можно было бы включить). Когда параметр ShareForceSalting установлен в значение 1, то для нуждающихся в TPS машин в их Advanced Configuration нужно установить одинаковые значения «соли». Без этого TPS не работает — соответственно, он отключен.

ПРОЦЕССОР

— —Включить схему питания максимальной производительности

— vSphere прекрасно знает про и старается размещать виртуальные ядра машин на тех физических процессорах, в чьей памяти сейчас находится оперативная память виртуальной машины. Но тут возникают подводные камни. Производители серверов любят включать в BIOS по умолчанию эмуляцию NUMA. То есть сервер представляется операционной системе как НЕ NUMA устройство, и vSphere не может использовать свою оптимизацию для управления данной технологией. В документации по vSphere рекомендуется отключать (Disable) данную опцию в BIOS, это позволяет vSphere самостоятельно разбираться с вопросом.

ДРАЙВЕРА

— Установите гостевые дополнения VMware Tools

Первое, что необходимо сделать, после установки операционной системы гостя внутри виртуальной машины, это установить программный пакет – гостевые дополнения VMware Tools для VMware. Эти пакеты содержат специальные драйвера, которые обеспечивают более быструю работу гостевой операционной системы на аппаратных средствах виртуальных машин.

Выберите пункт Install VMware Tools в меню виртуальной машины. Следуйте инструкциям на вашем экране для завершения установки. Если вы используете гостевую ОС Windows, то вы увидете, что данный процес не отличается от установки других приложений.

Проверка VMware Tools.

  • Выберите хост в vClient;
  • Перейдите на вкладку Virtual Machines ;
  • Добавьте столбец «VMware Tools Status»;
  • Оцените статус. OK->значит все хорошо, ничего делать не надо. Not Running/Out of date - устраняем.

Если VMware Tools не запущены, необходимо разбираться с гостевой операционной системой. Причина может скрываться в обновлении ядра Linux либо отключенной (кем-то) службе VMware Tools в Windows.

Если VMware Tools устарели, необходимо их обновить из контекстного меню vClient. Как правило, это случается после установки обновлений на хосты ESX/ESXi. После этого зачастую требуется обновить и VMware Tools.

ДИСКИ

— При использовании внешних хранилищ

  • Independent Persistent Mode vmdk-диска - наиболее производительный, поскольку изменения вносятся сразу на диск, не журналируясь. Но такой диск не подвержен снапшотам, его нельзя откатить.
  • При использовании iSCSI рекомендуется настроить jumbo frames (MTA=9000) на всех интерфейсах и сетевом оборудовании.
  • MultiPathing - для большинства случаев RoundRobin - ОК. Fixed может дать большую производительность, но это после вдумчивого планирования и ручной настройки каждого хоста до каждого LUN. MRU можно поставить при active-passive конфигурации, если какие-то пути время от времени пропадают - чтобы не перескакивало туда-обратно.

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

«1C-Битрикс: Виртуальная машина» специально сконфигурирована для быстрого исполнения программных продуктов «1С-Битрикс»: разворачивается за минуты и сразу же готова к работе! На виртуальную машину можно не только установить ознакомительные версии продуктов «1С-Битрикс», но и перенести свои, уже готовые проекты.

«1С-Битрикс: Веб-окружение» - Linux

«1С-Битрикс»: Веб-окружение» - Linux служит для быстрой и простой установки всего ПО, необходимого для работы продуктов и решений «1С-Битрикс» на Linux-платформах CentOS 6 (i386, x86_64) и CentOS 7 (x86_64).

Используя «1C-Битрикс: Виртуальная машина», вы экономите время и деньги : на развертывании и настройке сервера, на покупке необходимого оборудования, на обеспечении безопасности проекта. Виртуальную машину вы можете использовать бесплатно . Машина также доступна для аренды у хостеров по цене тарифа хостинга.

Amazon Elastic Compute Cloud (Amazon EC2)

Amazon EC2 - это веб-сервис, предоставляющий масштабируемые вычислительные мощности и созданный для быстрого и простого разворачивания веб-приложений на площадках (в облаках) Amazon. Специалистами «1С-Битрикс» подготовлены предконфигурированные образы BitrixVM (AMI-образы) для быстрого запуска приложений «1С-Битрикс» в Amazon EC2, которые включают:
  • CentOS 7.5
  • NGINX + Apache2
  • MySQL5 with InnoDB support
  • Mail server agent
  • A UNIX-like Control Menu with common tasks
  • IP address via DHCP, or configured by Amazon Elastic IP
  • HTTPS support
Список ami по регионам:

Порядок установки

Порядок установки:


Скачать и установите VMWare Player - бесплатный продукт, работающий под любой ОС Windows или Linux.

Скачать и распаковать настроенную виртуальную машину BitrixVM.

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

Ответить на вопросы диалогов VMWare и перегрузить виртуальный сервер.

Откройте полученный IP-адрес в браузере.
Запустить мастер установки и настройки продуктов «1С-Битрикс», выполнить все шаги и приступить к работе!
BitrixSetup

Скрипт BitrixSetup

В «1С-Битрикс: Виртуальная машина» встроен специальный скрипт BitrixSetup , с помощью которого можно загрузить дистрибутив пробной или коммерческой версии продукта с сайта непосредственно на ваш сайт, не скачивая файл на локальный компьютер.

С помощью еще одного встроенного скрипта для восстановления резервных копий - restore.php - можно быстро переносить сайты между машинами, причем, без создания промежуточных файлов. Как это все происходит? Вы делаете резервную копию сайта средствами нашего продукта (Настройки-Инструменты-Резервное копирование), и в скрипте переноса (прямо в виртуальной машине) указываете имя файла и сайт. Система сама скопирует файл, распакует его и восстановит на Виртуальном сервере.

 

 

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