Configuração: Configurando SSL

Sobre

A versão gratuita do Agent DVR é ótima para conexões locais usando HTTP. Para conexões remotas, porém, a segurança é essencial, e é aí que o SSL entra. Para uma conexão remota segura ao seu Agent DVR sem configuração, use nosso portal web remoto.

Importante: configurar SSL, DNS e encaminhamento de porta pode ficar um pouco complicado, e não podemos garantir que funcionará de forma confiável em todas as redes. Recomendamos continuar usando nosso portal web remoto para acesso remoto. Você ainda precisará de um computador executando Agent que esteja conectado às suas câmeras, mas não precisará mexer em mais nada.

Dica profissional: uma vez que você tenha SSL e DNS em funcionamento, você pode acessar seu Agent DVR a partir de seu dispositivo móvel e adicioná-lo como um aplicativo através do menu de ferramentas do seu navegador.

SSL no Windows

Agent DVR agora encerra o SSL por si mesmo, portanto tudo que você precisa é de um arquivo de certificado PKCS#12 (um .p12 ou .pfx) que contenha a chave privada. Você não precisa mais instalar o certificado no Windows ou vinculá-lo com netsh.

Opção 1 - certificado auto-assinado rápido (para teste): execute isto no PowerShell para criar um certificado para localhost e exportá-lo para um .p12 (altere a senha conforme necessário):

$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

Para um nome de host público, use -DnsName "youragentserver.ddns.net" em vez de localhost.

Opção 2 - certificado real (Let's Encrypt): siga as instruções do letsencrypt , então converta os arquivos .pem gerados para um .p12 com 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

Abra Agent DVR, clique no ícone Servidor - Configurações - aba Servidor Local e defina:

  • Porta SSL: a porta para servir HTTPS, por exemplo 8443 (ou 443 para a porta HTTPS padrão).
  • Certificado SSL: o caminho completo para seu arquivo .p12, por exemplo C:\Agent\certificate.p12
  • Senha SSL: a senha que você definiu ao criar o certificado.

Clique em OK. Agent reinicia o servidor local automaticamente. Observe o log para Accepting SSL connections at https://.... Você pode agora carregar a interface em https://your.server.address:8443. Certifique-se de usar https:// pois navegar com http:// para a porta SSL retorna uma resposta vazia.

Um certificado auto-assinado (Opção 1) não é confiável pelos navegadores, portanto na primeira vez que você visitar verá um aviso de privacidade. Clique em Avançado e depois em Continuar para localhost (inseguro) para prosseguir. Isto é esperado para certificados auto-assinados. Um certificado real (Opção 2) não mostrará o aviso.

SSL no Linux / macOS

Agent DVR encerra SSL a partir de um arquivo de certificado PKCS#12 (um .p12 ou .pfx) que contém a chave privada.

Certificado auto-assinado rápido (para teste):

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

Certificado real (Let's Encrypt): siga as instruções do letsencrypt , depois converta os arquivos .pem gerados para um .p12 (execute a partir da pasta onde seu certificado foi salvo):

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

Na interface local do Agent DVR, clique no ícone Servidor, Configurações do servidor, guia Servidor Local, depois configure Porta SSL, Certificado SSL (o caminho completo para seu arquivo .p12) e Senha SSL, e clique em OK. Agent reinicia o servidor local automaticamente e você pode carregar a interface em https://seu.endereco.servidor:8443 (use https://).

No Linux, portas abaixo de 1024 (incluindo a porta HTTPS padrão 443) requerem root. Agent DVR instalado como um serviço é executado como root, portanto 443 funciona; se você executá-lo manualmente como um usuário normal, escolha uma porta alta como 8443.
Verifique se o arquivo de certificado é legível pelo processo Agent. Se necessário, execute chmod 644 certificate.p12. Um certificado auto-assinado dispara um aviso de privacidade do navegador na primeira vez (clique em Avançado e depois prossiga); um certificado real não disparará.