التكوين: إعداد SSL

حول

النسخة المجانية من Agent DVR رائعة للاتصالات المحلية باستخدام HTTP. أما بالنسبة للاتصالات عن بُعد، فالأمان ضروري جداً، وهنا يأتي دور SSL. للاتصال آمن عن بُعد بـ Agent DVR بدون إعداد معقد، استخدم بوابة الويب عن بُعد الخاصة بنا.

مهم: إعداد SSL و DNS وإعادة توجيه المنفذ قد يكون معقداً بعض الشيء، ولا يمكننا ضمان أنه سيعمل بشكل موثوق على جميع الشبكات. ننصحك باستخدام بوابة الويب عن بُعد الخاصة بنا للوصول عن بُعد. ستظل بحاجة إلى جهاز كمبيوتر يشغل Agent متصل بكاميراتك ولكن لن تحتاج إلى التعامل مع أي شيء آخر.

نصيحة احترافية: بمجرد أن تقوم بتشغيل SSL و DNS، يمكنك الوصول إلى Agent DVR من جهازك المحمول وإضافته كتطبيق من خلال قائمة الأدوات في متصفحك.

SSL في Windows

يقوم 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

للحصول على اسم مضيف عام استخدم -DnsName "youragentserver.ddns.net" بدلاً من localhost.

الخيار 2 - شهادة حقيقية (Let's Encrypt): اتبع تعليمات letsencrypt ، ثم حوّل ملفات .pem التي تم إنشاؤها إلى .p12 باستخدام 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

افتح Agent DVR، انقر على أيقونة الخادم - الإعدادات - علامة تبويب خادم محلي وعيّن:

  • منفذ SSL: المنفذ الذي تريد تقديم HTTPS عليه، على سبيل المثال 8443 (أو 443 للمنفذ HTTPS القياسي).
  • شهادة SSL: المسار الكامل لملف .p12 الخاص بك، على سبيل المثال C:\Agent\certificate.p12
  • كلمة مرور SSL: كلمة المرور التي عيّنتها عند إنشاء الشهادة.

انقر على موافق. يعيد الخادم تشغيل الخادم المحلي تلقائيًا. راقب السجل للبحث عن Accepting SSL connections at https://.... يمكنك الآن تحميل واجهة المستخدم في https://your.server.address:8443. تأكد من استخدام https:// لأن الاستعراض باستخدام http:// إلى منفذ SSL يُرجع استجابة فارغة.

الشهادة الموقعة ذاتيًا (الخيار 1) لا يثق بها المستعرضات، لذا في المرة الأولى التي تزورها ستشاهد تحذير الخصوصية. انقر على متقدم ثم متابعة إلى localhost (غير آمن) للمتابعة. هذا متوقع للشهادات الموقعة ذاتيًا. لن تعرض الشهادة الحقيقية (الخيار 2) التحذير.

SSL على Linux / macOS

Agent DVR ينهي SSL بنفسه من ملف شهادة PKCS#12 (ملف .p12 أو .pfx) يحتوي على المفتاح الخاص.

شهادة موقعة ذاتياً بسرعة (للاختبار):

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 المحلية انقر على أيقونة الخادم، إعدادات الخادم، علامة التبويب خادم محلي، ثم اضبط منفذ SSL، شهادة SSL (المسار الكامل إلى ملف .p12 الخاص بك) و كلمة مرور SSL، وانقر فوق موافق. يعيد Agent تشغيل الخادم المحلي تلقائياً ويمكنك تحميل الواجهة على https://your.server.address:8443 (استخدم https://).

على Linux، المنافذ أقل من 1024 (بما في ذلك منفذ HTTPS القياسي 443) تتطلب جذر. Agent DVR المثبت كخدمة يعمل كجذر، لذا يعمل 443؛ إذا قمت بتشغيله يدويًا كمستخدم عادي فاختر منفذ عالي مثل 8443.
تأكد من أن ملف الشهادة قابل للقراءة بواسطة عملية Agent. إذا لزم الأمر ركض chmod 644 certificate.p12. تؤدي الشهادة الموقعة ذاتياً إلى تحذير الخصوصية في المتصفح في المرة الأولى (انقر على متقدم ثم تابع)؛ الشهادة الحقيقية لن تفعل ذلك.