# ZoneMinder

ZoneMinder es un software gratis, y de código abierto para el seguimiento a través de circuito cerrado de televisión - Está diseñado para ejecutarse en distribuciones de Linux que soporten la interfaz Video For Linux (V4L) y publicado bajo los términos de la Licencia Pública General de GNU (GPL). Además de Linux, ZoneMinder también es compatible con los sistemas operativos móviles Android e iOS , pero también lo puede compilar uno mismo.
Con la versión 1.27.0, que fue publicada el 15 de marzo de 2014, se publicó por primera vez un Dockerfile que permite ejecutar el software en un contenedor.
Los usuarios que utilizan ZoneMinder a través de una interfaz basada en web. La aplicación puede usar cámaras estándar (a través de una tarjeta capturadora, USB , FireWire , etc.) o dispositivos de cámara basados en IP. El software permite tres modos de funcionamiento:
* monitoreo (sin grabación)
* grabación después de un movimiento detectado
* grabación permanente
La aplicación admite varias cámaras, que se pueden revisar simultáneamente sin pérdida aparente de rendimiento. La grabación comienza cuando la aplicación detecta cambios entre los fotogramas de la cámara; Se pueden seleccionar zonas dentro del campo de visión que el software ignorará. Una consola proporciona información sobre el estado. En el caso de un evento programado, puede, por ejemplo, enviar un correo electrónico o un SMS y luego ver los datos del video.

## Propiedades

* Se ejecuta en todas las distribuciones de Linux
* Admite cámaras de video por USB y de red
* Admite cámaras de giro / inclinación / zoom
* Requiere MySQL y PHP
* Alto rendimiento, funciones de análisis y respaldo de video independientes, alta redundancia de fallas
* Se pueden definir varias zonas (regiones de interés) para cada cámara. Se pueden definir zonas importantes o no importantes.
* Se puede seleccionar una gran cantidad de configuraciones listas para usar
* Interfaz de red fácil de usar, control total del sistema y las cámaras, así como vistas en vivo
* Admite grabaciones MPEG en vivo e imágenes fijas JPEG con detalles estadísticos
* Mensajes de correo electrónico o SMS que también pueden transferir una foto actual
* Copias de seguridad FTP para emergencias

## Evolución de la API

La API de ZoneMinder ha evolucionado con el tiempo. En términos generales, los cambios significativos fueron las siguientes:
* Antes de la versión 1.29, no existía una capa de API. Los usuarios tenían que usar las mismas URL que usaba la consola web para 'imitar' las operaciones, o usar una máscara XML.
* A partir de la versión 1.29, se lanzó una API basada en CakePHP v1.0 que continúa evolucionando con el tiempo. Desde una perspectiva de seguridad, todavía estaba vinculado a la autenticación de ZoneMinder y requería cookies de cliente para muchas operaciones. Principalmente, se ofrecieron dos modos de autenticación:
** Utiliza cookies para mantener el estado de la sesión.
** Utiliza un hash de autenticación para validarse a sí mismo, que incluía la codificación de información personal y marcas de tiempo.
* A partir de la versión 1.34, ZoneMinder ha introducido un nuevo sistema basado en "token" que se basa en JWT. Estos tokens no codifican ningún dato personal y se pueden transferir sin estado por solicitud. Introduce conceptos como tokens de acceso, tokens de actualización y revocación de API por nivel de usuario para administrar mejor la seguridad. También se mueve de MYSQL PASSWORD a Bcrypt para contraseñas.

## Vulnerabilidades

El 26 de agosto de 2008, el pentester Filip Palian publicó un informe de error en el que señalaba varias fallas de seguridad, incluida una falla XSS y una inyección SQL.