يحتوي Jitsi Meet على نظامي حماية منفصلين: مصادقة الخادم التي تحدد من يُسمح له بإنشاء اجتماع، وكلمة مرور الغرفة التي تمنع الأشخاص الذين لا يعرفون كلمة المرور من الانضمام إليها. يحل كل منهما مشكلات مختلفة. على خادم مُستضاف ذاتيًا، قد يتطلب إعداد "النطاق الآمن" القديم من Prosody اسم مستخدم وكلمة مرور لإنشاء غرف مع السماح للضيوف بالانضمام. يشير دليل Jitsi الحالي إلى أن هذه الطريقة أصبحت قديمة في عمليات التثبيت الجديدة، ويوصي باستخدام المصادقة القائمة على الرموز المميزة بدلاً منها. يمكن للمسؤولين الحاليين استخدام الإجراء الموضح أدناه كدليل للتوافق، ولكن ينبغي عليهم التخطيط لعمليات النشر الجديدة بناءً على إعداد مدعوم للرموز المميزة أو موفر الهوية.
تُعدّ كلمات مرور الغرف ميزة منفصلة تُستخدم أثناء الاجتماع، وتظلّ مفيدة إلى جانب مصادقة الخادم. عيّن كلمة مرور بعد بدء الغرفة، وشاركها عبر قناة خاصة، واختبر عملية الانضمام من متصفح آخر قبل دعوة المشاركين.
أي نوع من الحماية تحتاج؟
| هدف | يستخدم | ما يفعله |
| تحكم في من يمكنه إنشاء الغرف | مصادقة الخادم | يتطلب إنشاء غرفة حساب Jitsi معتمد أو رمز مميز. وبحسب إعدادات الضيوف، قد ينضم آخرون كضيوف. |
| الحفاظ على خصوصية الغرفة الحالية | كلمة مرور الغرفة | يتطلب من الأشخاص الذين ينضمون بعد تعيين كلمة المرور إدخالها. ولا يقوم بإزالة المشاركين الموجودين بالفعل في الغرفة. |
| انتظر الضيوف حتى وصول المضيف | ميزة الانتظار في الردهة أو انتظار المضيف | يُضيف ذلك خطوة قبول منفصلة. كلمة مرور الغرفة وحدها لا تُثبت الهوية أو تُؤكد هوية من استلمها. |
للاجتماعات الصغيرة، قد يكفي اسم غرفة فريد وكلمة مرور خاصة بها. أما للمؤسسات التي تحتاج إلى إنشاء غرف بناءً على حساباتها، فيجب أيضًا ضبط مصادقة الخادم. بالنسبة لعمليات النشر الجديدة ذاتية الاستضافة، يُرجى مراجعة دليل المصادقة الحالي لـ Jitsi وإعدادات مصادقة الرموز المميزة ذات الصلة قبل اختيار طريقة التنفيذ.
كيف يمكنك حماية غرفة Jitsi بكلمة مرور؟
ابدأ الاجتماع، وافتح قائمة الأمان أو خيارات الاجتماع في شريط الأدوات، واختر إجراء كلمة المرور، وأدخل كلمة مرور قوية للغرفة. قد يختلف اسم القائمة وأيقونتها باختلاف إصدار البرنامج. إذا كان الاجتماع جارياً بالفعل، فإن تعيين كلمة مرور يؤثر على عمليات الانضمام اللاحقة؛ ولن تتم إزالة الأشخاص الذين انضموا بالفعل تلقائياً. أرسل كلمة المرور بشكل منفصل عن رابط الاجتماع عندما تكون السرية مهمة.
توضح الأسئلة الشائعة في Jitsi أن كلمة مرور الغرفة تُحذف عند انتهاء الاجتماع، لذا لا يُفترض أن الاجتماعات المتكررة تحتفظ بها. أعد تعيينها لكل اجتماع جديد وتحقق من ذلك في بيئة عملك. قد يتمكن أي شخص يتلقى كلمة المرور أو يُعاد توجيهها إليه من الدخول، لذا فإن كلمة المرور ليست بمثابة قائمة وصول للمستخدمين. راجع الأسئلة الشائعة الرسمية في Jitsi حول حماية الاجتماعات .
ما الذي يتغير في عملية مصادقة الخادم؟
في تصميم "النطاق الآمن" التقليدي، يتحقق Prosody من هوية مُنشئي الغرف باستخدام حساباتهم المحلية. ثم يسمح Jitsi للمشاركين غير المُصادق عليهم بالاتصال عبر نطاق الضيوف. يُعد هذا مفيدًا عندما يقتصر إنشاء الغرف على الموظفين فقط، بينما لا يحتاج الحضور إلى حسابات. ولا يتطلب هذا تسجيل دخول كل مشارك. إذا كان على كل مستخدم المصادقة، فيجب تعطيل وصول الضيوف أو استبداله بسياسة الهوية والوصول المُستخدمة في تصميم المصادقة الحالي.
تُشير وثائق Jitsi إلى أن طريقة النطاق الآمن القديمة هذه مُهملة في عمليات التثبيت الجديدة. تابع فقط إذا كنتَ تُدرك هذا القيد وتُحافظ على خادم مُتوافق. قبل التعديل، حدّد كيفية تثبيت Jitsi، ودوّن اسم مضيف Jitsi Meet، وانسخ ملفات Prosody وJicofo وملفات تكوين الويب احتياطيًا، واحتفظ بجلسة مسؤول نشطة أو وحدة تحكم متاحة في حال حدوث خطأ في بناء الجملة يُؤدي إلى انقطاع الخدمة.
كيف يمكنك تفعيل إعداد النطاق الآمن القديم على تثبيت حزمة Debian أو Ubuntu؟
1. تغيير المضيفات الافتراضية لبرنامج Prosody
افتح ملف Prosody الخاص باسم مضيف Jitsi الخاص بك، عادةً /etc/prosody/conf.avail/jitsi.example.com.cfg.lua. استبدل اسم المضيف النموذجي أدناه بالنطاق الحقيقي. في المضيف الظاهري الرئيسي، غيّر وضع المصادقة إلى كلمات المرور الداخلية المشفرة. أضف المضيف الظاهري للضيف بعده.
VirtualHost "jitsi.example.com"
authentication = "internal_hashed"
VirtualHost "guest.jitsi.example.com"
authentication = "jitsi-anonymous"
c2s_require_encryption = false
احتفظ بالخيارات والوحدات النمطية الأخرى الموجودة. لا تقم بإنشاء سجلات DNS أو شهادة عامة لـ guest.jitsi.example.com; في هذا التكوين، هو نطاق Jitsi داخلي.
2. أخبر عميل الويب عن نطاق الضيف
افتح الملف /etc/jitsi/meet/jitsi.example.com-config.jsوأضف anonymousdomainإليه ما بداخله hosts. احتفظ بالعناصر الموجودة domainوالعناصر الأخرى، وتأكد من استخدام الفواصل بعناية.
hosts: {
domain: 'jitsi.example.com',
anonymousdomain: 'guest.jitsi.example.com'
},
3. تفعيل المصادقة في Jicofo
قم بالتحرير /etc/jitsi/jicofo/jicofo.conf. أضف إعدادات المصادقة داخل jicofoالكتلة الموجودة؛ لا تقم بإنشاء كتلة مكررة من المستوى الأعلى:
jicofo {
authentication {
enabled = true
type = XMPP
login-url = "jitsi.example.com"
}
}
إذا كان الملف يحتوي بالفعل على jicofoقسم، فقم بدمج هذه الخصائص فيه. قد يختلف بناء جملة التكوين والملفات المُنشأة باختلاف إصدار الحزمة، لذا قارن النتيجة مع صفحة الدليل الحالية لتثبيتك قبل إعادة تشغيل الخدمات.
4. أعد تشغيل الخدمات وأنشئ حسابًا
بعد التحقق من التعديلات، أعد تشغيل الخدمات كمسؤول:
sudo systemctl restart prosody
sudo systemctl restart jicofo
sudo systemctl restart jitsi-videobridge2
أنشئ حسابًا لإنشاء الغرف في Prosody. استبدل العناصر النائبة؛ لا تستخدم أبدًا نطاق المثال أو كلمة مرور ضعيفة على خادم مباشر:
sudo prosodyctl register <username> jitsi.example.com <strong-password>
يرتبط كل حساب باسم مضيف Jitsi. أنشئ حسابات فردية بدلاً من مشاركة بيانات اعتماد مسؤول واحد إذا احتجت إلى إلغاء الوصول لاحقًا. توضح وثائق Jitsi الخاصة بنطاق الأمان مسارات التكوين الخاصة بالحزمة وأمر التسجيل. كما تنص صراحةً على أن هذه الطريقة مهملة.
كيف يختلف الإعداد في Docker؟
لا تقم بتعديل الملفات داخل الحاويات قيد التشغيل أو نسخ مسارات حزم دبيان إلى بيئة نشر دوكر. في إعداد دوكر كومبوز الرسمي، يتم تكوين المصادقة من خلال ملف بيئة النشر. يوضح الدليل القيم ذات الصلة بمصادقة الحساب الداخلي.
ENABLE_AUTH=1
ENABLE_GUESTS=1
AUTH_TYPE=internal
أبقِ خاصية وصول الضيوف مُفعّلة إذا كان ينبغي أن يتمكن الحضور من الانضمام دون حساباتهم الخاصة. عند تفعيل الضيوف، يمكن للمستخدمين غير المُصادق عليهم الانضمام وفقًا لسلوك الضيوف المُحدد؛ فهم لا يُصبحون مُنشئي غرف مُصادق عليهم. طبّق تغييرات البيئة باستخدام سير عمل Compose الخاص بنشرك، وراجع السجلات إذا لم تعمل الخدمات بشكل صحيح.
أنشئ مستخدمًا داخليًا عبر خدمة Prosody بدلًا من تعديل إعدادات الحاوية المُنشأة. يُوضح الدليل الرسمي كيفية فتح نافذة طرفية في حاوية Prosody وتسجيل مستخدم prosodyctl. يعتمد مسار الإعدادات ونطاق XMPP على إصدار Compose؛ في صورة Docker الموثقة، يوجد ملف إعدادات Prosody ضمن /config/prosody.cfg.lua، ونطاق XMPP المُستخدم كمثال هو meet.jitsi. استخدم الأمر والقيم الموثقة لإصدارك المُستخدَم. راجع دليل Docker الرسمي للاستضافة الذاتية للاطلاع على متغيرات البيئة، وإنشاء الحسابات، وسلوك الإعدادات المُنشأة.
كيف يمكنك التأكد من فعالية الحماية؟
- افتح نافذة متصفح خاصة وحاول إنشاء غرفة جديدة. سيطلب منك الإعداد التقليدي إدخال بيانات اعتماد الحساب.
- سجّل الدخول باستخدام الحساب الجديد وأنشئ غرفة. تأكد من تحميل الاجتماع وأن المضيف لديه صلاحيات الإشراف المطلوبة.
- من متصفح آخر، انضم كضيف. إذا كانت خاصية الضيوف مُفعّلة، فسيعمل الانضمام بدون حساب مُنشئ؛ أضف كلمة مرور الغرفة أو الردهة عند الحاجة إلى التحقق من الدخول.
- قم بتعيين كلمة مرور للغرفة، ثم حاول الانضمام من نافذة خاصة جديدة بدون كلمة مرور ومعها. تأكد من أن أحد المشاركين الموجودين بالفعل داخل الغرفة يبقى متصلاً عند تعيين كلمة المرور.
- قم بإنشاء غرفة جديدة بعد انتهاء الاجتماع التجريبي وتحقق مما إذا كان يجب إعادة تعيين كلمة المرور، كما هو موضح في الأسئلة الشائعة لـ Jitsi.
إذا لم تظهر نافذة تسجيل الدخول، فافحص أسماء مضيفي Prosody، وكتلة Jicofo، anonymousdomainوقيمة العميل، وسجلات الخدمة. من الأخطاء الشائعة في التكوين استخدام نطاق ضيف غير متطابق بين Prosody و config.js، أو إضافة كتلة Jicofo ثانية بدلاً من توسيع الكتلة الموجودة. إذا لم يتمكن الضيوف من الانضمام، فتأكد من تفعيل وصول الضيوف عمدًا، وأن نطاق الضيف المُكوّن يطابق اسم المضيف الرئيسي.
ما الذي يجب عليك اختياره للتركيب الجديد؟
لا تبدأ عملية نشر جديدة باستخدام وصفة النطاق الآمن القديمة إلا إذا كان لديك سبب محدد للتوافق. توصي مواد الاستضافة الذاتية الحالية من Jitsi باستخدام مصادقة الرمز المميز لعمليات التثبيت الجديدة، بينما يوثق دليل المصادقة الأوسع نطاقًا تكامل موفر الهوية الأحدث. تتطلب هذه الأساليب تكوينًا إضافيًا للجهة المصدرة أو التوقيع أو موفر الهوية؛ وهي غير قابلة للاستبدال بكلمة مرور غرفة Prosody. اختر النموذج الذي يناسب متطلباتك، ثم استخدم كلمات مرور الغرف أو الردهة كعناصر تحكم منفصلة على مستوى الاجتماع عند الاقتضاء.
باختصار: استخدم المصادقة عبر الحساب أو الرمز المميز للتحكم في من يمكنه إنشاء الغرف، وعيّن كلمة مرور للغرفة لتقييد الانضمام لاحقًا على الأشخاص الذين يعرفون كلمة المرور. اختبر كلا المسارين بشكل مستقل، لأن تفعيل أحدهما لا يُفعّل الآخر تلقائيًا.
المراجع الرسمية