Configuration: Mise en place de SSL

À propos

La version gratuite d'Agent DVR est parfaite pour les connexions locales utilisant HTTP. Pour les connexions à distance, cependant, la sécurité est essentielle, et c'est là qu'intervient SSL. Pour une connexion à distance sécurisée à votre Agent DVR sans configuration, utilisez notre portail web à distance.

Important : La configuration de SSL, DNS et la redirection de port peuvent être un peu délicates, et nous ne pouvons pas garantir que cela fonctionnera de manière fiable sur tous les réseaux. Nous recommandons de continuer à utiliser notre portail web à distance pour l'Accès à distance. Vous aurez toujours besoin d'un ordinateur exécutant Agent connecté à vos Caméras, mais vous n'aurez pas besoin de vous préoccuper d'autre chose.

Conseil utile : Une fois que SSL et DNS sont configurés et en cours d'exécution, vous pouvez accéder à votre Agent DVR depuis votre appareil mobile et l'ajouter en tant qu'application via le menu outils de votre navigateur.

SSL sur Windows

Agent DVR termine maintenant SSL lui-même, donc tout ce dont vous avez besoin est un fichier de certificat PKCS#12 (un fichier .p12 ou .pfx) qui contient 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 .p12 (modifiez 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 véritable (Let's Encrypt) : suivez les instructions letsencrypt , puis convertissez les fichiers .pem générés en .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 pour servir HTTPS, par exemple 8443 (ou 443 pour le port HTTPS standard).
  • Certificat SSL : le chemin complet vers votre fichier .p12, par exemple 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 le serveur local automatiquement. Consultez le journal pour voir Accepting SSL connections at https://.... Vous pouvez maintenant charger l'interface utilisateur à 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 le visitez, vous verrez un avertissement de confidentialité. Cliquez sur Avancé puis sur Continuer vers localhost (non sécurisé) pour procéder. Ceci est normal pour les certificats autosignés. Un certificat véritable (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 fichier .p12 ou .pfx) qui contient la clé privée.

Certificat auto-signé rapide (pour test) :

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é enregistré) :

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 réglez le Port SSL, le Certificat SSL (le chemin complet vers votre fichier .p12) et le Mot de passe SSL, et cliquez sur OK. Agent redémarre automatiquement le serveur local et vous pouvez charger l'interface à https://votre.adresse.serveur:8443 (utilisez https://).

Sous Linux, les ports inférieurs à 1024 (y compris le port HTTPS standard 443) nécessitent root. Agent DVR installé en tant que service s'exécute en tant que root, donc 443 fonctionne ; si vous l'exécutez manuellement en tant qu'utilisateur normal, choisissez un port élevé tel que 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.