Как стать автором
Обновить

Комментарии 13

Если нужна установка системы с софтом, то есть бесплатный MDT. Довольно функциональная вещь, а если умеешь в VBS то и расширяемая.
Вот полный цикл статей про него от самых основ до довольно навороченных вещей (например полностью автоматизирование обновление системы с бэкапом, установкой новой системы, софта и копированием пользовательский данных ) www.oszone.net/11139
Под капотом System Center Configuration Manager они же (ADK+MDT и WDS) отвечают за подготовку образов и развёртывание ОС.
По вашему описанию, OPSI очень похож на кучку костылей, в чём вы с первых же строк и написали, поэтому прошу не считать мой коммент упрёком.

1. Безагентная инвентаризация, с загрузкой линукс по сети требует ручного выбора сетевой загрузки в загрузочном меню? Фишка прикольная, но зачем? В какой реальной ситуации нельзя воспользоваться доменными политиками и скриптами или нельзя поставить агента, но требуется инвентаризация?
Я знаю о ПК, подключённых к весам, счётным машинам, медицинскому оборудованию и т.д. В этом случае вам и инвентаризация не особо нужна — вы либо можете одноразово запустить агента либо, если вендор вам запрещает «лезть в винду», то уж в аппаратную часть тоже обычно запрещают.

2. Дополнительно, у всех пользователей сейчас выскакивает (хоть и на секунду) загрузочное меню BIOS'а?

3. В качестве идентификатора машины используется MAC-адрес? Если да, то как OPSI переживает смену сетевушки? Если нет, то инвентаризация через агент и через сетевую загрузку создадут в БД две машины?

4. Платный MySQL-модуль для >300 клиентов. Без него, с maria-db будет тупить на 300+ клиентов?

5. Про расширение WAN на сайте написано, что установка кешируется и может быть выполнена оффлайн. Без этого расширения как происходит скачивание? Есть кеширование или установщик запускается прямо с сетевой шары, без предварительного скачивания? Есть ограничения скорости (чтобы не нагружало сеть)? Есть отложенная установка (чтобы не получить утром ситуацию «все компы обновляются»)? Проверка целостности пакетов?

Установка Windows на машины.
6. У вас пароль локального админа в скриптах? Т.е., я, сразу после установки ОС, смогу его прочитать?

7. %random% в имени машины — плохая идея. Во-первых, он не такой уж и random (https://devblogs.microsoft.com/oldnewthing/20100617-00/?p=13673), во вторых, просто для собственного удобства иногда удобно писать в имя часть MAC'а — тогда удобно определять, что это за комп, даже не включая его.

8. Зачем пляски с tcpdump, если вы ставите потом агента? Зачем etherwake, если к моменту, когда вы его упоминаете, уже отработал tcpdump, а значит, машинка уже загрузилась по сети? OPSI не умеет будить машины, которые уже знает?

Установка агента.
9. Скрипт установки — не ужас-ужас, но захардкоженные пути и неиспользуемые куски кода — это не очень хорошая практика для случаев «берем скрипт отсюда...»

Если вы все сделали правильно, то при первой перезагрузке в домене клиенты будут ставить opsi-client-agent, перезагружаться и появляться под своими именами

10. Без перезагрузки после установки агент неработоспособен?

11. Если инсталер не поддерживает unattended-установку или silent-ключи, возможно создать пакет без написания своих скриптов и ручного ввода параметров, например, через сравнение снапшотов клиентской ОС до и после установки %program%? Ясно, что всё равно придётся допиливать по мелочи, но всё же.

Спасибо за хороший вопрос!
1. Безагентная инвентаризация-просто прикольная фишка, которой я не встречал нигде. Не могу с ходу придумать хорошего примера, но думаю, есть ситуации, когда именно такой вариант решает. Тут ньюанс ещё и в том, что полученный формат данных безагентной инвентаризации совпадает с форматом данных агентной инвентаризации, что позволяет использовать единую базу инвентаризации. У opsi платный агент и возможно не покупать его, а проводить безагентную инвентаризацию на линукс и любом зоопарке(freebsd, Linux, hackintosh, os/2, VMWare, dos...)

2.Да, как раз opsi boot menu табличка на синем фоне и задержкой в 1 секунду и есть это дополнительное меню. Кстати, здесь можно выбрать другой пункт(а не по умолчанию первый-продолжить загрузку с диска) и загрузить по сети образ Linux с opsi.

3. В режиме pxe boot идентификатор-Mac адрес устройства, в агентом режиме идентификатор- opsiHost(имя агента) и opsiHostKey(пароль). Если из железа у имеющегося агента поменять сетевушку, то он при первой загрузке пропишет мак адрес новой сетевушки и будет жить дальше. Если же поменять сетевушку и сразу загрузиться по pxe, то opsi не будет знать этого агента и загрузит дефолтное opsi boot menu. Чтобы смена сетевухи прошла как надо, надо просто загрузиться один раз в агент режим и жить дальше.

4.Пока не знаю, у меня около 150 клиентов и от opsi только самые лучшие впечатления. Иногда бывают проблемы, но они все понятные и решаемые, а те функции, что есть в opsi работают надёжно. Нагрузочного тестирования я не устраивал, если вы займётесь-напишите о результатах. Кроме того, 300 клиентов можно использовать совершенно по разному. Если каждый день при загрузке ставить soft+Hard инвентаризацию, то это одна нагрузка, а если раз в месяц раскатывать мессенджеры на всю сеть, то это другая нагрузка, раз в 50 меньше. При моём режиме использования(он ближе ко второму) я не думаю, что на 300 клиентах будут тормоза.

5. Без расширения установка происходит с сетевой шары, без скачивания. По умолчанию, на загрузке комп блокируется и opsi ставит свои пакеты. Ограничения скорости я не видел, в базовой системе её нет. Отложенный установки так же нет. Проверка целостности есть при раскатке по depot'ам, при раскатке на клиенты её нет(так как ставится прямо из шары). По дефолт у вы и имеете ситуацию «все Компы обновляются», чтобы сгладить её, нужно выставлять обновление части компов, ещё можно использовать установку при выключении( install on shutdown).

6. Да, пароль локального админам в скриптах, вернее в образе системы и он удаляется ещё до первого входа пользователя. Сразу после установки нет файла с паролем и вы не сможете его прочитать.

7. Согласен, плохая идея, но нам надо быстро! При этом вероятность коллизии около нуля, проблемы от коллизии локальны и рашаемы.

8. Пляски с tcpdump нужны, когда у вас сто собранных компов и надо собрать их мак-адреса. Выставить установку с образа можно только созданному в opsi клиенту, а чтобы его создать, нужен мак-адрес. Поэтому мы один раз загружаем все компьютеры, не загружая на них ничего по сети, цель этого- получить мак адреса компов в сети и из них создать клиентов opsi. Со второй загрузки у уже созданных клиентов можно ставить систему для клиентов opsi, у которых уже прописан мак-адрес. Opsi не помню, умеет ли будить компы(вроде умеет), а ethrewake нужен, чтобы делать это автоматически, ночью, когда вы спите, а системы разливаются.

9. Не лучшая практика, можно ставить агент прямо в образ, можно ставить агент при автоматической установке Windows, можно использовать https://github.com/opsi-org/opsi-deploy-client-agent, можно делать как я — в этом и плюс opsi, можно выбрать вариант, который вам понравится.

10. Да, неработоспособен, по умолчанию он ещё сам перезагружает машину, входя в рабочий режим.

11. После сравнения снапшотов вы получите несколько файлов и дифф реестра, совсем без написания кода создать пакет вряд ли получится, придётся написать куда копировать файлы и как менять реестр, хотя бы на powershell. Можно найти подходящий похожий пакет opsi и списать с него. А есть инструмент который позволит сделать это совсем без написания кода? Чтобы я знал, на что вы ориентируетесь? 


1. А, агент платный + инвентаризация неWindows-ПК, такие причины сойдут.

2. Я сначала невнимательно посмотрел на скриншот, подумал, что это меню BIOS'а. Сейчас понял, что у вас все ПК грузят образ opsi boot menu по сети, в котором уже можно выбрать загрузку с HDD. Образ много занимает? OPSI в таком случае может подкинуть образ, в котором по default'у выбран пункт с безагентной инвентаризацией (чтобы к компу не подходить вообще)? Как с безопасностью всего этого — если злоумышленник свой dns+tftp для pxe в сеть внедрит?

3. Раз идентификаторы разные и, допустим, мы используем агента, но случайно выбрали в меню opsi загрузку с безагентной инвентаризацией — в базе появится клон с другим id? Или, при наличии агента, проще вообще отключить это загрузочное меню, если оно больше ни для чего не нужно?

4. Ежедневная инвентаризация, как по мне, совершенно не нужна. Достаточно не давать юзерам прав администратора, чтобы не ставили левый софт. А при аппаратных апгрейдах достаточно один раз запустить на новой конфигурации. Чтобы пользователи не лезли в железо — ставим пароль на bios + блокировку загрузки, если было вскрытие корпуса (сейчас во всех закупаемых нами ПК такое есть).

5. Про блокировку на время установки прям совсем не понравилось. Ладно, упомянутый windirstat всего 600 килобайт весит, задержку на его установку никто не заметит. А офис как раскатывать? А обновления? Пользователь уже работать хочет, а ему не дают…
Установка при выключении, наверное, спасает. Но если юзер не дождётся и принудительно вырубит питание? OPSI умеет делать rollback?
Возможно, также спасёт установка при загрузке + включение с помощью WOL за полчаса до начала рабочего дня.

6. Если я правильно понял, пароль вы удаляете когда opsi уже работает.
Т.е., накатили образ — перезагрузка1 — переименовали машину — перезагрузка2 — ввели в домен — перезагрузка3 — установили агента opsi — перезагрузка4 — opsi удалил все скрипты с паролями.
На любой перезагрузке между первой и четвертой можно загрузиться с флешки и считать пароли. При первоначальной настройке, когда пользователей ещё нет и все компы перед вами, это не проблема. Что будете делать, когда вам надо будет переустанавливать ОС? Например, массовая миграция на следующую версию, или по другим причинам. Будете следить стоять у компа, пока процесс не завершится? А если надо сразу несколько компов перезалить?
Забыл ещё уточнить, что кроме пароля password1234QWE у вас в файле createtesk.txt светится пароль локального администратора и нигде нет упоминания (учитывая, что в сети мало ru-материалов по OPSI, эта статься может стать руководством для начинающих), что этот файл надо убрать из образа — он так и будет лежать в C:\renamejoin\, пока агент его на удалит.

7.
проблемы от коллизии локальны и решаемы.

Как это можно обнаружить в OPSI? Для исправления, полагаю, достаточно ещё раз тачку переименовать и переустановить агента.

8.
Выставить установку с образа можно только созданному в opsi клиенту,

Печально. Ведь новый комп, настроенный на загрузку по сети, уже отправил запрос на ПК, где установлен OPSI (этот запрос отловит tcpdump), т.е., на сервере уже достаточно информации для начала установки. OPSI вообще не умеет работать с неизвестными машинами? Кидал бы их в отдельный контейнер, показывал бы загрузочное меню с вариантами загрузка с HDD (default) / запуск инвентаризации / установка ОС из дефолтного образа — не пришлось бы привлекать сторонние утилиты.
Через год-два работы на имеющемся железе назначение tcpdump забудется (или админ сменится), его могут отключить (если он в автозапуске) надо будет новую тачку настроить — а не получится.
А если он не в автозапуске, то надо будет каждый раз лазить на сервер и запускать его.
Opsi не помню, умеет ли будить компы(вроде умеет), а ethrewake нужен, чтобы делать это автоматически,

Если OPSI умеет будить компы (судя по позиционированию — он ДОЛЖЕН уметь), но вам пришлось использовать стороннюю утилиту — это означает, что OPSI не имеет планировщика?

9. А расскажите о подводных камнях при установке агента в образ. Он же привязывается к имени хоста, а до первого запуска step1.cmd имя хоста у всех одинаковое.
Алсо родился вопрос — как OPSI реагирует на переименование компа после установки агента?

11. В прошлом десятилетии пользовался каким-то софтом (возможно, wise installer), предназначенным для создания инсталяционных пакетов. Помимо ручного создания дистрибутивов он умел отслеживать изменения, вносимые при установке другого софта, и на основании этого сам создавал скрипты установщика. Условно так:
— запустил wise, нажал кнопку record
— установил windirstat
— в wise нажал кнопку analyze
получил готовый скрипт, который можно скомпилировать в готовый установщик.
Да, приходилось иногда вычищать скрипт (игры любили ставить «свой» DirectX, а софт без спроса мог поставить .NET framework). Зато автоматически получал списки файлов, которые надо скопировать в %WINDIR% и в %PROGRAMFILES%, ключи реестра, с правильными ссылками на файлы, корректные ярлыки, записи в ini-файлы.

12. OPSI-пакеты для установки получаются в каком виде — оригинальные установщики. которые агент запускает с нужными ключами или он их перепаковывает в свой формат?
Их можно вручную скачать/запустить? При обновлении оригинального дистрибутива можно просто свежий msi подкинуть в папку или надо заново пакет создавать?

13. Судя по описанному в статье и комментах — новый софт ставится только в момент включения (или выключения) компьютера. Т.е., даже чтобы поставить notepad++ (который вообще достаточно просто распаковать и создать ярлык при желании) — надо обязательно перезагружаться?
Я знаю, что в спорах win/*nix часто возникает аргумент «винду надо постоянно перезагружать, а меня аптайм на линуксе четыре года». Но у меня Windows может не перезагружаться неделями, только на ночь в ждущий/спящий режим уходят (в зависимости от того, как это переживает запущенный софт).
Для SCCM это не проблема, перезагрузка требуется только тогда, когда устанавливаемый софт (а не агент) этого требует (например, антивирус или драйвера).
1. Ок

2. «все ПК грузят образ opsi boot menu по сети, в котором уже можно выбрать загрузку с HDD.» — нет, это не так, они грузят просто меню, за секунду, в котором по умолчанию стоит пункт продолжить грузить систему с локального дикса и задержка 1 секунда, для пользователей это не вносит сильной задержки. Для безагентной инвентаризации просто выставляете для нужных клиентов «Всегда» в netboot инвентаризации(безагентной) и они каждый раз при загрузке будут инвентаризироваться, а потом будет загружаться система. К компу вообще можно не подходить, всё делается само. Система защищена ровно так же, как и протокол PXE, то есть если злоумышленник поднимет в этой сети свой DHCP+TFTP то у него все шансы на успех.

3. В реальной работе у одного компа прописан один агент и в нем есть и opsihost и macaddress, можно загрузить и винду с агентом и по pxe. В базе НЕ появится клон с другим id, так как сама opsi агентов себе не создаёт. Там достаточно большое меню, можно загрузить установку почти всех популярных систем, а для обычных компов из полезного есть wipedisk, memtest, безагентная инвентаризация.

4. Я делаю инвентаризацию при каждой загрузке, но не через opsi, а через повершелл, github.com/valmont2k/powershellinventory так как был случай, когда понадобилось доказать, что это-наши компы, из наших комплектующих, через запись серийников в базу git. Конечно, ваш выбор по поводу инвентаризации, но что помешает пользователю забрать планку памяти себе? Вот сейчас около сотни компов забрали люди домой работать, а у меня записано всё о них, объёмы, серийники всего, включая мониторы. Без инвентаризации я бы просто поверил им, сейчас у меня есть возможность проверить, это важно для меня. Вскрытие корпуса конечно хорошо, но оно не дает никакой информации кроме того, что корпус был вскрыт. Сможете подать заявление в милицию на пользователя за вскрытие корпуса? А я смогу подать за кражу такой-то памяти, такого-то объема с таким-то серийником.

5. Есть еще silent установка пакетов, но я как-то пока не настроил. " OPSI умеет делать rollback?" — нет, она просто покажет, что установка не удалась и почему(с клиентов на сервер отсылаются подробные логи всего происходящего).

6. Нет, накатили образ — перезагрузка1 — переименовали машину — удалился файл с паролем локального админа — перезагрузка2 — ввели в домен — удалился файл с админом домена — перезагрузка3 — установили агента opsi — перезагрузка4. «загрузиться с флешки и считать пароли» — если можно загрузиться с флешки, то можно просто посмотреть пароли, не знаю как в windows 10, но в семерке пароли можно было смотреть спец софтом. Если есть возможность загрузиться с флешки, то это уже дает все права в компе. «в файле createtesk.txt светится пароль локального администратора» — только это мой выдуманный пароль, если человек ставит в этот файл свой пароль, он наверное думает куда этот файл деть?

7. В OPSI никак, просто комп не заведётся в домен. Потом ручками комп перезавести и всё.

8. Нет, функции заведения клиентов автоматически, нет насколько я знаю. OPSI грузит на неизвестные машины свое boot menu из которого можно запустить стандарный образ linux. OPSI умеет как оказалось будить компы, в том числе и по планировщику.

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

11. А на чем был скрипт-то? на cmd? Думаю, в виде скрипта с файлами или установщика запихнуть их в пакет opsi не составит большого труда.

12. Свой формат, файл с расширением .opsi. Вручную запустить нельзя. Скачать только ручками. При обновлении оригинального дистрибутива надо заново создавать пакет. Есть software-on-demand — это когда вы назначаете, какие пакеты пользователи могут ставить сами, тогда юзер может запустить из программ software-on-demand-клиент, выбрать в нем программы из opsi и установить их.

14. Новый софт ставится также по нажатию в opsi-configed кнопки «применить», сразу, но я этот момент не описывал, так как это не автоматическая функция, а я старался именно автоматическую часть отработать. Можно при желании сделать для всех клиентов сделать автоустановку софта ночью, чтобы не мешать работать и тогда всё будет происходить точно как вы описываете с SCCM.
2.… нет, это не так, они грузят просто меню

BIOS не умеет «грузить просто меню». Но он умеет грузить образ, в котором только загрузчик + меню.
Для безагентной инвентаризации просто выставляете для нужных клиентов «Всегда» в netboot инвентаризации(безагентной) и они каждый раз при загрузке будут инвентаризироваться, а потом будет загружаться система

Я так и не понял — после безагентной инвентаризации как будет загружена основная ОС?
Я пока вижу два варианта, в обоих в BIOS'е выставлена загрузка по сети:
— при включении, OPSI выдаёт клиентскому компу меню, в котором дефолтным стоит безагентная инвентаризация; после завершения инвентаризации ПК перезагружается; при перезагрузке OPSI уже знает, что инвентаризация прошла и выдаёт клиенту меню, в котором дефолтная уже строка «boot from local disk». Если OPSI так умеет, то наверняка, можно конкретным машинам параметр «запустить безагентную инвентаризацию при следующей перезагрузке»
— при включении сразу грузится образ безагентной инвентаризации, после завершения работы ПК НЕ перезагружается (потому что при следующей перезагрузке опять загрузится тот же образ), а после linux'а передаётся управление загрузчику windows. Не уверен, что такое возможно, но если нельзя оперативно менять дефолтный пункт загрузочного меню, то я не вижу другого способа.

Система защищена ровно так же, как и протокол PXE, то есть если злоумышленник поднимет в этой сети свой DHCP+TFTP то у него все шансы на успех

Обычно, если в инфрастуктуре используется pxe, то он либо для ручного выбора загрузки по сети (для установки ОС, например), либо для загрузки тонких клиентов.
Если злоумышленник поднимет свой dhcp+tftp — он сможет только загрузить свою ОС на тонком клиенте, на котором нет никаких критичных данных (может даже не быть локального жесткого диска). Максимум, что он получит — ещё один свой хост в сети, но если он поднял dhcp+tftp, то он уже внутри периметра, доп.хосты ему только разве что для распределенного брутфорса нужны… Либо можно загружать пользователям свой вариант образа, максимально похожий на то, что они обычно используют (не уверен, можно ли это назвать фишингом), но тут сложность атаки зависит от защиты серверной инфрастуктуры.
У вас же pxe везде используется, но как основная грузится операционка с локального диска. Злоумышленник может получить доступ к локальным файлам пользователей, сбросить пароль локального администратора, отключить антивирусное и прочее защитное ПО, модифицировать настройки винды и т.д.

3. В реальной работе у одного компа прописан один агент и в нем есть и opsihost и macaddress, можно загрузить и винду с агентом и по pxe

Тогда я правильно понял, что при загрузке безагентной инвентаризации OPSI увидит совпадение MAC'ов и запишет данные инвентаризации тому win-хосту, у которого такой же MAC? И сравнение будет только по MAC'у, без пароля?

4. Я делаю инвентаризацию при каждой загрузке, но не через opsi

Т.е., этой фишкой вы не пользуетесь, понял.
Конечно, ваш выбор по поводу инвентаризации, но что помешает пользователю забрать планку памяти себе? Вот сейчас около сотни компов забрали люди домой работать, а у меня записано всё о них, объёмы, серийники всего, включая мониторы. Без инвентаризации я бы просто поверил им, сейчас у меня есть возможность проверить, это важно для меня. Вскрытие корпуса конечно хорошо, но оно не дает никакой информации кроме того, что корпус был вскрыт. Сможете подать заявление в милицию на пользователя за вскрытие корпуса? А я смогу подать за кражу такой-то памяти, такого-то объема с таким-то серийником.

А вы сможете подать заявление в полицию без акта передачи оборудования, только на основании того, что в вашей (причём, как оказалось, самописной, той, которая на powershell) поменялись какие-то данные? Что-то сомневаюсь. Нет, если в вашей базе окажется именно тот серийник, который был изъят у обвиняемого, то это поможет, но не гарантирует успеха в суде (например, защита может убедить судью, что вы внесли именно этот серийник после того, как увидели его в материалах дела)
Если даёте машины пользователям домой без актов приемки-передачи (или аналогичной записи в трудовом договоре, например), то и инвентаризация не нужна — вы просто не сможете доказать, что этот сотрудник получал комп и что в том компе была та самая планка памяти, которая оказалась у него дома.
Придёт с карантина, сдаст комп, если серийники в актах сошлись — значит всё ок. Ну и что с того, что он вынимал планку памяти и ставил её себе в домашний комп, а сам работал на «ослабленой» тачке? Если на его показателях работы это не сказалось — пускай пользуется.
Про датчик вскрытия я не писал, что он заменяет инвентаризацию. Его срабатывание — просто повод провести повторную инвентаризацию. Пока он не сработал — ежедневная инвентаризация особо не нужна, только база будет распухать. Можно хоть раз в полгода её запускать + по некоторым событиям (увольнение сотрудника, перемещение между локациями, работы ИТ-сотрудника, срабатывание датчика вскрытия и т.д.). Впрочем, если у вас с работы планки памяти воруют…

5. Есть еще silent установка пакетов, но я как-то пока не настроил

Silent — это в фоновом (для пользователя) режиме? Т.е., сейчас у вас весь софт ставится только при перезагрузке? А при выборе пользователем доступных ему для установки пакетов (software-on-demand) — они будут тоже установлены только при перезагрузке или комп заблокируется на время установки или пользователь может продолжать работать, пока идёт установка?

6.… если можно загрузиться с флешки, то можно просто посмотреть пароли, не знаю как в windows 10, но в семерке пароли можно было смотреть спец софтом. Если есть возможность загрузиться с флешки, то это уже дает все права в компе.

Нет, про пользовательские пароли и всё такое я писал в п.2. Там не с флешки, а по сети, но суть такая же — пользователь может загрузиться с чего-то, кроме локального жесткого диска, не залезая в настройки BIOS.

«в файле createtesk.txt светится пароль локального администратора» — только это мой выдуманный пароль, если человек ставит в этот файл свой пароль, он наверное думает куда этот файл деть?

Не, не думает. "Это же мануал на хабре, у автора профиль на гитхабе, он уже протестировал и пользуется OPSI, как тут не довериться его скриптам? В статье же написано, что оно потом всё удалится."
Если серьезно, как только пароль оказывается записан в файлике, он там остаётся, считай, навечно. У меня с поза-поза-...-позапрошлой работы до сих пор где-то, возможно, валяется аналогичный скрипт с паролями. Менять такие пароли «нельзя», потому что тогда надо будет менять его на всех флешках и во всех файлохранилищах, куда его растащили инженеры, которые с ним работали.
А для новичков — вы же расписали, что надо поменять пароль для ввода ПК в домен, а про этот пароль нет инструкций, значит можно не париться.
Впрочем, это можно исправить, сбросив пароль через доменные скрипты или тот же OPSI.

7. Да, что-то тут я тупанул. Действительно, ещё на этапе ввода в домен будет ошибка. И будет он так стоять с ошибкой, пока кто-нибудь к нему не подойдёт… И хорошо, если это будет не vip-юзер.

8. Нет, функции заведения клиентов автоматически, нет насколько я знаю. OPSI грузит на неизвестные машины свое boot menu из которого можно запустить стандарный образ linux

А можно это меню поменять? Просто у вас сейчас tcpdump логирует все попытки сетевой загрузки и все компы сейчас настроены на сетевую загрузку. Лог растёт, а польза от него — нет. Плюс пляски с двойной перезагрузкой для новых машин.

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

А, ну значит сам агент в образ не внедрить. Но можно положить в образ дистрибутив агента и запускать установку в step2.cmd — одну перезагрузку можно сэкономить.

11. Нет, скрипт был не на cmd. У того ПО был свой скриптовый язык, на основании которого потом компилировался setup.exe с wizard'ом.

14. Новый софт ставится также по нажатию в opsi-configed кнопки «применить», сразу, но я этот момент не описывал,

Так, постойте. Как только админ в консоли OPSI нажал кнопку «Применить» — на клиентские машины сразу начинается установка пакета? А пользователь в это время работать может? А распределение нагрузки есть?

15. к сожалению, отчетов [инвентаризации] по всем компьютерам сети нет, данные для них надо получать из opsi и строить самостоятельно.

Как это, нет отчётов? А смысл тогда внедрять такую инвентаризацию, если потом самому пилить отчёты? В этом плюсы опенсорса?

P.s. для понимания, почему я такие вопросы задаю — на бездоменных инфрастуктурах я раньше использовал самописные скрипты, которые делали то же самое, только без красивого интерфейса. Но это было давно, в последние годы, в основном попадаются домены и SCCM (ну и количество машин 500+). Время от времени поглядываю на другие продукты, надеялся, что OPSI сможет хоть где-то заменить SCCM.
2. Именно, загрузчик и меню, «грузить просто меню» я сказал, чтобы сосредоточить внимание на том, что образ линукс не грузится.
в opsi реализован вариант «при включении, OPSI выдаёт клиентскому компу меню, в котором дефолтным стоит безагентная инвентаризация; после завершения инвентаризации ПК перезагружается;»
«после linux'а передаётся управление загрузчику windows» — на текущей архитектуре, насколько я знаю, это технически невозможно.
«У вас же pxe везде используется, но как основная грузится операционка с локального диска» да, вектор атаки есть, об этом я и говорю. Если вы считаете риск подобного критически высоким, стоит прописать правила брандмауэра на маршрутизаторах, запретив исходящий 69 порт udp на всех других портах сети, кроме нужного. Эта схема внедрена на всех без исключения провадерах интернета.

3. Совпадение маков где и где?

4. У нас ежемесячная инвентаризация с серийниками плюс акты приема-передачи. Я говорил с адвокатом и выбрал именно такую систему. Никому не навязываю.

5. «Silent — это в фоновом (для пользователя) режиме» — да, значок в трее, работать можно.
software-on-demand — установка сразу после нажатия кнопки «установить» пользователем, комп не блокируется.

6. «Не, не думает.» — профнепригодность. Остальное просто безудержное зло какое-то, честное слово.

7. «Да, что-то тут я тупанул. Действительно, ещё на этапе ввода в домен будет ошибка. И будет он так стоять с ошибкой, пока кто-нибудь к нему не подойдёт… И хорошо, если это будет не vip-юзер.» Вы ищете уязвимости, как в рассказе про хакера с солонкой. В тексте описаны конкретные условия — есть пустой кабинет, админ и 100 компов. Если придумываете vip-юзера, то почему так скучно? Придумайте космическую частицу, которая перепишет программу на моем компе так, что та случайно взломает по уязвимости атомную станцию, взорвав её и задайте вопрос, как я от ядерного конца света защищён.

8. «А можно это меню поменять?» — я пока не разбирался с этим, но вообще это открытый софт, конечно можно, вопрос только в усилиях для этого. «Лог растёт, а польза от него — нет.» вы реально ставите в претензию рост текстового файла?

9. «А, ну значит сам агент в образ не внедрить» это не так. Я не разбирался с этим, так как надобности не было, но подозреваю, что с гибкостью opsi возможно и это.

11. Значит в opsi можно добавить интерпретатор того скриптового языка и собирать так пакет. Либо работать сразу с setup.exe и wizard'ом.

14. «Как только админ в консоли OPSI нажал кнопку «Применить» — на клиентские машины сразу начинается установка пакета?» — если вы в консоли выбрали все клиентские машины, то на все клиентские машины начнется установка пакета, если вы выбрали некоторые клиентские машины, то на некоторые. «А распределение нагрузки есть?» — на установках более 3000 машин есть возможность приобрести модуль для этого www.uib.de/en/opsi-cofunding/scalability-1

15. Встроенных отчётов нет, я для себя без труда написал отчёты, которые нравятся мне. Кроме того в opsi есть фишка выбора компов по железячным и любым параметрам — можно выбрать с любым уровнем гибкости, например где установлен windirstat, при этом свободного места осталось менее 10 гб и проц амд(пример выдуманный). «А смысл тогда внедрять такую инвентаризацию, если потом самому пилить отчёты? В этом плюсы опенсорса?» — именно, в этом и плюс опенсорса, в том, чтобы разобраться за небольшое время и запилить отчёты, которые нужны именно тебе, а не дефолтные, которые вроде выглядят ок, но не подходят толком никому. Впрочем, я не навязываю свое видение, лично мне именно это реально удобно.

p.s. при всём уважении, ваши вопросы не похожи на сравнение возможностей SCCM и OPSI, вы если решили сравнить, задайте вопросы вида «вот в SCCM есть такая функция, работает так, у opsi такое есть?» и тогда сравним, а делать неверные предположения вида «А, ну значит сам агент в образ не внедрить» — больше похоже на предвзятое негативное отношение, отвечать на подобные упреки неприятно.

И если вы имели дело с SCCM, поправьте меня, если я ошибаюсь: разница в цене лицензий на 100 клиентских компьютеров составит: стоимость лицензии винды — 71928 + лицензия SCCM standard 27933 + 100 клиентских лицензий по 1435 = 243361р. Я не пользовался SCCM, наверное, это продукт, который стоит своих денег, но мои потребности opsi покрывает с легкостью в бесплатном варианте, как и потребности большинства небольших сетей. Озвучьте, какие дополнительные фичи есть у SCCM, которых нет в opsi, чтобы было понятно, за что именно стоит платить деньги.
2. в opsi реализован вариант
«при включении, OPSI выдаёт клиентскому компу меню, в котором дефолтным стоит безагентная инвентаризация; после завершения инвентаризации ПК перезагружается;»

Вы не дописали, что происходит после перезагрузки — OPSI всё-таки после перезагрузки выдаёт другое меню, с «boot from local disk» по дефолту?

«У вас же pxe везде используется, но как основная грузится операционка с локального диска»
да, вектор атаки есть, об этом я и говорю. Если вы считаете риск подобного критически высоким

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

Что мне это даст? Для того, чтобы пакет был обработан маршрутизатором — он должен быть из другой сети. Внутри одной сети пакеты летают без участия маршрутизатора.
Я же описывал две (возможно не так явно) ситуации:
— пользователь подключает патч-кордом рабочий комп к своему устройству, на котором подняты те же dns+dhcp+tftp и загружает свою операционку на вашем толстом клиенте, получает пароль админа и т.д. Аналог «загрузился с флешки».
— злоумышленник поднял сервак на 192.168.1.230 и ночью имеет все машины (разбудив их через WOL). Вот три дня назад была статья, в которой как раз описывается ситуация, в которой злоумышленники получили доступ к одному хосту внутри сети и через него «работали» дальше

3. Тогда я правильно понял, что при загрузке безагентной инвентаризации OPSI увидит совпадение MAC'ов и запишет данные инвентаризации тому win-хосту, у которого такой же MAC? И сравнение будет только по MAC'у, без пароля?

Совпадение маков где и где?

Такая ситуация: есть ПК с агентом, прошла инвентаризация через агента. Потом запустили безагентную инвентаризацию. OPSI поймёт, что эти две инвентаризации относятся к одному ПК? По совпадению MAC'ов поймёт? Во втором случае имя хоста и пароль не участвуют?

5. Спасибо, всё таки умеет в фоновом режиме ставить софт.

6. «Не, не думает.» — профнепригодность

Согласен, но понаблюдав в нескольких компаниях (разного размера) за действиями сотрудников ИТ-служб, могу сказать, что таких очень много.
+ см.постскриптум

7. Вы ищете уязвимости, как в рассказе про хакера с солонкой. В тексте описаны конкретные условия — есть пустой кабинет, админ и 100 компов

Нет, я просто планирую, как в дальнейшем будет идти работа с OPSI. Вы рассказали, как легко можно поставить ОС на 100 компов. Когда-нибудь вам придётся перезаливать ОС — вы все компы будете к себе таскать или стоять над каждым до конца установки?
Или вы не рассматриваете его дальнейшее использование?
+ см.постскриптум

8. Вы реально ставите в претензию рост текстового файла?

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

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

Последний год с SCCM я «работаю» не как админ, а как пользователь, поэтому сравнение SCCM vs OPSI будет по памяти. Возможно что-то из перечисленного умеет и OPSI, просто в статью не попало или упомянуто вскольз. Постараюсь изложить в OPSI-терминологии:
— Не надо отслеживать MAC'и, комп попадает в базу после установки агента.
— Установку через pxe не пробовал. На пустой ПК операционку ставим через загрузку winPE с флешки. Сразу запускается короткий wizard, для ввода ip (если нет dhcp), выбора типа ПК (от этого зависит перечень устанавливаемого софта), смены имени ПК (если автосгенерированное не устраивает). Wizard не без самописной логики. Итоговый образ операционки для разворачивания скачивался с сервера (если это не оффлайн образ, см.ниже). Тот же WinPE можно наверняка грузить по сети.
— Можно создать образ для оффлайн-установки, в котором будут все нужные пакеты. Удобно для филиалов со слабым каналом, но пакетов много и образ надо часто обновлять.
— Работа с филиалами. У нас много филиалов, некоторые — мелкие, на 1-2 ПК, соотв. интернет-канал слабый. Другие — крупные, на несколько сотен устройств, с разными сетками (так исторически сложилось). В SCCM можно настроить, чтобы мелкие филиалы качали с определённых depot-серверов. А все сетки крупного филиала качали со своего сервера.
— При недоступности ближайшего depot, пакеты качаются с любого ближайшего доступного (не помню точно, как настраивается, вроде по подсетям).
— Пакеты не перепаковываются, можно вручную запустить из шары или скачать для оффлайн установки — если агент ещё не установился или занят другой установкой, но вот именно эту софтину надо прям сейчас.
— При работающем агенте можно переустановить ОС удалённо.
— У пользователя никакие загрузочные меню не выскакивают. Они нужны только инженерам сопровождения, поэтому их вручную запускают.
— Установить linux можно, но что там с агентом — не знаю, сопровождал только win-машины.
— Все дистрибутивы перед запуском полностью скачиваются. Это избавляет от долгого ожидания установки и возможных сбоев по связи в удалённых филиалах.
— Сложный софт ставится через unattended-файлы, простой — через silent-установку, экзотика — через самописные скрипты (примерно как в OPSI)
— Что используется в качестве id-машины — не помню.
— Весь софт ставится в фоновом режиме, без перезагрузок и блокировок ПК. Исключения — некоторые драйвера, обновления ОС, иногда антивирус, но они и при обычной установке просят перезагрузку.
— Software-on-demand есть
— setup-capture (через сравнение снапшотов) нет
— Между depot'ами и на клиентов пакеты передаются в фоновом режиме (вроде через BITS), не занимая полностью канал.
— Инвентаризация по расписанию + по команде от сервера
— Отчёты есть, но сейчас не уверен, входили ли они в базовую версию. Аппаратная инвентаризация использовалась не для отлова воров, а для планирования апгрейдов. Софтовая — например, для учета лицензий.
— Можно дать загрузочную флешку обезьяне и отправить «ставить винду» — не накосячит.
— При сбое установки пакета через какое-то время будут повторные попытки.
— Интеграция с доменом. Достаточно добавить новый комп в нужную доменную группу, чтобы применились нужные доменные политики + установились (или появилось в списке доступных для установки пользователем) нужные программы. В консоль SCCM лазить необязательно.
— На малом объеме клиентов можно ставить на несерверную винду (это к стоимости лицензий). Тут примерно как с MySQL-расширением для OPSI — для больших объемов нужна серверная редакция, но это зависит от количества клиентов и общей нагрузки.
— На Windows-only инфрастуктуре НЕ нужен linux-сервер и linux-админ.
Стоимость модулей OPSI до 2000 евро, причём в эту стоимость не входит поддержка (если мне гугл правильно перевёл с немецкого).
Не буду спорить и пересчитывать, SCCM может действительно для вашей ситуации будет стоить 243K. Но если начать использовать модули OPSI, то SCCM может и дешевле выйти. Если не использовать платные модули, то надо считать время, потраченное вами на допиливание OPSI, подбор сторонних утилит, самописные интеграции с AD, сопровождение сервера + надежность всего этого и т.д.

P.s. в самом начале вы пишите
Целью данной статьи является желание… рассказать о незаслуженно неизвестной в русскоязычном интернете системе управления софтом OPSI

Если OPSI неизвестна в рунете, то ваша статья (как одна из первых) может стать отправной точкой для многих. В таком случае желательно понимать всю ответственность, не публиковать решения, которые подошли только вам, без должного анализа, хотя бы попытаться сравнить с аналогами.
Интересующимся подобным — FOG Project в помощь.
У меня оно и ОС развертывает и всякие Live СD (+ антивирусные) по iPXE грузит.

ЗЫ. У кого PC не могет в PXE — качайте ipxe.iso, копируйте его на флешку и грузите с помощью grub4dos (или easy2boot.com из готового).

Как проходит инвентаризация ПК? Софтваре+ хардваре,? Отчёты по по возможно строить?

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

Публикации

Изменить настройки темы

Истории