구성: SSL 설정하기

안녕하세요! 알려드립니다: Agent DVR의 무료 버전은 HTTP를 사용한 로컬 연결에 적합합니다. 그러나 원격 연결의 세계로 나갈 때 보안이 중요하며, 그것이 SSL이 필요한 이유입니다. Agent DVR에 안전한 원격 연결이 필요하신가요? 간단히 원격 웹 포털을 사용하여 안전하고 보안된 경험을 할 수 있습니다.

중요: SSL, DNS 및 포트 포워딩 설정은 약간 복잡할 수 있으며, 쉽게 보장할 수 없습니다. 이러한 문제를 피하고자 한다면, 원격 액세스를 위해 저희 서버를 사용하는 것을 권장합니다.

전문가 팁: SSL과 DNS를 설정한 후, 모바일 기기에서 Agent DVR에 접속하고 브라우저의 도구 메뉴를 통해 앱으로 추가할 수 있습니다.

Windows에서 SSL

Agent DVR는 이제 SSL을 자체적으로 종료하므로, 필요한 것은 개인 키가 포함된 PKCS#12 인증서 파일(.p12 또는 .pfx)입니다. 더 이상 인증서를 Windows에 설치하거나 netsh와 바인딩할 필요가 없습니다.

옵션 1 - 빠른 자체 서명 인증서 (테스트용): PowerShell에서 이 명령을 실행하여 localhost에 대한 인증서를 생성하고 .p12로 내보냅니다 (비밀번호는 적절히 변경):

$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

공용 호스트 이름을 사용하려면 localhost 대신 -DnsName "youragentserver.ddns.net"를 사용하십시오.

옵션 2 - 실제 인증서 (Let's Encrypt): letsencrypt 지침 을 따르고, 생성된 .pem 파일을 openssl로 .p12로 변환하십시오:

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

Agent DVR를 열고, 서버 아이콘을 클릭한 후 – 설정 – 로컬 서버 탭에서 다음을 설정하십시오:

  • SSL 포트: HTTPS를 제공할 포트, 예: 8443 (또는 표준 HTTPS 포트인 443).
  • SSL 인증서: .p12 파일의 전체 경로, 예: C:\Agent\certificate.p12
  • SSL 비밀번호: 인증서를 생성할 때 설정한 비밀번호.

확인을 클릭하십시오. Agent는 로컬 서버를 자동으로 재시작합니다 – Accepting SSL connections at https://... 로그를 확인하십시오. 이제 https://your.server.address:8443에서 UI를 로드할 수 있습니다. https://를 사용해야 합니다 – SSL 포트에 http://로 브라우징하면 빈 응답이 반환됩니다.

자체 서명 인증서(옵션 1)는 브라우저에서 신뢰되지 않으므로, 처음 방문할 때 개인 정보 경고가 표시됩니다. 고급을 클릭한 다음 localhost로 계속 (안전하지 않음)을 클릭하여 진행하십시오 – 이는 자체 서명 인증서에 대해 예상되는 것입니다. 실제 인증서(옵션 2)는 경고를 표시하지 않습니다.

Linux / macOS에서 SSL

Agent DVR는 개인 키가 포함된 PKCS#12 인증서 파일(.p12 또는 .pfx)에서 SSL을 자체적으로 종료합니다.

빠른 자체 서명 인증서(테스트용):

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

실제 인증서(Let's Encrypt): letsencrypt 지침 을 따르고, 생성된 .pem 파일을 .p12로 변환합니다(인증서가 저장된 폴더에서 실행):

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

Agent DVR의 로컬 UI에서 서버 아이콘을 클릭하고, 서버 설정, 로컬 서버 탭으로 이동한 후 SSL 포트, SSL 인증서(당신의 .p12 파일의 전체 경로) 및 SSL 비밀번호를 설정하고 확인을 클릭합니다. Agent는 로컬 서버를 자동으로 재시작하며, https://your.server.address:8443에서 UI를 로드할 수 있습니다(https://를 사용하십시오).

Linux에서는 1024 이하의 포트(표준 HTTPS 포트 443 포함)는 root 권한이 필요합니다. 서비스로 설치된 Agent DVR는 root로 실행되므로 443이 작동합니다. 일반 사용자로 수동으로 실행하는 경우 8443과 같은 높은 포트를 선택하십시오.
인증서 파일이 Agent 프로세스에 의해 읽을 수 있는지 확인하십시오 – 필요시
chmod 644 certificate.p12
를 실행하십시오. 자체 서명 인증서는 처음에 브라우저 개인 정보 경고를 발생시킵니다(클릭 고급 후 진행); 실제 인증서는 발생하지 않습니다.