設定: 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パスワード: 証明書作成時に設定したパスワード。

OKをクリックします。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パスワードを設定し、OKをクリックします。Agentはローカルサーバーを自動的に再起動し、https://your.server.address:8443https://を使用)でUIを読み込むことができます。

Linuxでは、1024未満のポート(標準HTTPSポート443を含む)はroot権限が必要です。サービスとしてインストールされたAgent DVRはrootとして実行されるため、443は機能します。通常のユーザーとして手動で実行する場合は、8443などの高いポートを選択してください。
証明書ファイルがAgentプロセスによって読み取れることを確認してください。必要に応じて、
chmod 644 certificate.p12
を実行します。自己署名証明書は最初にブラウザのプライバシー警告を引き起こします(詳細をクリックして続行してください);実際の証明書は警告を引き起こしません。