رأس القلم

ZoneMinder، حزمة كاميرات المراقبة مفتوحة المصدر التي تستحق مراجعة أمنية حقيقية

لسنوات، احتل ZoneMinder مكانًا غير عادي في النظام البيئي الأمني. فغالبًا ما يتم تقديمه على أنه "برنامج كاميرات مراقبة مفتوح المصدر"، وهو ما يبدو غريبًا تقريبًا، كما لو كان ينتمي إلى نفس فئة أداة كاميرا الويب أو مشروع جانبي للمختبر المنزلي. هذا التأطير يقلل من قيمة هذا البرنامج. ZoneMinder هو مكدس تطبيقات لينكس على الويب يلتقط ويحلل ويسجل ويفهرس ويخدم بيانات المراقبة عبر الكاميرات والمستخدمين والأحداث والأذونات وواجهات برمجة التطبيقات وواجهات برمجة التطبيقات وخوادم التخزين الخلفية. ويصفه المشروع الرسمي بأنه حل مراقبة متكامل لالتقاط وتحليل وتسجيل ومراقبة كاميرات المراقبة أو كاميرات المراقبة الأمنية، مع دعم يشمل الكاميرات التناظرية وكاميرات بروتوكول الإنترنت، والوصول إلى الويب، والوصول عبر الهاتف المحمول، والتحكم في البيانات في أماكن العمل، وعمليات النشر التي تتراوح بين الأنظمة الصغيرة والبيئات متعددة الخوادم. (zoneminder.com)

هذا المزيج هو بالضبط سبب استمرار أهمية ZoneMinder. حيث يختاره الناس لأنه مستضاف ذاتياً ومرن وغير مرتبط ببائع كاميرا مملوكة. تؤكد صفحات الميزات الخاصة بالمشروع على أنه يمكن للمستخدمين تجنب قفل الكاميرا، والاحتفاظ بالبيانات في أماكن العمل، والوصول إلى النظام عن بُعد من خلال واجهة الويب وتطبيقات الأجهزة المحمولة، والتوسع من عمليات التثبيت الصغيرة إلى عمليات النشر الأكبر. حتى مستخدمو الطرف الثالث الذين لا يشعرون بالعاطفة تجاه النظام الأساسي لا يزالون يميلون إلى وصف نفس المفاضلة: لا يزال ZoneMinder قادرًا ومكتمل الميزات، ولكنه يتطلب جهدًا لنشره وتشغيله بشكل جيد. على سبيل المثال، يصفها نواه بيلي في تقريره المستضاف ذاتيًا بصراحة بأنها "لا تزال إلى حد بعيد الحل الأكثر قدرة واكتمالاً" لحالة الاستخدام الخاصة به، بينما يشير أيضًا إلى صعوبة تثبيتها وإدارتها. هذا التقييم مفيد لأنه يفسر سبب استمرار ZoneMinder. فهو يمنح المشغلين التحكم الذي لا تمنحه النظم الإيكولوجية للكاميرات السحابية للمستهلكين، ولكنه أيضًا يلقي عليهم عبء امتلاك القرارات الأمنية التي غالبًا ما تخفيها تلك النظم الإيكولوجية. (zoneminder.com)

يجب أن يهتم مهندسو الأمن لأن ZoneMinder لا يعالج الفيديو فقط. فهو يعرض مستوى إدارة. يخزن البيانات الوصفية للأحداث. يوفر واجهات برمجة التطبيقات. يتوسط المصادقة. يدعم التحكم في PTZ. يتعامل مع البث المباشر والتشغيل المسجل. يمكن الوصول إليه من خلال البروكسيات العكسية وتطبيقات الأجهزة المحمولة وأنماط الوصول عن بُعد التي غالباً ما يقوم المسؤولون بتكوينها تحت ضغط الوقت. بمجرد أن تتعامل معه كتطبيق حقيقي بدلاً من "برنامج كاميرا"، يصبح من السهل فهم ملف المخاطر الخاص به. لم يعد الاختراق يتعلق فقط بمشاهدة البث. بل يمكن أن يعني الوصول غير المصرح به إلى سجلات المراقبة، والتلاعب بالأحداث الأمنية، وسرقة بيانات الاعتماد أو الرموز المميزة، والانتقال إلى مضيف لينكس الأساسي، واعتمادًا على تصميم الشبكة، يمكن أن يكون محوريًا نحو الكاميرات والأنظمة التشغيلية المجاورة نفسها. (وثائق ZoneMinder المنطقة)

ZoneMinder، حزمة كاميرات المراقبة مفتوحة المصدر التي تستحق مراجعة أمنية حقيقية

كيف يبدو ZoneMinder في الواقع العملي

إن الطريقة الأكثر أمانًا للتفكير في ZoneMinder هي أنها منصة مراقبة صغيرة مكونة من عدة طبقات ذات صلة بالأمان. الطبقة الأولى هي واجهة مستخدم الويب، والتي يستخدمها المسؤولون والمشغلون للتهيئة ومراجعة الأحداث وإدارة الشاشات وقرارات التخزين والإعدادات على مستوى النظام. الثانية هي طبقة واجهة برمجة التطبيقات، والتي تصفها الوثائق الرسمية بأنها واجهة RESTful تدعم عمليات CRUD للشاشات، والأحداث، والإطارات، والمناطق، والتهيئة. والثالثة هي طبقة المصادقة، والتي اعتمدت في الأجيال القديمة على آليات المصادقة القديمة، وبدءًا من الإصدار 1.34، أضافت نموذجًا موجهًا برمز JWT قائم على الرموز المميزة مع رموز الوصول ورموز التحديث وعناصر التحكم في إبطال واجهة برمجة التطبيقات. الرابع هو خط أنابيب المراقبة والحدث نفسه، حيث تلتقي مدخلات الكاميرا، وتوليد الأحداث، ومعالجة الدفق، والتخزين، والاسترجاع اللاحق. والخامس هو بيئة المضيف والشبكة المحيطة به: خادم الويب، وقاعدة البيانات، والذاكرة المشتركة، ونظام الملفات، وحوامل التخزين، ومزامنة الوقت، وإنهاء TLS، والكاميرات أو أنظمة التحكم التي يتحدث إليها. (وثائق ZoneMinder المنطقة)

الوثائق الرسمية صريحة بشكل مدهش حول العديد من الحقائق الحساسة من الناحية الأمنية. فهي توصي بتمكين المصادقة على الفور. ويوثق أن اسم المستخدم الأولي الافتراضي هو المشرف وكلمة المرور الافتراضية هي المشرف. يشرح أنه يمكن منح المستخدمين مستويات مختلفة من الوصول عبر التدفقات والأحداث والتحكم في PTZ والشاشات والمجموعات وإعدادات النظام وعرض النطاق الترددي والوصول إلى واجهة برمجة التطبيقات. كما يوثق أيضًا أن هناك طرقًا متعددة لتمرير المصادقة في الطلبات، بما في ذلك الرموز المميزة المستندة إلى JWT، وأقل أمانًا، بيانات الاعتماد في عناوين URL، مع التحذير صراحةً من أن أسماء المستخدمين وكلمات المرور في عناوين URL غير مستحسنة، لأنها قد تنتهي في سجلات الخادم حتى عند استخدام HTTPS. هذه ليست تفاصيل صغيرة. فهي تخبرك، مباشرةً من وثائق المشروع نفسه، أين يتخذ المشغّلون قراراتهم الأمنية الأولى وأين تبدأ الأخطاء الشائعة. (وثائق ZoneMinder المنطقة)

تتغير المنصة أيضًا بطرق مهمة. اعتبارًا من مارس 2026، تُظهر صفحة إصدار GitHub الرسمية الإصدار 1.38.1 كأحدث إصدار و1.36.38 كإصدار فرع 1.36 الذي تمت صيانته. يضيف سطر 1.38 المزيد من الميزات الحديثة للتحكم في الوصول وميزات البث، بما في ذلك التحكم في الوصول المستند إلى الأدوار، وجداول الأذونات الموحدة، والدعم المتعلق بـ WebRTC، وتحسينات البروتوكول، وإعادة تصميم نموذج وظيفة المراقبة للتحكم الدقيق. تعد هذه خطوة معمارية جوهرية إلى الأمام لأن النموذج الذهني القديم المتمثل في "مشرف واحد، ولوحة تحكم مشتركة واحدة، ولوحة ويب مكشوفة واحدة" لم يعد كافياً بعد الآن. تُظهر الإصدارات الأحدث اعتراف المشروع بأن عمليات النشر تحتاج الآن إلى حدود أذونات أفضل ومعالجة بروتوكول أكثر حداثة. في الوقت نفسه، تحذر مستندات التثبيت من أن حزم التوزيع يمكن أن تتخلف عن أحدث إصدار، مما يعني أن العديد من عمليات تثبيت ZoneMinder في العالم الحقيقي قد تظل على إصدارات ضعيفة أو ببساطة إصدارات قديمة لفترة أطول مما يدركه المسؤولون. (جيثب)

هذا التأخر في الحزمة مهم أكثر مما هو مهم بالنسبة لتطبيق لعبة. فغالبًا ما تكون ZoneMinder موجودة على أنظمة تعمل لسنوات، وتخزن كميات كبيرة من البيانات، ويتم تغييرها على مضض لأن تعطل الكاميرا مؤلم من الناحية التشغيلية. تشتهر مكدسات المراقبة بكونها بنية تحتية "توضع وتنسى". في الممارسة العملية، هذا يعني فروعًا قديمة، وحالات ترقية مختلطة، وبروكسيات عكسية مخصصة، وبيانات اعتماد معاد استخدامها، وعملاء واجهة برمجة تطبيقات قديمة، وتعرض للإنترنت غير مراجع. عندما يتراكم في مشروع ما مع ملف تعريف النشر هذا تاريخ من حقن SQL، و RCE، وعيوب المصادقة، و XSS، يجب على المدافعين أن يفترضوا أن التصحيح وحده لا يكفي. فهم بحاجة إلى دليل على أن عملية النشر الخاصة بهم قد خرجت بالفعل من حالة الضعف. (بنليجنت)

تاريخ الضعف ليس ضوضاء

إن تاريخ الثغرات في ZoneMinder واسع بما فيه الكفاية بحيث يجب أن يشكل كيفية نشر المنتج، وليس فقط كيفية تصحيحه. أهم درس حديث ليس وجود خطأ واحد مثير. بل هو وجود فئات متعددة من الأخطاء عبر المصادقة، وواجهة برمجة التطبيقات، ومعالجة استعلام قاعدة البيانات، واسترجاع الأحداث، وأسطح واجهة مستخدم الويب. هذا هو توقيع التطبيق الذي يحتاج إلى التحكم المنضبط في التعرض المنضبط والتحقق المتكرر من الصحة. (NVD)

تروي مشكلات ZoneMinder الأكثر أهمية من الناحية الأمنية من السنوات القليلة الماضية قصة متماسكة. في فبراير 2023، وصف CVE-2023-26035 عيبًا في تنفيذ التعليمات البرمجية عن بُعد غير المصادق عليه مرتبطًا بفقدان التخويل في إجراء اللقطة. وفقًا لـ NVD ومستشار المشروع نفسه، أثرت المشكلة على الإصدارات قبل 1.36.33 و 1.37.33، وتطلب الإصلاح التحقق من صحة معرف المراقب والمصادقة قبل معالجة الإجراءات. صنف مستشار GitHub المشكلة على أنها حرجة وأشار إلى وجود تصحيحات تضيف هذه الحماية. هذه علامة تحذير أساسية لأنها ليست مجرد خطأ في التعقيم. إنها مشكلة كسر في حدود الثقة. عندما يمكن لمسار متعلق باللقطات أن يصبح تنفيذ الأوامر دون التحقق من التفويض المناسب، فأنت تنظر إلى منطق مستوى الإدارة الذي كان يمكن الوصول إليه بشكل كبير جدًا لما يمكن أن يفعله. (NVD)

كما تضمنت مجموعة فبراير 2023 نفسها أيضًا CVE-2023-26032، حيث يصف NVD حقن SQL عبر رمز JWT المميز الخبيث في الإصدارات قبل 1.36.33 و 1.37.33. الملخص مفيد بشكل خاص: كان حقل اسم المستخدم في الرمز المميز JWT موثوقًا به أثناء استعلام SQL لتحميل المستخدم، مما يعني أنه إذا تمكن المهاجم من تحديد مفتاح التجزئة، فيمكنه إنشاء رمز مميز خبيث وتنفيذ SQL عشوائي. في الوقت نفسه تقريبًا، وثّق CVE-2023-26039 حقن أوامر نظام التشغيل عبر تحكم البرنامج الخفي() في واجهة برمجة التطبيقات، مما يسمح لأي مستخدم مصادق بإنشاء أمر واجهة برمجة تطبيقات لتنفيذ أوامر shell كمستخدم ويب. عند قراءة هذه العيوب معًا، تشير هذه العيوب إلى موضوع متكرر في مسارات التعليمات البرمجية القديمة لـ ZoneMinder: الثقة المرتبطة في وقت مبكر جدًا بالحقول أو الإجراءات التي تقع بالقرب من العمليات ذات الامتيازات. (NVD)

كانت هناك أيضًا عيوب متعددة في معالجة استعلامات 2023 بخلاف تلك العناوين الرئيسية. يصف GitHHub GitHub's GHSA-222j-wh8m-xjrx ثغرة حقن SQL العمياء في filter[Query][terms][0][attr] معلمة /zm/index.phpالتي تؤثر على الإصدار 1.36.32 وما قبل الإصدار 1.37.33. كما يسجل NVD بالإضافة إلى ذلك CVE-2023-26037، حيث الحد الأدنى للوقت و الحد الأقصى للوقت لم يتم التحقق من صحة معلمات الطلب بشكل صحيح ويمكن استخدامها لتنفيذ SQL عشوائي، و CVE-2023-26038، وهي مشكلة تضمين ملف محلي عبر الويب/اجاكس/مودال.php. ليس الهدف هو تفريغ المعرفات في فقرة. بل هو إظهار كثافة الأنماط. بحلول أوائل عام 2023، كان لدى المدافعين بالفعل ما يكفي من الأدلة للتعامل مع ZoneMinder كمنتج يحتاج إلى تدقيق مستمر عند الحواف التي تلتقي فيها معلمات واجهة المستخدم والرموز المميزة وطلبات واجهة برمجة التطبيقات وتنفيذ الواجهة الخلفية. (جيثب)

عزز سجل 2024 نفس الاستنتاج. في أغسطس 2024، نشرت NVD CVE-2024-43360، وهي مشكلة حقن SQL المستندة إلى الوقت تم إصلاحها في 1.36.34 و1.37.61، و CVE-2024-43358 بالإضافة إلى CVE-2024-43359، وهي مشكلات XSS التي تؤثر على مسارات عرض التصفية ومراجعة المونتاج، والتي تم إصلاحها أيضًا في 1.36.34 و1.37.61. ينص استشاري GitHub GitHub GHSA-9cmr-7437-v9fj على أن تأثير حقن SQL قد يكون شديدًا بما يكفي لإتلاف البيانات وإغراق قواعد البيانات المحتملة، وتظهر ملاحظات الإصدار 1.36.34 التحصين المقابل، بما في ذلك القيود المفروضة على المعلمات والإصلاحات الصريحة للاستشارات ذات الصلة. هذا المزيج مهم لأنه يربط مسار الاستشارات العامة مباشرةً بالرمز وإيقاع الإصدار الذي يجب على المسؤولين اتباعه. (NVD)

ثم جاءت مشكلة CVE-2024-51482، وهي مشكلة ZoneMinder التي تستخدمها الآن العديد من فرق الأمن كمرجع مختصر لسبب عدم ترك الأنظمة القديمة 1.37 بمفردها. ويصف كل من NVD والاستشاري الخاص بالمشروع حقن SQL القائمة على منطقية في الويب/اجاكس/فعالية.php التي تؤثر على الإصدار 1.37 الذي يصل إلى 1.37.64، مع وصول التصحيح إلى 1.37.65. تشير إرشادات GitHub إلى أنه أمر بالغ الأهمية. هذا مهم لسببين. أولاً، يقع المسار الضعيف في نقطة نهاية ويب مرتبطة بالحدث بدلاً من حالة حافة مكون إضافي غامضة، مما يعني أنه يتداخل مع سطح التشغيل العادي. ثانيًا، النطاق المتأثر حديث بما فيه الكفاية بحيث أن العديد من الأنظمة التي تمت ترقيتها "داخل الفرع" يمكن أن تظل مكشوفة إذا توقفت قبل إصدار الإصلاح. بالنسبة لأي فريق يقوم بتدقيق عمليات النشر الأقدم 1.37 الأقدم، يعد هذا أحد عمليات التحقق من الإصدار الأول الذي يجب أن يحدث. (NVD)

تضيف إفصاحات عام 2026 إشكالًا آخر: لا ينبغي تكرار كل مكافحة التطرف العنيف الجديدة دون تمحيص. يصف استشارية GitHub لشهر فبراير 2026 GHSA-r6gm-478g-f2c4 الصادرة عن GitHub، والتي تم نسخها من قبل NVD باسم CVE-2026-27470، حقن SQL من الدرجة الثانية في getNearEvents() حيث تكون حقول الأحداث مثل الاسم و السبب يتم تخزينها بأمان في البداية ولكن يتم ربطها لاحقًا في جمل SQL دون هروب. هذا هو نوع الخطأ الذي يتغاضى عنه المدافعون أحيانًا لأن التحقق من صحة المدخلات من الدرجة الأولى يبدو صحيحًا. تذكر ملاحظات الإصدار للإصدار 1.36.38 صراحةً إصلاح هذه المشكلة ذات الترتيب الثانوي، وهو تأكيد مفيد على أن المشروع عالجها في التعليمات البرمجية. (جيثب)

في المقابل، يجب التعامل مع CVE-2025-65791 بحذر. تصنفها NVD حاليًا على أنها متنازع عليها، مشيرةً إلى أن المورد يعترض على المطالبة بسبب "عدم وجود مدخلات مستخدم غير مفحوصة" في المطالبة المذكورة image.php المسار. هذا لا يثبت أن التقرير غير ضار، لكنه يعني أن الكتابة المسؤولة لا ينبغي أن تقدم التقرير على أنه حقيقة ثابتة. في برنامج أمان ناضج، تنتمي المشكلات المتنازع عليها إلى قائمة المراقبة أو قائمة انتظار التحقق، وليس في نفس المجموعة التي تنتمي إليها العيوب المؤكدة والمصححة مع إقرار المشرفين وإصلاحات الإصدارات. هذا التمييز مهم لأن المصداقية مهمة. تفقد المقالات الأمنية قيمتها عندما تدمج التحذيرات المؤكدة والادعاءات التي لم يتم حلها في كتلة واحدة من الخوف. (NVD)

ما يقوله سجل الأخطاء عن سطح الهجوم الحقيقي

إذا قمت بالتكبير من قائمة CVE، تبرز أربعة مواضيع مخاطر.

الأول هو التعامل مع المعلمات في نقاط نهاية الويب وطرق العرض المتعلقة بالحدث. تخبرك مشكلات حقن SQL و XSS في الفلاتر وصفحات الأحداث ومسارات المشاهدة ومراجعة المونتاج والمنطق المتعلق بالحالة أن الطبقة التي تواجه المتصفح ليست مجرد لوحة تحكم سلبية. إنها سطح أمر يتفاعل مع قاعدة البيانات، ومنطق العرض، وأحيانًا عمليات ذات مستوى أدنى. عندما يكشف المسؤولون عن ZoneMinder على نطاق واسع للراحة، فإنهم لا ينشرون عارض كاميرا فقط. إنهم ينشرون تطبيق إدارة له تاريخ طويل من الأخطاء في الأماكن التي يختبرها المهاجمون أولاً. (NVD)

والثاني هو انتقال الصلاحيات والامتيازات. CVE-2023-26035 هو أوضح مثال، لكنه ليس الدليل الوحيد. تمضي الوثائق الرسمية الكثير من الوقت على الأذونات لأن مستخدمي ZoneMinder ليسوا جميعًا متساوين. التدفقات، والأحداث، والتحكم في PTZ، وإدارة الشاشة، وإدارة الشاشة، والمجموعات، وإعدادات النظام، وعرض النطاق الترددي، واستخدام واجهة برمجة التطبيقات، كلها لها نماذج أذونات منفصلة. هذه نقطة قوة، ولكنها تعني أيضًا أن المسؤولين لديهم المزيد من الطرق للإفراط في المنح عن طريق الخطأ. يعد الانتقال إلى نظام RBAC في الإصدار 1.38.x مهمًا لأنه يعكس إدراكًا على مستوى المشروع بضرورة تطبيع الأذونات وتسهيل التفكير فيها. إن النشر القديم مع الامتيازات الخشنة والعادات القديمة والحسابات المعاد استخدامها هو اقتراح أمني مختلف بشكل أساسي عن النشر الحديث مع فصل الأدوار والوصول المقيد للمراقب. (وثائق ZoneMinder المنطقة)

والثالث هو نظافة الرمز المميز لواجهة برمجة التطبيقات. تُظهر وثائق واجهة برمجة التطبيقات الخاصة ب ZoneMinder تطورًا واضحًا من نهج تجزئة المصادقة والجلسة القديمة نحو رموز الوصول والتحديث المستندة إلى JWT في الإصدار 1.34 والإصدارات الأحدث. تنص المستندات صراحةً على أن نهج تجزئة المصادقة القديم المستند إلى MD5 ليس آمنًا أو موصى به، وتؤكد على رموز الوصول قصيرة الأجل، وانضباط التحديث، واستخدام HTTPS، وإلغاء الرمز المميز. كما يحذرون أيضًا من نقل أسماء المستخدمين وكلمات المرور في عناوين URL لأن بيانات الاعتماد يمكن أن تظهر في السجلات. هذا الأمر مهم من الناحية التشغيلية لأن الأنظمة البيئية للكاميرا غالباً ما تجتذب عمليات التكامل السريع، وعملاء الأجهزة المحمولة، والبرامج النصية التي يتم لصقها. النمط غير الآمن واضح: يقوم شخص ما بتمكين الوصول عن بُعد، ويحصل على دفق يعمل مع المستخدم= و تمرير= في عنوان URL، ويشحنه وينسى السجلات. هذا هو نوع من الملاءمة المحلية التي تصبح مشكلة دائمة في التعامل مع الأسرار. (وثائق ZoneMinder المنطقة)

الرابع هو نطاق الانفجار الخفي لـ "تطبيق الكاميرا". غالبًا ما يقع ZoneMinder على حافة مناطق ثقة متعددة: متصفحات المستخدم، وتطبيقات الأجهزة المحمولة، والوكلاء العكسيين، وقواعد البيانات الداخلية، وحوامل التخزين، وغالبًا ما تكون الكاميرات نفسها أجهزة ضعيفة الإدارة. تعلن صفحات ميزات ZoneMinder عن إمكانية الوصول عن بُعد من أي جهاز يمكن الوصول إليه عبر الإنترنت والتحرر من قفل الكاميرا المملوكة. كلاهما جذاب. كلاهما أيضًا يوسعان الحدود التي يجب على المدافعين تأمينها. إذا كان مسجّل الفيديو الشبكي مكشوفًا، أو إذا كانت الكاميرات على شبكة مسطحة، فإن مكدس المراقبة يتوقف عن كونه معزولاً. تصبح موطئ قدم مع خطوط رؤية في كل من المراقبة المادية وطوبولوجيا الشبكة. (zoneminder.com)

ZoneMinder، حزمة كاميرات المراقبة مفتوحة المصدر التي تستحق مراجعة أمنية حقيقية

لماذا لا يزال الناس ينشرونه على أي حال

الاستنتاج الأمني الصحيح ليس "لا تستخدم ZoneMinder أبدًا". الاستنتاج الصحيح هو أن ZoneMinder لا يزال يحل مشكلة تواجه العديد من الفرق والمشغلين بصدق. غالبًا ما تكون الكاميرات الاستهلاكية السحابية باهظة الثمن ومملوكة للمستهلكين ومقتحمة. يريد بعض المستخدمين الاحتفاظ باللقطات محلياً. يحتاج البعض الآخر إلى نظام يمكنه مزج أنواع الكاميرات، أو الجلوس على وحدة التخزين الخاصة بهم، أو الاندماج في بيئات لينكس الثقيلة، أو التوسع دون ضريبة البائع. تعتمد رسائل المشروع الرسمية بشكل كبير على هذه النقاط بالتحديد: مرونة الكاميرا، والتحكم في البيانات، والوصول إلى الويب، والتشغيل المحلي، وقابلية التوسع. تسلط تغطية الطرف الثالث التي تستهدف مستخدمي NAS والمختبر المنزلي الضوء على نفس الجاذبية، عادةً مع ملاحظة جانبية مفادها أن تجربة التثبيت والضبط يمكن أن تكون صعبة. هذا هو السبب في أن المحادثة حول ZoneMinder لا تزال حية حتى مع تنافس حزم NVR الأحدث على المشاركة الذهنية. فهي لا تزال موجودة بالصدفة. (zoneminder.com)

بالنسبة لفرق الأمن، هذا يعني شيئًا عمليًا واحدًا: سيستمر ZoneMinder في الظهور. قد تظهر في المكاتب الخلفية للشركات الصغيرة، والمرافق المدرسية، والمستودعات، والمنازل ذات الإعدادات "الاستهلاكية"، والمكاتب الإقليمية، والمختبرات التي يريد شخص ما الهروب من الكاميرات السحابية الخاصة. يجب أن تتوقع أن تواجهها في الظروف القديمة، والظروف ذات الإصدارات المختلطة، والظروف المعرضة للإنترنت. السؤال ليس ما إذا كان البرنامج عصرياً أم لا. السؤال هو ما إذا كان مثبتًا ويمكن الوصول إليه وما زال مرتبطًا بالمراقبة المادية أو التشغيلية. إذا كانت الإجابة بنعم، فهي تستحق المراجعة. (zoneminder.com)

نموذج تهديد عملي لـ ZoneMinder

يبدأ نموذج التهديد المفيد بثلاثة أهداف للمهاجمين.

يتمثل أحد الأهداف في الرؤية غير المصرح بها: مشاهدة البث المباشر، أو تصفح الأحداث المخزنة، أو حصاد سجل المراقبة. يتماشى هذا الهدف مع المصادقة الضعيفة، ولوحات المعلومات المكشوفة، ورموز واجهة برمجة التطبيقات المسروقة، ومسارات حقن SQL التي يمكن أن تكشف البيانات. الهدف الآخر هو التحكم: التلاعب بمعالجة الأحداث، أو التلاعب بحالات الشاشة، أو إساءة استخدام PTZ، أو تغيير الإعدادات، أو التسبب في رفض الخدمة من خلال السجلات، أو استهلاك التخزين، أو الاستعلامات غير المستقرة. على سبيل المثال، يصف استشاري GitHub لعام 2022 GHSA-cfcx-v52x-jh74، على سبيل المثال، مسارًا لإيقاف الخدمة قائمًا على السجلات، حيث يمكن للمستخدمين الذين لديهم أذونات عرض أن يضخوا البيانات في السجلات دون التحكم في المعدل ويقلل من أداء قاعدة البيانات أو يستهلكوا التخزين. أما الهدف الثالث فهو تنفيذ التعليمات البرمجية أو التمحور عبر الخادم. تُظهر نتائج حقن الأوامر المؤكدة وحالات فقدان الصلاحية في فترة 2023 أن هذا ليس نظرياً. بمجرد امتلاك مضيف ZoneMinder، تصبح بيانات اعتماد الكاميرا، ومواقع التخزين، ومسارات الشبكة، والأنظمة المجاورة جزءًا من التداعيات. (جيثب)

يفترض النشر القوي أن جميع الأهداف الثلاثة معقولة وتصميمها حولها. وهذا يعني الفصل بين من يمكنه العرض مقابل من يمكنه الإدارة. يعني عزل الكاميرات عن الشبكة المحلية الأوسع للمؤسسة. وهذا يعني التعامل مع واجهة مستخدم الويب وواجهة برمجة التطبيقات كسطوح مميزة يجب أن تكون خلف البروكسيات العكسية والمصادقة وعناصر التحكم في بروتوكول الإنترنت ويفضل أن تكون أنماط وصول خاصة أو VPN. وهذا يعني تتبع الفرع الدقيق ومستوى التصحيح لأن إصلاحات ZoneMinder غالباً ما تكون خاصة بالإصدار. ويعني ذلك التحقق مما إذا كانت اختصارات الملاءمة قد تسللت بمرور الوقت، خاصةً فيما يتعلق ببيانات الاعتماد في عناوين URL، أو حسابات المسؤول المشتركة، أو سلوكيات تطبيقات الأجهزة المحمولة القديمة، أو التعرض المباشر للإنترنت. (وثائق ZoneMinder المنطقة)

الشكل الذي يجب أن يبدو عليه نشر ZoneMinder المحكم

إن أهم عنصر تحكم أمني ليس رجيكس أو قاعدة WAF. إنه انضباط التعرض. يجب ألا يتم نشر خادم ZoneMinder بشكل عرضي على الإنترنت العام لمجرد أن صفحة الميزة تقول أنه يمكن الوصول إليه من أي جهاز يمكن الوصول إليه عبر الإنترنت. "يمكن" ليست مثل "ينبغي". يجب أن يفضل النشر الحديث الوصول إلى الشبكة الافتراضية الخاصة (VPN)، أو البروكسي العكسي الخاص، أو وساطة الوصول بدون ثقة، أو على الأقل قيود صارمة على بروتوكول الإنترنت المصدر أمام واجهة مستخدم الويب وواجهة برمجة التطبيقات. صفحات تسجيل الدخول التي يمكن الوصول إليها بشكل عام للأنظمة التي لها تاريخ موثق من مشكلات المصادقة و SQLi و XSS ليست افتراضية معقولة. (zoneminder.com)

عنصر التحكم التالي هو نظافة المصادقة، وتقدم المستندات الرسمية للمدافعين قائمة مرجعية سهلة. تمكين المصادقة على الفور. تغيير الإعداد الافتراضي المسؤول/المسؤول بيانات الاعتماد على الفور. قم بإنشاء مستخدم منفصل ذو امتيازات كاملة قبل إزالة أو تهميش دور المسؤول الافتراضي. استخدم نموذج الأذونات بشكل متعمد بدلاً من ترك حقوق واسعة على كل حساب. قيّد وصول المراقب حيثما أمكن. تمكين الوصول إلى واجهة برمجة التطبيقات فقط للمستخدمين الذين يحتاجون إليها بالفعل. هذه هي الضوابط العادية، لكنها أكثر أهمية في ZoneMinder لأن واجهة المستخدم وواجهة برمجة التطبيقات تكشف الكثير من القدرات التشغيلية. (وثائق ZoneMinder المنطقة)

TLS غير قابل للتفاوض. تنص وثائق واجهة برمجة التطبيقات الخاصة ب ZoneMinder صراحةً على استخدام HTTPS، وليس HTTP، بل وتوصي باستخدام Let's Encrypt على الشهادات الموقعة ذاتيًا حيثما أمكن. لا يتعلق الأمر فقط بأقفال المتصفح. فالرموز، ومواد الجلسة، وسلوك المشغل، وتكامل الأجهزة المحمولة، كلها تصبح أكثر أمانًا عندما يكون النقل قويًا ويمكن التنبؤ به. إذا قمت بإنهاء TLS عند وكيل عكسي، تأكد من أن السجلات ورؤوس المنبع لا تعيد تقديم الأسرار من خلال اختصارات تصحيح الأخطاء أو تسجيل الطلبات المطوّل. (وثائق ZoneMinder المنطقة)

ثم يأتي بعد ذلك انضباط الإصدار. إذا كنت تستخدم إصدار 1.37 قديم، فيجب أن تعرف ما إذا كان أقدم من 1.37.65 بسبب CVE-2024-51482. إذا كنت تستخدم إصدار 1.36 قديم، يجب أن تعرف ما إذا كان أقدم من 1.36.33 أو 1.36.34 لأن هذا النطاق يتقاطع مع عدة إصلاحات خطيرة 2023 و 2024. إذا كنت تريد أحدث أعمال التحكم في الوصول والتحديث، فيجب أن تفهم ما يجلبه الإصدار 1.38.1 وكيف يغير نموذج RBAC الخاص به الممارسة التشغيلية. تحذر المستندات أيضًا من أن مستودعات التوزيعات يمكن أن تتأخر عن الإصدارات، لذا فإن "التثبيت من مدير الحزم" ليس دليلًا على أنك على الجانب الصحيح من الإصلاح. (جيثب)

يستحق التخزين والذاكرة المشتركة مراقبة واضحة أيضًا. تناقش الأسئلة الشائعة الخاصة ب ZoneMinder استخدام الذاكرة المعينة وتحذر من أن ارتفاع استخدام% قد يتطلب زيادة تخصيص tmpfs. قد يبدو ذلك كملاحظة أداء، لكنها أيضًا مشكلة مرونة. تفشل أنظمة المراقبة بشكل سيء عندما تمتلئ مساحة التخزين، أو عندما يكون حجم tmpfs أقل من حجمها، أو عندما يصبح سلوك الاحتفاظ بالأحداث غير متوقع. لا يحتاج المهاجمون دائمًا إلى سلسلة استغلال نظيفة إذا كان بإمكان السجلات ذات المعدل الضعيف المحدود أو عواصف الأحداث أو الطلبات كبيرة الحجم أن تؤدي إلى تدهور عملية نشر هشة بالفعل. يتضمن الأمان الجيد في هذا السياق جعل النظام مملًا تحت الضغط. (وثائق ZoneMinder المنطقة)

ZoneMinder، حزمة كاميرات المراقبة مفتوحة المصدر التي تستحق مراجعة أمنية حقيقية

مثال على أنماط التصلب

إن الوكيل العكسي الذي يفرض TLS ويبقي خدمة ZoneMinder الخام خارج الحافة العامة هو خط أساس جيد. قد يبدو الحد الأدنى من نمط Nginx على هذا النحو:

الخادم {
    الاستماع 443 ssl http2;
    الخادم_اسم الخادم zm.example.internal;

    ssl_certificate /etc/letsencrypt/live/zm.example.internal/fullchain.pem;
    ssl_certificate_key /etc/letscrypt/live/zm.example.internal.parrivkey.pem;

    add_header Strict-Transport-Security "max-age=31536000؛ includeSubDomains" دائمًا;
    add_header X-Frame-Options "SAMEORIGIN" دائماً؛
    إضافة_رأس X-Content-Type-Options "nosniff" دائمًا;
    add_header Referrer-Policy "no-referrer" دائمًا;

    الموقع / {
        proxy_pass ;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_read_timeout 300;
    }
}

لا يؤدي هذا إلى "إصلاح" إصدار ZoneMinder الضعيف، ولكنه يقلل من التعرض العرضي، ويفرض أمان النقل، ويمنحك مكانًا نظيفًا لإضافة مصادقة المنبع، أو قوائم IP المسموح بها، أو إمكانية الوصول إلى VPN فقط. يتوافق ذلك مع إرشادات HTTPS الخاصة بالمشروع لاستخدام واجهة برمجة التطبيقات. (وثائق ZoneMinder المنطقة)

في طبقة جدار حماية المضيف، يجب أن يكون المبدأ أبسط من ذلك: يجب أن تصل شبكات الإدارة الموثوقة فقط إلى طبقة الويب مباشرة.

مثال على # مع UFW
sudo ufw الافتراضي لرفض الوارد
sudo ufw الافتراضي السماح بالصادر

# السماح ب SSH فقط من الشبكة الفرعية للإدارة
sudo ufw السماح من 10.10.0.0.0/24 إلى أي منفذ 22 بروتو tcp

# السماح ب HTTPS فقط من الشبكة الفرعية VPN أو الشبكة الفرعية الوكيل العكسي
sudo ufw السماح من 10.20.0.0.0/24 إلى أي منفذ 443 بروتو tcp

# رفض HTTP المباشر من كل مكان
sudo ufw يرفض 80/tcp

تمكين sudo ufw
sudo ufw status verbose

غالبًا ما يتم نشر ZoneMinder من قبل أشخاص يركزون بشكل مفهوم على تشغيل تدفقات الكاميرا. جدار الحماية هو المكان الذي تفرض فيه عقلية معاكسة: لا أحد يصل إلى واجهة المستخدم لأن "الأمر أسهل بهذه الطريقة". (zoneminder.com)

بالنسبة لمستهلكي واجهة برمجة التطبيقات، فإن النمط الأكثر أمانًا هو استخدام رموز الوصول وتحديثها بشكل صحيح بدلاً من تمرير أسماء المستخدمين وكلمات المرور في عناوين URL. وثائق المشروع واضحة بأن بيانات الاعتماد في عناوين URL غير موصى بها وأن رموز الوصول يجب أن تستخدم لطلبات واجهة برمجة التطبيقات العادية بينما تستخدم رموز التحديث فقط للحصول على رموز وصول جديدة. (وثائق ZoneMinder المنطقة)

# الحصول على الرموز
تجعيد -s -X POST "" \\
  -d "user=apiuser&pass=REDACTED"

# استخدام رمز الوصول للطلبات اللاحقة
كيرل -s ""

# التحديث باستخدام رمز التحديث قبل انتهاء الصلاحية
curl -s -s -X POST "" \\
  -d "token=REFRESH_TOKEN"

هذا ليس مجرد دقة في واجهة برمجة التطبيقات. فهو يحد من إعادة استخدام كلمات المرور عبر الأسلاك، ويجعل الإلغاء عمليًا، ويجعل الأتمتة الخاصة بك تتماشى مع نموذج الأمان المقصود للمنصة. (وثائق ZoneMinder المنطقة)

بسيطة فشل2بان طبقة أمام الوكيل العكسي أو نقطة نهاية المصادقة معقولة أيضًا عندما يكون الوصول عن بُعد أمرًا لا مفر منه:

# /etc/fail2ban/jail.d/zoneminder-auth.local

ممكّن = صحيح المنفذ = https عامل التصفية = zoneminder-auth logpath = /var/log/nginx/access.log maxretry = 5 وقت البحث = 10m bantime = 1h

يعتمد عامل تصفية regex الدقيق على الوكيل وتدفق المصادقة، ولكن المبدأ عام: يجب ألا تسمح أسطح الإدارة برش كلمات المرور المجهولة التي لا نهاية لها. من الجدير بالملاحظة أن ملاحظات الإصدار 1.36.34 تذكر قواعد fail2ban.rules التحديثات، وهو ما يشير على الأقل إلى أن المشرفين ينظرون إلى مقاومة إساءة استخدام تسجيل الدخول كجزء من التقوية التشغيلية وليس كفكرة لاحقة. (جيثب)

كيفية قراءة نتائج ZoneMinder أثناء التقييم

أثناء التقييم الحقيقي، أحد أسهل الأخطاء هو الإفراط في التركيز على قابلية الاستغلال والتقليل من التركيز على حالة النشر. على سبيل المثال، تختلف أهمية استشارة حقن SQL باختلاف ما إذا كانت واجهة المستخدم عامة، وما إذا كانت المصادقة ممكّنة، وما إذا كان مستخدمو واجهة برمجة التطبيقات ذوي صلاحيات زائدة، وما إذا كان الخادم يقع خلف وكيل مع قيود IP. لا يزال الإصدار المعرض للخطر مع عدم وجود تعرض للإنترنت ووصول إداري صارم يمثل مشكلة، ولكنها مشكلة مختلفة عن لوحة تحكم عامة مع بيانات اعتماد افتراضية. تحتاج النتائج إلى سياق، ولكن ليس أعذاراً. (وثائق ZoneMinder المنطقة)

أما الخطأ الثاني فهو افتراض أن إصلاح مكافحة التطرف العنيف مرة واحدة "يحل" البيئة. فالفريق الذي قام بتصحيح CVE-2024-51482 على الإصدار 1.37.x قد لا يزال لديه ضعف في نظافة الرمز المميز، أو امتيازات مستخدم واسعة للغاية، أو إعدادات وكيل عكسي ضعيفة، أو شبكات كاميرا مكشوفة، أو سير عمل عميل متنقل قديم لا يزال يسرب الأسرار إلى السجلات. أمان ZoneMinder ليس مشكلة إصدار فقط. إنها مشكلة في الموقف مع الإصدار كجزء مهم. (جيثب)

الخطأ الثالث هو الثقة بالمطالبات التي لم تتم تسويتها بعد. فكما تُظهر الحالة المتنازع عليها في CVE-2025-65791، يجب على المدافعين تتبع المطالبات الجديدة دون تسطيحها إلى واقع مؤكد. بالنسبة للفرق الهندسية، هذا يعني أهمية معايير الفرز وإعادة الإنتاج. بالنسبة للكتّاب، هذا يعني فصل التاريخ المؤكد عن الادعاءات التي لم يتم حلها. بالنسبة للمشغلين، فهذا يعني أن العادة الأكثر أمانًا بسيطة: إذا كان الادعاء يتداخل مع الإصدار ونموذج التعرّض الخاص بك، اختبر بيئتك؛ وإذا كان متنازعًا عليه، أبقِ العلامة مرئية حتى تعرف المزيد. (NVD)

ZoneMinder هو واحد من تلك المنتجات التي تجعل من التحقق الآلي من الصحة الآلية أمرًا غير مريح. ليس لأن المنصة المؤتمتة تحل محل التصحيح أو التغييرات في البنية الهيكلية، ولكن لأن حزم المراقبة من السهل "إصلاح نصفها". يقوم الفريق بترقية الحزمة، أو ينسى قاعدة الوكيل العكسي، أو يترك عميل واجهة برمجة التطبيقات القديم في مكانه، أو لا يعيد اختبار سطح الويب الأكثر أهمية في الاستشارة. لا يتمثل الدور الطبيعي لسير عمل التحقق من الصحة بمساعدة الذكاء الاصطناعي في تهويل الاستغلال. بل يتمثل في سد الفجوة بين "نعتقد أنه تم إصلاحه" و"لدينا دليل على أن التعرض وسلوك المصادقة ونقاط النهاية التي يمكن الوصول إليها ومؤشرات الإصدار تتوافق الآن مع الحالة الأكثر أمانًا." هذه هي بالضبط مساحة المشكلة الضيقة حيث يمكن أن تكون منصة مثل Penligent مفيدة. (بنليجنت)

بالنسبة لبيئة ZoneMinder، يكون هذا النوع من سير العمل أكثر قيمة في أربع لحظات: قبل التعرض للإنترنت، وبعد الترقية، وبعد تغييرات الوكيل العكسي أو المصادقة، وأثناء مراجعات الوضع المتكرر. قيمة المنصة ليست باطنية. إنها عملية. فهي تساعد الفرق على التحقق من تعرض مستوى الإدارة، وفحص سلوك المصادقة، وربط دليل الإصدار المرئي، واختبار ما إذا كانت المسارات الحساسة لا تزال قابلة للوصول إليها، وإعادة الاختبار بعد التغييرات دون الاعتماد على الذاكرة أو سجل الصدفة لمرة واحدة. في البيئات التي تكون فيها المراقبة أمرًا بالغ الأهمية للأعمال، فإن قابلية التكرار هذه أكثر أهمية من اكتشاف واحد مبهرج. (بنليجنت)

خلاصة القول

ZoneMinder ليس قديمًا لمجرد أنه قديم، وليس غير آمن لمجرد أنه مفتوح المصدر. فهو لا يزال مناسبًا لأنه يمنح المشغلين مزيجًا نادرًا من مرونة الكاميرا وملكية البيانات المحلية والتحكم في النشر. المشكلة هي أن نقاط القوة هذه نفسها تعيد مسؤولية الأمان إلى المشغل. تشير الوثائق الرسمية، وأعمال التحديث الأخيرة 1.38، وتاريخ الثغرات الأمنية في المشروع إلى نفس النتيجة: يجب التعامل مع ZoneMinder كمنصة تطبيق حقيقية ذات مستوى إدارة متميز، وليس كملحق كاميرا غير ضار. (zoneminder.com)

إذا كنت تدافع عن نشر ZoneMinder اليوم، فإن الأولويات العملية واضحة ومباشرة. اعرف الفرع ومستوى التصحيح بالضبط. تمكين المصادقة واستبدال بيانات الاعتماد الافتراضية على الفور. استخدم أقل امتيازات للمستخدمين والوصول إلى واجهة برمجة التطبيقات. أبقِ واجهة المستخدم وواجهة برمجة التطبيقات بعيداً عن الإنترنت العام قدر الإمكان. تفضيل استخدام واجهة برمجة التطبيقات المستندة إلى الرمز المميز على بيانات الاعتماد في عناوين URL. إنهاء TLS بشكل صحيح. افصل الكاميرات عن بقية البيئة. راقب سلامة التخزين والذاكرة حتى يفشل النظام بشكل متوقع بدلاً من الفشل الفوضوي. وبعد كل تغيير ذي مغزى، تحقق من صحة الموقف مرة أخرى بدلاً من افتراض أن التكوين الذي قصدته هو التكوين الذي لديك. (وثائق ZoneMinder المنطقة)

هذه هي الطريقة الصحيحة للتفكير في ZoneMinder في عام 2026. ليس على سبيل الفضول. ليس كاختصار للمراقبة الرخيصة. كمكدس مراقبة مستضاف على نظام لينكس يمكن أن يخدم حالات استخدام جادة تمامًا، ولكن فقط إذا كان سيحظى بنفس الاحترام الأمني الذي ستمنحه لأي تطبيق ويب آخر مع بيانات اعتماد، ورموز مميزة، وبيانات، ووصول عن بعد، وتاريخ ذي مغزى من الثغرات الأمنية. (بنليجنت)

جدول مرجعي سريع، مشكلات ZoneMinder الأكثر أهمية

CVE / استشاريالنوعالإصدارات المتأثرةما أهمية ذلك
CVE-2023-26035 / GHSA-72rg-h4vf29grإنفاذ RCE غير مصادق عليه< 1.36.33, < 1.37.33عبر التخويل المفقود في معالجة اللقطات إلى مخاطر تنفيذ القذائف مباشرةً. (NVD)
CVE-2023-26032حقن SQL من خلال JWT خبيثة< 1.36.33, < 1.37.33يوضح كيف يمكن أن تصبح الثقة في رمز المصادقة مسارًا لاختراق قاعدة البيانات. (NVD)
CVE-2023-26039حقن أمر نظام التشغيل المصادق عليه< 1.36.33, < 1.37.33يدل على التقارب الخطير بين إجراءات واجهة برمجة التطبيقات (API) وتنفيذ الصدفة. (NVD)
CVE-2024-43360حقن SQL المستند إلى الوقتتم إصلاحه في 1.36.34، 1.37.61عيب يؤثر على قاعدة البيانات على سطح ويب عادي. (NVD)
CVE-2024-43358XSSتم إصلاحه في 1.36.34، 1.37.61مشكلة حدود ثقة واجهة مستخدم الويب في عرض التصفية. (NVD)
CVE-2024-43359XSSتم إصلاحه في 1.36.34، 1.37.61عيب آخر يواجه واجهة المستخدم في مسارات مراجعة المونتاج. (NVD)
CVE-2024-51482 / GHSA-QM8H-3xvvf-m7j3الحقن المنطقي المستند إلى SQLمن 1.37.* إلى 1.37.64واحدة من أهم عمليات التحقق الحديثة عملياً لعمليات النشر 1.37. (NVD)
CVE-2026-27470 / GHSA-r6gm-478g-478g-f2c4حقن SQL من الدرجة الثانيةالإصدارات التي استدعاها الاستشارييسلط الضوء على أن الحقول المخزنة يمكن أن تصبح فيما بعد مدخلات استعلام خطيرة. (جيثب)
CVE-2025-65791حقن الأمر المزعوم، متنازع عليه1-36-34 المطالبة قيد النزاعتتبعها، ولكن لا تقدمها كحقيقة ثابتة. (NVD)

مزيد من القراءة

شارك المنشور:
منشورات ذات صلة
arArabic