Обновить
1
0

Пользователь

Отправить сообщение
Ну не сработает гидра на вас, злоумышленники пойдут к следующей жертве
«Диалог», конечно, получился интересный:
— две карты не будут работать
— попробовал две — работают
— попробуйте четыре

я, с вашего позволения, сольюсь на этой итерации. Не уверен, что смогу набрать столько карт.

Понятно, что карта — электронное устройство. Если поместить кучу электронных устройств в поле считывания терминала, то они будут друг мешать. В зависимости от типа карты, характеристик антенн в них, а также характеристик и ПО терминала — на каких-то комбинациях карт будут глюки.
Но также нельзя забывать о ненулевой толщине карты. Пачка в 4 карты — это 3-4мм. Регулируя скорость поднесения пачки карт к терминалу можно поймать момент, когда ближние карты уже ведут обмен с терминалом, а дальние — ещё не попали в его зону действия.

Откуда такая уверенность?
Специально для вас сходил в магазин, приложил две карты (одинаково ориентированные, плотно друг к другу прижаты, в зону считывания заносил быстрым движением), оплата прошла нормально, «сработала» ближняя к терминалу карта

Зато какая-то часть «дураков» сейчас знает, для чего нужен Alt+F4. Где бы они это ещё узнали?

Не затрагивая технические сложности:


  1. Не один человек, а два разных


  2. В одном магазине может быть несколько касс


  3. Не обязательно «работать» в одном магазине


  4. На обязательно закупаться ровно на 1000. Можно просто кофе каждый день в Старбаксе покупать )


  5. Если удасться посмотреть пин (в магазине это гораздо проще, чем у банкомата), то вообще никаких проблем (кроме лимитов и остатка на карте)


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

Походить вдвоём по ТЦ, закупиться в разных торговых точках на суммы <1000руб. За день профит пропорционален количеству посещенных точек, сумма может получиться 6-значная

Особая синхронность тоже не нужна ) пока МК1 не получит запрос от терминала — МК2 ничего карте не передаст.
Если второй злоумышленник в той же очереди, то он видит действия у кассы и даже если протупит немного — это спишут на «чего-то терминал тормозит».


Если постоять у кассы и посмотреть на покупателей — можно удивиться, как долго люди возятся с терминалом. И как близко могут стоять сзади ))

Не, там только одна реальная карта будет.
К терминалу прикладывается девайс, назовём его медиа-конвертер (МК1), который общается с терминалом на RFID-частоте и с другим девайсом (МК2) по любому другому каналу связи (WiFi, bluetooth, ...), можно хоть через интернет на другой конец глобуса.

Такая схема — POS->МК1->МК2->карта

МК1 сам ничего о карте не знает, он просто получает от терминала запросы и транслирует их на МК2.
А девайс МК2 второй злоумышленник прикладывает к заднему карману жертвы, где у той лежит банковская карта. Карта реагирует на запросы от МК2 (которые на самом деле запросы от терминала, транслируемые через МК1), как на запросы от настоящего терминала и отвечает на них своими валидными карточными данными (которые МК2 передаёт на МК1 для передачи на терминал).

POS-терминал думает, что МК1 — это карта. Карта думает, что МК2 — это терминал.

Большие мощности не нужны, толщину кармана «пробьёт».
МК1 маскировать несложно — он не обязан выглядеть как карта, если вспомнить про возможность оплаты телефоном/часами.

Схема вполне рабочая, если уложиться в таймауты ответов от карты.
Спасибо за ответы!

В статьях, действительно, отсутствовали детали — что хотя бы один принтер у пользователя уже настроен, а PrintDesk нужен для подключения дополнительного; что

Про «оставить на потом» Linux/MacOS — уже сейчас, без модификации архитектуры ничего не заработает, поскольку скрипт всего один. Вроде в прошлой версии у вас упоминалась возможность запускать три разных скрипта

Про первую проблему — «как сделать так, чтобы страницу возможно было бы открыть только по его относительному пути (например /home), а не открывая JSP файл (например Home.jsp) непосредственно» — я назвал её оффтопиком из-за того, что это тонкости JAVA, не связанные с темой администрирования принтеров. Как если бы вы в первой статье начали рассуждать об одинарных vs двойных кавычках в PHP. Вроде и нужно… но зачем?

четвертая — решена только для одного случая (PrintDesk развернут на принт-сервере) из… скольки?

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

Тут есть и моя вина, не совсем удачно сформулировал. Слова «из скольки?» относятся к тексту перед скобками, полностью звучит так «четвертая — решена только для одного случая из… скольки?» Как минимум, случаев ещё два:
— PrintDesk установлен НЕ на принт-сервер
— принт-сервер вообще не используется
оба решаемые, конечно

Я вообще не считаю, что админ чуть-что должен создавать GPO шки. Конечно я понимаю, что предназначение GPO как раз таки для облегчения задач админу

Ну да, конечно, лучше написать своё решение, чем использовать то, что уже есть в AD ))
Но, учитывая, что описываемое решение нужно только для доп.принтеров (можно сказать, «хотелок пользователя»), то уже неважно.

А вы представьте это все дело в организации размером больше 2к человек, с большой текучкой сотрудников, ротациями, часто принтеры меняются местами и меняются IP, часто принтеры портятся и отправляются в сервис, закончился тонер, еще что-то и т.д и т.п (причин «миллион»)… с сотнями принтеров....(GPO не предлагать)

С 2k человек не представляю. Зато представляю c 50 пользователями, с 5000 и >10000.
Чем меньше организация — тем больше может оказаться загонов у пользователей. В больших организациях всего перечисленного не было:
Принтер сломался — заменили на новый, поставив ему ip старого. Если вендор тот же — даже драйвера можно не менять.
Сломался и нечем заменить — для этого при первичной настройке/переезде добавляем все принтера в кабинете/на этаже/в филиале (по ситуации), дав им соответствующие имена. Когда один вышел из строя (даже просто замятие), пользователи просто печатают на следующий из списка.
Поменяли принтер местами — ну ip-адреса тоже поменяли, пользователь ничего не заметит.
За счёт того, что вместо принтсервера подключаемся напрямую к принтеру, ротация персонала вообще не колышет — у любого нового сотрудника уже будут подключены принтеры.
Аномалии бывают только в случаях «особенных принтеров» (например, все принтера — монохромные A4, но есть один цветной и один, умеющий печатать A3; или все просто принтера — но есть один МФУ, но там другие решения)

ToDo: поизучайте web-интерфейс своих принтеров. Нормальные сетевые принтеры умеют сохранять/показывать свои имя/местоположение, это можно считывать программно (не уверен, как там насчёт кроссвендорства(?) ), зачастую там же можно посмотреть уровень тонера/ошибку, чтобы «предвидеть» необходимость замены картриджа.
У вас скрипты для разных принтеров отличаются?

Нет, не отличается. Скрипт один и тот же для всех принтеров.

Извиняюсь, сначала подумал, что для каждого принтера свой скрипт в базе лежит. Изучил более внимательно скриншоты и схему БД, был неправ.
Но тогда, с другой стороны, у вас сейчас ОДИН шаблон для всех принтеров?
Пока у пользователей Win-only машины и все принтеры расшарены на принтсервере — всё ОК.
Как только появится рабочее место с Linux/MacOS — там заработает?
Если надо будет подключить принтера НЕ через принт-сервер, одним скриптом уже сложно будет обойтись. Можно, но в нём будет куча ветвлений для разных вендоров/способов подключения.

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

Если принт-сервер и PrintDesk на разных серверах, тогда можно через WMI/PS удалённо пинговать принтера с принт-сервера. Наличие пинга от юзера до принтера бесполезно, если вы печатаете через принт-сервер. Для безпринтсерверных случаев придётся переделывать, чтобы пинговалось именно с пользовательской машины.
В любом случае, нужна сетевая доступность именно с того ПК/сервера, через который идёт печать.

Ни один браузер не ругается. Все прекрасно скачивается.

А вы пробовали ВНЕ вашей инфраструктуры? Может у вас админы просто всё разрешили? Браузеры обычно не любят, когда скачивают bat/vbs/msg/exe/xml и т.д.

Веб интерфейс принтера может быть отключен, конечно, нигде я не видел такое, но все может быть.… Пинг мне кажется более надежным.

я ж не спорю:
если пингов нет, а web-интерфейс открылся — значит принтер онлайн

Пинг тоже может блокироваться. Web-интерфейс — просто вторая вещь, которую можно быстро и просто проверить (даже вручную, через браузер или telnet).
Может и 80 порт блокироваться, суровые безопасники могут вообще оставить только минимальный набор портов, необходимый для печати (вроде 139 или 9100)
А ведь есть ещё snmp…
А если с сетевиками дружить, то они ещё и данные непосредственно с коммутаторов могут подогнать…

Возвращаясь к значку online для принтера — из JS в браузере можно попробовать отправлять запрос какой-нибудь странички веб-интерфейса — тогда будет «пинг» с машины пользователя. Но, возможно, ещё с кешированием придётся побороться.

P.s. пока писал, вспомнил вот этот комментарий и понял, что именно мне не нравится в статье — всё самое важное пропущено: началось с описания ТЗ (хотя, наверняка, оно подгонялось под остальную часть статьи), потом небольшое (ну действительно, маленькое) отступление о том, что автор впервые пишет на JAVA, как он выбрал IDE, описать БД, потом описать пару кейсов, добавить кусок скрипта «шобнаодинэкранневлезало», состоящего из почти идентичных строк и в конец накидать скриншотов готовой системы (хорошо хоть под кат). Где-то после описания второй проблемы система внезапно оказалась готова к тиражированию, отчего возникла третья проблема (чистая установка с созданием БД).
У вас правда не было других трудностей, кроме 3-4 перечисленных?
Первая проблема вообще оффтопик, вторая хоть как-то связана с темой, а третья вроде должна показать, что PrintDesk «готов к работе» не только в инфрастуктуре автора… четвертая — решена только для одного случая (PrintDesk развернут на принт-сервере) из… скольки?

На деле же, получается, решали надуманную проблему не самым оптимальным способом.
Почему проблема надуманная? Вы просто переложили работу на плечи пользователя. Вместо своей работы он должен заниматься настройкой ПК. Я ещё могу понять, если речь о BYOD или гипер-мобильных сотрудниках с ноутбуками, но в статье об этом не сказано.
Админы AD у вас не настраивают GPO (но сервачок 2012 R2 таки выделили), техподдержка не настраивает принтеры, нахрена они все тогда нужны? Кто-то ковыряется в носу, кто-то (как вы) пилит свои велосипеды, прокачивает скилы (что похвально, но не всегда соответствует целям бизнеса). А работу всё равно выполняет пользователь. Причём, судя по предыдущей статье — неграмотный пользователь.
Почему нельзя при первом подключении ПК (или переезде) на рабочем месте ОДИН РАЗ установить драйвера всех ближайших принтеров (если не запрещено подключаться напрямую к принтеру, без принт-сервера)?
Почему не кинуть скрипт в автозагрузку, который будет подключать все принтера филиала при логоне (если кол-во принтеров в филиале не чрезмерное; чужие можно отсеивать по маске сети)?
Если уж заставили делать свою работу пользователей — чем ДЛЯ ПОЛЬЗОВАТЕЛЕЙ ваше решение лучше просто списка расшаренных принтеров в нативном интерфейсе ОС (если ОС не древняя — набрать в ПУСКе «принтер», выбрать «Добавить принтер», клик на принтере и выбрать «Добавить/Подключиться»)? Если не хочется видеть принтера других филиалов, можно на файловой шаре создать для филиалов папки и в них накидать установочные ярлыки (примерно как писали тут). Это УЖЕ работает, поэтому выше я написал, что «проблема» решена не оптимальным способом (хотя автор частенько упоминает минимализм).
Из реально полезного — наклейки на сами принтеры.
К сожалению, первая статься прошла мимо меня, к ней много вопросов, начиная от идиотского диалога с пользователем и не менее идиотского progressbar'а при установке, заканчивая выбранным способом подключения принтеров.
Поэтому пройдусь только по второй статье.
А что если у нас завтра будет не VBS, а PowerShell скрипт или любой другой? Поэтому в таблицу systemsettings добавил еще одну строку, где в столбец «parameter» вписал «installscriptextension», а в «value» значение «vbs»

У вас скрипты для разных принтеров отличаются? Не итоговые, с заменёнными переменными, которые получает юзер, а те, которые лежат в базе. Если для каждого принтера — один и тот же скрипт из первой статьи, то зачем его хранить в БД, да ещё и расширение отдельно? Прописать генерацию в коде Вынести его в шаблон и наслаждаться лёгкостью доработок.
На скриншоте vbs вводят руками, а если опечатка?

Кстати, у пользователей браузер не ругается на скачивание/запуск BAT-файла? Во всех браузерах работает или у вас просто политиками принят IE?

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

У вас же все принтеры подключены к принтсерверу и расшарены. Печать всё равно пойдёт через сервер, если с сервера нет доступа, то и печатать не будет, разве нет?

...(или вообще отключен ICMP)...

Можно попробовать соединиться с 80 портом принтера, это web-интерфейс, если пингов нет, а web-интерфейс открылся — значит принтер онлайн.

В любом случае проект хоть и костыльный, но полезный для вас. Заставил изучить (или хотя бы не забыть) PHP/JAVA/SQL и прочие составляющие. В HelpDesk'е всё это никак не развивается.
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 неизвестна в рунете, то ваша статья (как одна из первых) может стать отправной точкой для многих. В таком случае желательно понимать всю ответственность, не публиковать решения, которые подошли только вам, без должного анализа, хотя бы попытаться сравнить с аналогами.
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.
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 это не проблема, перезагрузка требуется только тогда, когда устанавливаемый софт (а не агент) этого требует (например, антивирус или драйвера).
По вашему описанию, 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%? Ясно, что всё равно придётся допиливать по мелочи, но всё же.
13% опрошенных не смогли ответить, используется ли в их компании PKI/сертификаты, непонятно, кого тогда опрашивали? Уборщиц, миддл-менеджеров, безопасников, топов?
Учитывая прозрачность (для пользователя) некоторых вариантов использования шифрования, можно В ЛЮБОЙ ОДНОЙ компании провести такой же опрос и получить схожие (или несхожие) результаты:
— кто-то точно знает, что используется, например, потому что сам внедрял/сопровождает PKI
— кто-то точно «знает», что НЕ используется, потому что нет у него кнопки «Зашифровать»
— кто-то не знает, потому что нет кнопки «Зашифровать», но он понимает, что это ничего не доказывает;
Дрель/перфоратор всегда есть у соседа сверху, если вы понимаете, о чём я. Ну или не сверху, достаточно в выходной просто прислушаться по утру и идти на звук
Из прошлой работы Windows я узнал что она работает в режиме Legacy

Windows может работать и в режиме Legacy и в режиме EFI, обычно это определяется на этапе установки и частично зависит от разметки диска GPT/MBR.
С MacBook Pro late 2011 есть такая проблема — если Windows ставить в режиме EFI, то не работает звуковая карта — в устройствах будет висеть некое звуковое устройство без подходящих драйверов, но, по слухам, это может оказаться аудио для HDMI (не проверял), настоящая звуковушка должна быть Cirrus Logic. Подсовывание правильных драйверов не помогает. В некоторых случаях и видеокарта не работает, в зависимости от вендора чипа.
В интернете есть пара робких попыток объяснить это тем, что в режиме Legacy нормально проходит инициализация устройств перед загрузкой ОС, а в составе EFI отсутствует подпрограмма для звука, поэтому в этом режиме инициализация звуковушки проходит уже при загрузке ОС (MacOS это умеет, а Windows — нет, поэтому и не работает). Не разбирал EFI, поэтому не могу подтвердить/опровергнуть, но Windows, установленная в режиме Legacy на том же Macbook'е работает без нареканий.

По этому в интернете набрел на информацию по конвертации диска из обычного в «гибридный». Тем самым я могу использовать его как GPT и MBR одновременно

Как вы в конце упомянули, BootCamp как раз делает то же самое — гибридный диск (MacOS видит его как GPT, Windows видит его как MBR), не совсем понял, зачем вы это делали руками.
Плюс BootCamp устанавливает флаг, чтобы при следующей загрузке форсировать загрузку в Legacy, это можно тоже вручную сделать в терминале — тогда должен работать пункт загрузки в Legacy-режиме. Но на устройствах с CD-ROM загрузка с флешки в Legacy идёт как-то криво (опять же — по слухам из интернета).

Поскольку была озвучена фраза
всегда было приятно ручками вручную всё делать

то добавлю ещё, что вместо WinNTSetup достаточно отформатировать раздел в NTFS, например, через diskpart (в командах select… ориентируйтесь на результат команд list ...):
diskpart
list disk
select disk 0
list partition
select partition 1
format fs=ntfs label=Windows quick
assign letter=C
active
exit


а потом распаковать Windows из дистрибутива и создать загрузочное меню
dism /apply-image /imagefile:y:\sources\install.esd /index:4 /applydir:c:\
bcdboot c:\windows /s c: /f bios


imagefile — это путь к wim/esd-файлу
index:4 — номер редакции ОС в wim/esd-файле (Home/Pro/...)
c: — раздел с Windows

У меня была задача на 20 макбуках поставить Windows ЕДИНСТВЕННОЙ ОСью, с удалением всех разделов единственного жесткого диска (независимо от того, была ли там одна MacOS или в паре с Windows). Набросал вот такой скрипт manual.cmd, может кому пригодится (для сохранения макоси надо, как минимум, убрать команды clean, convert mbr и поменять номер в select partition, ориентируясь на выхлоп команды list partition)

if X:\==%~dp0 goto :main

copy %~dp0manual.cmd x:\

if exist x:\manual.cmd call x:\manual.cmd
goto :eof

:main
echo list disk >>diskpart.txt
echo select disk 1 >>diskpart.txt
echo select partition 1 >>diskpart.txt
echo remove letter=C noerr >>diskpart.txt
echo assign letter=Y >>diskpart.txt
echo select disk 0 >>diskpart.txt
echo clean >>diskpart.txt
echo convert mbr >>diskpart.txt
echo create partition primary >>diskpart.txt
echo select partition 1 >>diskpart.txt
echo format fs=ntfs label=Windows quick >>diskpart.txt
echo assign letter=C >>diskpart.txt
echo active >>diskpart.txt
echo exit >>diskpart.txt
diskpart /s diskpart.txt
dism /apply-image /imagefile:y:\sources\install.esd /index:4 /applydir:c:\
bcdboot c:\windows /s c: /f bios
wpeutil shutdown


Мне не надо было вообще грузить MacOS, достаточно при включении зажать Option, выбрать EFI Boot, дождаться загрузки GUI, нажать Shift+F10 и запустить свой manual.cmd. После выключения макбука — достать флешку и включить его, дальше пойдёт привычная установка Windows; если флешку не доставать, то опять запустится WinPE с флешки, поскольку на ней EFI, а он в приоритете.

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность