Par défaut, ZoneMinder est accessible via un navigateur web sur le port 80, ce qui se traduit: login/mdp passe en clair sur le réseau.
Si on accède à Zm sur son réseau privé, ce n’est pas trop grave mais si on accède à Zm via internet là ça devient très critque.
Cet article décrit la procédure pour accéder à Zoneminder via le protocole https sur le port 443 du serveur web.
Configuration du serveur web Apache
- Vérification du port 443 en écoute
Ouvrir le fichier /etc/apache2/ports.conf et vérifier si Listen 443 est bien présent et sans le # devant:
<IfModule mod_ssl.c> Listen 443 </IfModule>
a2enmod ssl
Voir l’article: https://memo-linux.com/openssl/
editer le fichier de configuration
nano /etc/apache2/site-enabled/zoneminder.conf
Remplacer le contenu comme suit:
NameVirtualHost *:443 <virtualhost *:443> ServerName serverweb.dom Alias /zm /usr/share/zoneminder DocumentRoot /usr/share/zoneminder SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key php_flag register_globals off Options Indexes FollowSymLinks <IfModule mod_dir.c> DirectoryIndex index.php </IfModule> </virtualhost>
service apache2 restart
Test de connexion dans un navigateur web
Saisir l’adresse du serveur: http://url_server/zm/
Normalement, il n’est plus possible d’y accéder.
Saisir de nouveau l’url mais en spécifiant https://url_server/zm/
Cliquer sur « I Understabnd the Risks » ensuite sur « Add Exception… » une nouvelle fenêtre s’ouvre:
Et cliquer sur « Confirm Security exception ».
On arrive sur l’écran de connexionn de ZM:
Ajouter une étape d’authentification à l’accès de ZoneMinder via .htaccess
Il est possible d’ajouter une étape d’authentification avant d’arriver à la page de connexion de ZM.
Pour se faire, on va ajouter un login et un mot de passe de connexion via le fichier .htacess et .htpasswd.
- Création du fichier .htapasswd
Se rendre dans un répertoire de votre choix pour la création du fichier .htpasswd, exemple:
cd /home/fred/zm/
Saisir la commande suivante pour créer le couple login/mdp
htpasswd -c .htpasswd fred
Se rendre dans le répertoire courant de ZM:
cd /usr/share/zoneminder/
Créer le fichier .htaccess
nano .htaccess
Coller ce qui suit:
AuthUserFile /home/fred/zm/.htpasswd AuthGroupFile /dev/null AuthName "Identification obligatoire!" AuthType Basic <Limit GET POST> require valid-user </Limit>
service apache2 reload
Actualiser la page du navigateur, et dorénavant une fenêtre d’authentification demmandera le couple login/Mdp:
Bonjour,
J’ai fait la configuration d’apache selon ce topo, mais je ne parviens pas à me connecter en https. A priori tout s’est bien passé. J’ai le certificat. J’ai créé le fichier /etc/apache2/site-enabled/zoneminder.conf qui n’existait pas par copier-coller le texte ci dessus. Après redémarrage d’Apache l’essai de connexion est négatif, pourquoi ? Je pense qu’il faut modifier la ligne ‘ServerName serverweb.dom’ , mais comment ? Zoneminder n’utilise t il pas un serveur nommé simplement ZM ?
Un commentaire sur ce point serait bienvenu.
Merci d’avance.
Sa ne fonctionne pas!