Configuration: Mise en place de SSL

À propos

La version gratuite d'Agent DVR est excellente pour les connexions locales via HTTP. Pour les connexions distantes, la sécurité est essentielle, et c'est là que SSL intervient. Pour une connexion distante sécurisée à votre Agent DVR sans configuration, utilisez notre portail web distant.

Important : La configuration de SSL, DNS et du port forwarding peut être un peu délicate, et nous ne pouvons pas garantir que cela fonctionnera de manière fiable sur tous les réseaux. Nous vous recommandons d'utiliser notre portail web distant pour l'accès distant. Vous aurez toujours besoin d'un ordinateur exécutant Agent qui est connecté à vos caméras, mais vous n'aurez pas besoin de vous préoccuper d'autre chose.

Conseil : Une fois que vous avez SSL et DNS en place et en fonctionnement, vous pouvez accéder à votre Agent DVR depuis votre appareil mobile et l'ajouter comme application via le menu outils de votre navigateur.

SSL sur Windows

Agent DVR termine maintenant le SSL lui-même, donc tout ce dont vous avez besoin est un fichier de certificat PKCS#12 (un fichier .p12 ou .pfx) contenant la clé privée. Vous n'avez plus besoin d'installer le certificat dans Windows ni de le lier avec netsh.

Option 1 - certificat autosigné rapide (pour les tests) : exécutez ceci dans PowerShell pour créer un certificat pour localhost et l'exporter en tant que .p12 (changez le mot de passe selon vos besoins) :

$cert = New-SelfSignedCertificate -DnsName "localhost" -CertStoreLocation "Cert:\CurrentUser\My" -NotAfter (Get-Date).AddYears(5)
$pwd = ConvertTo-SecureString -String "yourpassword" -Force -AsPlainText
Export-PfxCertificate -Cert $cert -FilePath "C:\Agent\certificate.p12" -Password $pwd

Pour un nom d'hôte public, utilisez -DnsName "youragentserver.ddns.net" à la place de localhost.

Option 2 - certificat réel (Let's Encrypt) : suivez les instructions de letsencrypt , puis convertissez les fichiers .pem générés en fichier .p12 avec openssl :

openssl pkcs12 -export -out C:\Certbot\live\youragentserver.ddns.net\certificate.p12 -inkey C:\Certbot\live\youragentserver.ddns.net\privkey.pem -in C:\Certbot\live\youragentserver.ddns.net\fullchain.pem

Ouvrez Agent DVR, cliquez sur l'icône Serveur - Paramètres - onglet Serveur local et définissez :

  • Port SSL : le port sur lequel servir HTTPS, par ex. 8443 (ou 443 pour le port HTTPS standard).
  • Certificat SSL : le chemin complet vers votre fichier .p12, par ex. C:\Agent\certificate.p12
  • Mot de passe SSL : le mot de passe que vous avez défini lors de la création du certificat.

Cliquez sur OK. Agent redémarre automatiquement le serveur local. Consultez le journal pour Accepting SSL connections at https://.... Vous pouvez maintenant charger l'interface à https://your.server.address:8443. Assurez-vous d'utiliser https:// car la navigation avec http:// vers le port SSL retourne une réponse vide.

Un certificat autosigné (Option 1) n'est pas approuvé par les navigateurs, donc la première fois que vous visiterez, vous verrez un avertissement de confidentialité. Cliquez sur Avancé puis sur Continuer vers localhost (non sécurisé) pour procéder. C'est normal pour les certificats autosignés. Un certificat réel (Option 2) n'affichera pas l'avertissement.

SSL sur Linux / macOS

Agent DVR termine SSL lui-même à partir d'un fichier de certificat PKCS#12 (un .p12 ou .pfx) qui contient la clé privée.

Certificat auto-signé rapide (pour tester) :

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 1825 -nodes -subj "/CN=localhost"
openssl pkcs12 -export -out certificate.p12 -inkey key.pem -in cert.pem -passout pass:yourpassword

Certificat réel (Let's Encrypt) : suivez les instructions letsencrypt , puis convertissez les fichiers .pem générés en .p12 (exécutez depuis le dossier où votre certificat a été sauvegardé) :

openssl pkcs12 -export -out certificate.p12 -inkey privkey.pem -in fullchain.pem

Dans l'interface locale d'Agent DVR, cliquez sur l'icône Serveur, Paramètres du serveur, onglet Serveur local, puis définissez Port SSL, Certificat SSL (le chemin complet de votre fichier .p12) et Mot de passe SSL, et cliquez sur OK. Agent redémarre automatiquement le serveur local et vous pouvez charger l'interface à https://your.server.address:8443 (utilisez https://).

Sur Linux, les ports en dessous de 1024 (y compris le port HTTPS standard 443) nécessitent root. Agent DVR installé comme service s'exécute en root, donc 443 fonctionne ; si vous l'exécutez manuellement en tant qu'utilisateur normal, choisissez un port élevé comme 8443.
Assurez-vous que le fichier de certificat est lisible par le processus Agent. Si nécessaire, exécutez chmod 644 certificate.p12. Un certificat auto-signé déclenche un avertissement de confidentialité du navigateur la première fois (cliquez sur Avancé puis continuez) ; un certificat réel ne le fera pas.