6 приложений для камер видеонаблюдения в Linux
Безопасность — главная проблема в мире технологий, но мы говорим не только о фишинг-атаках и вредоносных программах. Старые опасности, такие как взломы и кражи, угрожают нашим домам и предприятиям, поэтому существует рынок высококачественных систем наблюдения.
К счастью, вам не нужно платить сотни долларов за систему видеонаблюдения, если у вас есть запасной компьютер под управлением Linux и несколько запасных камер. К тому же, такой путь дешевле и даст вам больше контроля, если вы выберете правильное программное обеспечение. Вот лучшие варианты программного обеспечения для камер видеонаблюдения в Linux, которые вы можете попробовать.
1. ZoneMinder
ZoneMinder — это отличный вариант для системы видеонаблюдения «сделай сам». Профессиональные функции превращают ZoneMinder в идеальное решение для домашней и коммерческой безопасности. Он поставляется с совместимостью как для IP-камер, так и для стандартных веб-камер. Если вы находитесь в пути, приложения для Android и iOS позволяют удаленно контролировать ваши камеры.
У вас есть много вариантов настройки ZoneMinder в соответствии с вашими требованиями, с поддержкой как живого видео, так и обычных изображений. Уведомления по электронной почте и SMS помогут вам оставаться в курсе, даже если вы не осуществляете мониторинг напрямую. Кроме того, ZoneMinder предлагает уровни доступа пользователей, чтобы вы могли ограничить, кто имеет доступ. Это довольно гибкий инструмент с возможностью масштабирования, наклона и панорамирования камер.
Пользователи Linux CCTV могут воспользоваться установщиками для различных дистрибутивов, таких как Ubuntu и Debian, но вы также можете скомпилировать их из исходного кода, если хотите. Вы также можете развернуть ZoneMinder на устройствах с низким энергопотреблением, таких как Raspberry Pi.
2. Xeoma
Если вы ищете простое в использовании программное обеспечение для IP-камер Linux, Xeoma — это хороший вариант, поскольку он позиционируется как «по-детски простое» видеонаблюдение. Он имеет модульный подход, позволяющий добавлять необходимые компоненты и компоненты при настройке системы.
Это программное обеспечение для Linux-камеры безопасности является богатым. Он совместим со всем, от обычных веб-камер USB до камер видеонаблюдения Wi-Fi. К одной установке Xeoma можно подключить до 2000 камер, что делает ее идеальной для коммерческого использования.
Снимки экрана со всех мониторов одновременно, удаленный доступ и обнаружение движения — все это делает Xeoma хорошим выбором для пользователей. Он также поддерживает мобильный доступ с оповещениями по SMS и электронной почте, а также удаленный доступ к архивам, камерам и настройкам. Вы также можете воспользоваться различными настройками хранения, отложенными записями и даже алгоритмами, чтобы избежать ложных срабатываний. Эта последняя функция отлично подходит для пользователей с домашними животными или маленькими детьми.
Хотя он доступен для покупки, Xeoma предлагает бесплатную версию с несколькими ограничениями (восемь камер, три модуля в цепочке). В целом, Xeoma — это простой, но всеобъемлющий вариант для наблюдения за вашим домом или работой.
3. Motion
Motion — эта бесплатная программа определяет, изменилась ли основная часть изображения из видеосигнала. Написанный на C, Motion был создан специально для дистрибутивов Linux с интерфейсом video4linux.
Несмотря на то, что видео сохраняется при обнаружении движения, Motion также включает настройки промежутка времени для регулярного мониторинга. Вы также можете установить движение для сохранения как видео или изображений. Он работает без головы и графический интерфейс не требуется, что делает его более компактным по сравнению с другими конкурентами программного обеспечения для наблюдения в Linux.
Вот что делает Motion таким прекрасным выбором, если вы хотите создать недорогой сетевой видеомагнитофон (или сетевой видеорегистратор) для работы на маломощных устройствах, таких как Raspberry Pi. Он будет записывать ваши изображения наблюдения или видео в цифровом виде, либо локально (на SD-карту), либо через вашу внутреннюю сеть.
Motion может не хватать функций по сравнению с другим программным обеспечением Linux NVR, но это хороший вариант, если вы ищете базовую систему камер с датчиком движения.
4. Bluecherry
Если вы хотите использовать исключительно программное обеспечение с открытым исходным кодом, Bluecherry — это Linux NVR для вас. Это кроссплатформенная система видеонаблюдения, поэтому вы можете запускать ее на других платформах.
Установка проста, с однострочным установочным скриптом, доступным для Ubuntu, Debian и CentOS. Он поддерживает более 2600 IP-камер с возможностью воспроизведения записей и потокового вещания в браузере. К сожалению, в Bluecherry отсутствует собственное мобильное приложение для Android и iOS, но поддерживается интеграция с IP Cam Viewer.
Хотя Bluecherry является бесплатным и с открытым исходным кодом, платные пакеты поддержки доступны для бизнес-пользователей. Благодаря богатому набору функций и платной поддержке, Bluecherry является отличным вариантом для использования как в бизнесе, так и в быту.
5. Ivideon
Если вы разрабатываете систему видеонаблюдения с ограниченным бюджетом, вы должны рассмотреть Ivideon. Системные требования являются одними из самых легких, которые вы найдете для любого цифрового видеорегистратора. Вы можете запустить Ivideon на ПК с процессором Itnel Atom с 1 ГБ ОЗУ и всего лишь 500 МБ памяти. Однако для ежедневного хранения видеоматериалов вам потребуется как минимум 11 ГБ, если вы хотите хранить их локально.
Несмотря на нехватку ресурсов, Ivideon — это сервис, интегрированный с облаком, с уведомлениями и воспроизведением, доступными через Интернет. Вы также можете хранить свои записи, используя облачное хранилище Ivideon.
Установка довольно проста. Вы можете либо загрузить и запустить скрипт установки, либо запустить отдельные команды из окна терминала самостоятельно. Как и многие другие системы видеонаблюдения, Ivideon предлагает мобильное приложение для устройств Android и iOS. Он официально поддерживает самые последние выпуски Debian и Ubuntu, но так же может быть установлен на другие дистрибутивы.
Домашние пользователи могут выбирать из ряда планов, в том числе базовый (но функциональный) бесплатный онлайн-план, хотя бизнес-пользователям придется платить за пакет в 5 долларов в месяц.
6. Kerberos.io
Kerberos.io — еще одно бесплатное кроссплатформенное программное обеспечение NVR для Linux, совместимое практически со всеми камерами, поддерживаемыми Linux. Вы даже можете загрузить Docker-контейнер, чтобы настроить всё за считанные минуты.
Kerberos.io с поддержкой Raspbian — лучший вариант для пользователей, желающих создать систему видеонаблюдения с использованием маломощных технологий. Примечательно, что Kerberos.io также имеет чистый, современный и простой в использовании веб-интерфейс.
Если вы не хотите тратить много времени на настройку или обслуживание вашей системы, то Kerberos.io — один из лучших вариантов для вас в Linux. Хотя для некоторых функций (например, для просмотра камер удаленно) требуется облачная подписка, стоимость которой составляет менее 2 долларов в месяц.
Будьте в безопасности с Linux
Создание вашей собственной системы видеонаблюдения на основе Linux поможет защитить ваш дом и бизнес от более традиционных угроз. Они также могут сыграть свою роль в создании умного дома с другими проектами DIY.
Netavis Observer — ПО IP-видеонаблюдения на базе Linux. Установка, настройка и небольшой взлом
Netavis Observer — программный продукт для организации видеонаблюдения с помощью IP-камер на базе Linux-сервера.
Netavis Observer написан на Java, так же используются такие продукты как Apache Tomcat, Webmin, Munin, Mysql.
Существует два варианта Netavis Observer — Bundled(поставляется в виде установочного iso-образа на базе Centos5 или Centos6) и Unbundled — набора rpm-пакетов для самостоятельной установки на сервер под управлением Centos или RedHat.
А теперь приступим к установке
Идем по ссылке и скачиваем Bundled-версию Netavis Observer в виде iso, записываем на болванку и вставляем ее в привод чтения компакт-дисков сервера.
Сразу после загрузки мы видим экран приветствия с вариантами дальнейших действий, и их не очень много:
— install options где options:
— без опций — стандартная установка на один жесткий диск.Все данные с жесткого диска будут удалены.
— hwraid — установка на железный RAID.
— nus — установка сервера событий и без архива.
— part — установка с возможностью ручной разметки дисков.
— nlis — установка без хранения архива на локальных дисках.Хранилища архивов монтируются по NFS или SAMBA.
— repair — восстановление системы после сбоя.
Наш выбор — boot: install Далее — стандартная процедура установки Centos5. После окончания установки соглашаемся перезагрузиться. После загрузки операционной системы видим приглашение ввести логин admin для завершения установки системы.
После чего нажимаем Enter, и далее 0 для подтверждения завершения установки.Соглашаемся с условиями лицензионного соглашения, введя yes.
Далее вводим пароль для пользователя admin:
На этом установка закончена и можно перезагрузиться, предварительно запомнив или записав, по какому адресу находится интерфейс администратора и клиента:
— 192.168.0.5:8000 — интерфейс администратора — сильно обрезанный вариант WEBMIN ( для входа используем логин admin и заданный в начале установке пароль).
— 192.168.0.5 -интерфейс клиента Netavis Observer ( для входа используем логин admin и заданный в начале установке пароль).
Запускаем браузер (проверено в свежих Firefox и Chrome, а также в IE7) и вводим адрес клиента Netavis Observer — в данном случае — 192.168.0.5
Важно! — для работы клиента требуется установленная Java и ее поддержка должна быть активирована в настройках браузера.
Соответственно при входе в интерфейс Netavis сначала появится вот такая страница:
и если с Явой все в порядке можно выбрать язык интерфейса и нажать Start
На следующем скриншоте все понятно — можно запустить клиент из браузера, установить клиента на локальный компьютер под управлением Windows, а так же на смартфоны под iOS(эту возможность не тестировал), а так же посмотреть документацию или зайти в интерфейс Настройщика под логином admin и паролем admin.
Но вернемся назад и запустим( или поставим локально) клиент Netavis Observer.И первое что мы видим — окно, в котором предлагается лицензировать программу — и в нем четыре пункта:
— Запуск без лицензии — обрезанный функционал, даже камеру не добавить.
— Запуск с демо-лицензией — можно добавить камеру, но периодически будет выкидывать из программы.
— Запрос лицензии в зависимости от количества камер, пользователей и прочих плюшек с официального сайта.
— Непосредственный ввод лицензионного ключа.
Нас интересует последний пункт, так как лицензионный ключ в наличии.Вводим ключ, нажимаем ОК и под полями ввода ключа появляется сообщение что ключ сохранен на сервере.Закрываем окно лицензирования и запускаем клиент повторно.
После запуска появляется окно авторизации — логин и пароль согласно документации: admin/admin
и вот наконец интерфейс клиента Netavis Observer:
В какой то момент выяснилось, что установленных в сервер жестких дисков не хватает для постоянной записи архива по каждой камере на 1 месяц.
Были приобретены жесткие диски требуемой емкости и после прочтения документации был уяснен процесс добавления и замены жестких дисков в систему.Для этого недостаточно иметь доступ к интерфейсу клиента, необходим доступ к консоли управления системой — согласно документации нужно зайти по SSH на сервер под пользователем admin и установленным для него паролем.
Это можно выполнить командой ssh -l admin 192.168.0.5 и ввести пароль.Также можно просто залогиниться в консоль локально.
Согласно документации процедура добавления проста как три рубля — выключаем сервер, подключаем чистый, неформатированный жесткий диск, включаем сервер и залогиниваемся в систему.
Далее набираем 27 для проверки на предмет, определился ли жесткий диск или нет, потом набираем 23 и дожидаемся окончания процедуры создания файловой системы, создания точки монтирования и пр.
После рестарта сервера и запуска системы новый жесткий диск виден в системе и готов к записи на него архива.
А на случай, если один из жестких дисков вышел из строя и его необходимо заменить, следуем другой процедуре: выключаем сервер, меняем неисправный жесткий диск на исправный, включаем сервер и логинимся в консоль.там сначала смотрим статус жестких дисков, а потом набираем 24 — Configure replaced disk и ждем окончания процедуры.
Важно: Новый жесткий диск должен быть неформатированным, и подключать его необходимо на то же место, где стоял неисправный жесткий диск.
Ищем проблему — и находим ее
Однажды нужно было добавить два жестких диска и изъять один малой емкости.И так как сервер уже был в практически в производственной эксплуатации, захотелось совместить две процедуры — добавления жесткого диска и замены одного жесткого диска другим.
После загрузки системы и логина в консоль по запарке решил начать с процедуры добавления жесткого диска вместо замены одного жесткого диска на другой.Система добавила два новых жестких диска в систему, а менять жесткий диск уже было не на что.
Результатом таких поспешных действий стала ошибка, отображающаяся в интерфейсе клиента рядом с нагрузкой на процессор — Degraded recording, и ошибочное значение пространства, доступного системе ровно на столько, сколько было гигабайт на замененном жестком диске. При этом в консоли этот жесткий диск отображался как неиспользуемый — пункт 25 — Show unusable disks.
Никакие действия в консоли управления, откат к прежней конфигурации и попытки восстановить систему с установочного диска к успеху не приводили. Документация на этот счет советовала переставить систему с нуля или обратиться к дилеру.
Решение проблемы
Было решено создать аналогичную проблему на виртуальной машине. Это с легкостью удалось.
Под рутом зайти в консоли не получилось — пароль не известен. Загружаемся с live-cd Xubuntu на этой виртуальной машине и начинаем изучение внутренностей системы.
В системе обнаружились следующие интересные разделы:
— / — собственно корневой раздел.
— /netavis — раздел, где собственно находится система Netavis
— /var/lib/mysql — раздел, где находится каталог базы данных.
Так же есть разделы Images1, Images3, Images4 которые монтируются в /Images
Первым делом смотрим файл /etc/shadow на предмет списка пользователей и их паролей.
Нам интересны следующие пользователи:
root:$1$UEe5kAv4$nWyqBmcmg3P.kM/ZB/s/2.:16086:0:99999:7.
arms:$1$gKURq9W3$oYJWwNw9hKtJBmoVpkFju/:16086:0:99999:7.
admin:$1$0.3jcW1k$i6QabIE2yN0hCcTmrQ7j80:16086:0:99999:7.
netavis:$1$SQ4LOu8J$Gp6PEphFVKucMyQbkm55f1:16086:0:99999:7.
chpass:$1$CWDhlmfR$b/IoN0Inx/A6eT04hivM/.:16086:0:99999:7.
Видно что пароль рута есть, но не совпадает с установленным нами паролем для admin-а.
Единственный выход — поменять пароль root-а на известный нам пароль admin-а.Поэтому стираем хэш пароля рута и меняем на хэш пароля admin-а, после чего сохраняем файл, отмонтируем все файловые системы и перезагружаемся в Netavis.
Далее логинимся под root-ом с известным нам паролем от admin-а и начинаем осматриваться уже из под живой системы с правами root-а.
]# fdisk -l
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 664 5229157+ 83 Linux
/dev/sda3 665 1315 5229157+ 83 Linux
/dev/sda4 1316 2635 10602900 5 Extended
/dev/sda5 1316 1966 5229126 83 Linux
/dev/sda6 1967 2097 1052226 82 Linux swap / Solaris
/dev/sda7 2098 2635 4321453+ 83 Linux
/dev/sdb1 1 1045 8388607+ ee EFI GPT
/dev/sdc1 1 1045 8388607+ ee EFI GPT
]# mount
/dev/sda7 on /Images/Images1 type xfs (rw,noatime,nodiratime,logbufs=8,logbsize=256k,allocsize=256k)
/dev/sdb1 on /Images/Images3 type xfs (rw,noatime,nodiratime,logbufs=8,logbsize=256k,allocsize=256k)
/dev/sdc1 on /Images/Images4 type xfs (rw,noatime,nodiratime,logbufs=8,logbsize=256k,allocsize=256k)
То есть присутствует запись о замененном жестком диске, которого фактически нет в сервере. Удаляем точку монтирования Images2 из fstab, сохраняем и перезагружаемся.
После загрузки запускаем клиент и идем в раздел System administration — System information и видим что ошибка не исчезла, значит информация о используемых дисках хранится где то… и это наверняка Mysql.
Разбираемся с Mysql.
Значит нужно подключиться к серверу базы данных, а для этого нужно знать логины и пароли для доступа. Для этого идем в /var/lib/mysql и смотрим какие базы есть в наличии.
Вот список баз:
— arms
— mysql
— test
База mysql — системная, в ней можно посмотреть список пользователей сервера и хэши паролей. Итак — окончательный путь до файла с интересующей нас информацией — /va/lib/mysql/mysql/user.MYD — открываем файл в любимом редакторе и видим что пользователей не так уж и много — root и arms и хэш пароля у них одинаковый — 2f36c5e96b75ee48, к тому же старого типа, что подтверждается просмотром конфига Mysql-сервера, который расположен по пути /etc/my.cnf:
…
old_passwords=1
…
Дело за малым — или угадать пароль или брутфорсить, что могло занять некоторое время. Начал с попытки угадывания пароля, подставляя известные пароли, пустые пароли, пароли, совпадающие с логинами… удача улыбнулась почти сразу.
Для обоих логинов (root и arms) пароль — arms
Далее настроим SSH-туннель между сервером Netavis и компьютером, на котором запустим один из графических инструментов для администрирования базы данных Mysql, например MySQL Workbench или Emma или любой другой, которым вы обычно пользуетесь.
Итак, создаем туннель:
— На Linux — командой ssh -L 3306:localhost:3306 root@192.168.0.5, вводим пароль, который мы скопировали с пользователя admin.
— Универсальный вариант — с помощью Putty:
Далее запускаем например Emma, настраиваем на соединение с localhost:3306 и логином/паролем arms/arms и идем прямиком в базу, с которой и работает Netavis — arms.
Пользуясь поиском текста по всей базе по ключевому слову «Images2» (ведь именно этот раздел мы и пытаемся убрать из настроек программы) получаем результат в виде таблицы Directories, в которой и хранится искомая информация:
Удаляем запись с информацией о Images2 и перезагружаем сервер.
После загрузки запускаем клиент и идем в раздел System administration — System information и видим что ошибка исчезла!
Архив пишется монолитно, ошибка Degraded recording из интерфейса клиента исчезла, как и информация о неиспользуемом жестком диске в консоли управления. Доступное файловое пространство отображается корректно.