Uit Hack42
Versie door Dvanzuijlekom (overleg | bijdragen) op 23 aug 2018 om 00:12 (→‎Hoe: dingen)
Ga naar: navigatie, zoeken
Project: Space VCR System
Schroefje24.png
Schroefje24.png
Schroefje24.png
Schroefje24.png
Space VCR System Picture.jpg

Space VCR System

Naam Space VCR System
Door BugBlue, SA007, Dvanzuijlekom
Status Uitvoer
Madskillz Linux, Cyber
Doel / Omschrijving
Documentatie van de Space VCR Infrastructuur
Alle Projecten - Project Toevoegen
File:Space VCR System_Picture.jpg noez

Wat

Voor het leveragen van de veiligheid van onze complete cyber-security en *alle* awesome blockchains gebruiken we ZoneMinder. Dit is geïnstalleerd in de 'betamax.space.hack42.nl' VM (Debian 9 "Stretch") op het virtualisatiecluster.

Hoe

Voor het installeren van de ZoneMinder software en alle afhankelijkheden hebben we (deels) deze tutorial gebruikt, die (op dit moment, of inmiddels) helaas enkele onjuiste instructies bevat. Vooral het advies over het wijzigen van file/directory permissies moet zorgvuldig gecontroleerd worden voor dit zomaar wordt doorgevoerd, aangezien de meeste permissies en file ownership reeds correct staan en/of dit zelfs nadelige effecten heeft op het beveiligingsniveau van de server.

ZoneMinder vindt blijkbaar dat er altijd een *lokaal* geïnstalleerde MySQL server aanwezig dient te zijn. Tijdens installatie wordt vrij agressief een lokale MySQL instance geïnstalleerd en geconfigureerd. We gebruiken echter de shared MariaDB/MySQL server die via het netwerk te benaderen is (mariadb.space.hack42.nl). De lokale MySQL instantie is naderhand weer verwijderd.

Omdat ZoneMinder na het (re)booten van de VM meestal reeds opgestart is voordat uitgaande netwerkverbindingen mogelijk zijn, geeft deze foutmeldingen, weigert de software verder op te starten en raakt in een 'failed state'. Hiervoor is het volgende aangepast aan de lokale systemd unit file (/etc/systemd/system/zoneminder.service):

In de "Service" sectie:

After=network-online.target
Wants=network-online.target

In de "Unit" sectie (aangezien het bovenstaande niet het gewenste effect lijkt te hebben):

ExecStartPre=/bin/sleep 10

Hiervoor is ook de "systemd-networkd-wait-online.service" enabled:

root@betamax:~# systemctl enable systemd-networkd-wait-online.service

In /etc/zm/zm.conf staat het database endpoint geconfigureerd en de credentials voor toegang.

Om de toegang tot de webinterface te beperken uit te dagen, is deze afgeschermd voor enkel vooraf geautoriseerde personen. Neem contact op met the usual suspects voor het indienen van autorisatie-verzoeken. Authenticatie (aanloggen met gebruikersnaam + wachtwoord) wordt middels een .htpasswd file op Apache niveau gedaan. Autorisatie (welke camera('s) mag je als gebruiker bekijken of wijzigen) wordt binnen ZoneMinder geconfigureerd.

Na het migreren van de ZoneMinder installatie verscheen onderstaande melding in de Apache error log:

[Sun Aug 12 14:37:12.655773 2018] [:error] [pid 1636] [client 192.168.142.66:37573] WAR [ZM_OPT_CAMBOZOLA is enabled, but the system cannot find /usr/share/zoneminder/www/cambozola.jar], referer: http://betamax.space.hack42.nl/zm/index.php

Om dit te verhelpen is Cambozola gedownload en de file cambozola.jar is in de /usr/share/zoneminder/www/ directory geplaatst.