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

PC park observer — система учёта комплектующих компьютеров парка, базирующегося на MS Windows

Время на прочтение4 мин
Количество просмотров6.2K

Для чего эта система

Данная система предназначена для учёта комплектующих в компьютерном парке, базирующемся на Windows. Я выложил систему под GNU/GPL v. 3 лицензией, так что денег не прошу, можете использовать как угодно... Все пожелания и т.п. обсуждаются отдельно...

Особенности и возможности

Система работает под управлением ОС GNU Linux (на данный момент успешно обкатана на ubuntu 20.04).  Система собирает информацию и создаёт оповещения в случае изменений в необходимых хостах (в частности информацию об:

  • мак адрес сетевого адаптера

  • ip адрес

  • имя хоста

  • информацию о мат. плате (по возможности и её серийный номер)

  • информацию о процессоре (по возможности и её серийный номер)

  • информацию об оперативной памяти (по возможности серийный номер, тип памяти - ECC или не ECC, объём)

  • видеоадаптер (с указанием PNP Device id)

  • жёсткие диски (можно опционально включить проверку тех, что подключены по USB или iSCSI) - серийный номер, модель, объём).

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


Доступ к системе регулируется на основе двух ролей - администраторов (могут менять системные настройки и менять перечень проверяемых сетей/хостов); менеджеров - могут только просматривать аналитику и данные по хостам.

Реальные кейсы применения

  1. Воруют периодически железо - если настроить обходчик на довольно частый период, то можно вполне поймать вора (так уже было обкатано и к товарищам полиционерам система отправила свою пачку не честных на руку граждан). В этом случае одной данной системы мало, лучше ещё запастись системой видео наблюдения и/или СКУДом... 

  2. Надо держать актуализированную информацию о железе в парке конторы, т.к. бывает её запрашивает бухгалтерия.

  3. Контролировать непонятные периодически возникающие на хостах флешки. На практике можно засечь, что кто-то периодически использует флешки со всякими странными метками в стиле kali linux :).

На текущий момент, в одной крупной сети система работает вне пределов проверяемой сети, так что админы, кои управляют данной сетью в сути не могут повлиять на данные, находящиеся в БД системы. Для такого достаточно виртуалку с данной системой расположить у себя на балконе на каком-нибудь хостинге и пробросить VPN до проверяемой сети. При этом на клиентских машинах ничего устанавливать НЕ НУЖНО.  Единственными условиями успеха проверки выступают открытый 135 tcp порт на проверяемых машинках и ваше знание о паре логина/пароля для авторизации на них. В реальном кейсе, на текущий момент обход и сбор информации с 370 хостов производится примерно за 2 минуты с тонко подкрученными настройками.

Как всё пашет под капотом

  1. Запускается nmap, в который передаются для проверки необходимые сети/хосты (к примеру 192.168.0.0/24 и заодно отдельно скажем проверить 192.168.22.2/32).

  2. Nmap быстренько проверяет открытость портов по указанным диапазонам и формирует список "живых" хостов.

  3. Далее по живым хостам начинается сбор информации о железе и прочем через протокол WMI.

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

  5. По мере получения инфы с хостов они сразу заносятся в БД и сопоставляются с ранее полученными данными по данному хосту. Опорной точкой сравнения является MAC адрес сетевого адаптера хоста

  6. По желанию в случае появления информации о новых, изменённых хостах может формироваться отправка сообщения о событии в телеграм (для этого нужно вам будет завести бота и выяснить id чата, куда кидать уведомления).

  7. Также по желанию может быть сформирован сводный отчёт, который полетит на почту.

Минимальные системные требования

Вполне подойдёт виртуалка со скромными параметрами (скажем пара ядер на проце, хотя бы 1024 мгб ОЗУ и места на диске гигов так в 15).

Установка

Перед установкой на боевую машинку достаточно на ней сконфигурировать правильно сеть, после чего:

sudo -s
wget https://raw.githubusercontent.com/constantinekg/pcpo/main/doc/INSTALL.txt -O install.sh && chmod +x install.sh && ./install.sh

Первоначальная настройка

Администратор по умолчанию:
login: pcpoadmin
password: pcpoadmin1

Перед первым запуском необходимо войти в систему, открыв в браузере айпишник/доменное имя машинки, на которую была произведена установка. Далее перейти в раздел Настройки->Проверяемые сети/хосты и добавить необходимые диапазоны с указанием логина-пароля:

Далее идём в командную строку и выполняем первую проверку:

root@pcpo:~# /opt/pcpo/scanner/rerun.sh

По результату проверки можем зайти в аналитику и просмотреть полученную информацию:

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

После того, как все настройки будут выставлены - мы можем запланировать проверку на периодическую основу. Для этого откроем crontab (crontab -e) и добавим примерно такое:

#exec main data fetching process
3 */1 * * * /opt/pcpo/scanner/rerun.sh

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

Если необходимо производить проверки в бесконечном цикле (режим демона), то демона можно завезти выполнив:

sudo /opt/pcpo/daemon/daemon_install.sh

Ресурсы

Проект на гитхабе

Готовый образ машины в формате qcow2

Теги:
Хабы:
+4
Комментарии25

Публикации

Истории

Работа

Ближайшие события