كيفية تقييد تسجيل المستخدمين على خادم مصفوفة مُستضاف ذاتيًا

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

اختر عنصر التحكم الذي يناسب خادمك

هدفنهج المشبك العصبيالمقايضة الرئيسية
لا يقوم بإنشاء الحسابات إلا المسؤولقم بالتعيين enable_registration: false؛ استخدم واجهة سطر الأوامر الإدارية أو سير عمل إداري مُتحكم به.لا يمكن للمستخدمين التسجيل من خلال عميل Matrix. يجب حماية أي سر تسجيل مشترك.
ادعُ مجموعة صغيرة من الناسقم بتمكين التسجيل واشتراط الحصول على رموز التسجيل؛ وأصدر رموزاً للاستخدام لمرة واحدة وقصيرة الأجل.يجب على المسؤولين توزيع وإدارة الرموز المميزة. يمكن لأي شخص يحصل على رمز مميز صالح استخدامه.
السماح بالتسجيل العام على نطاق واسعأبقِ التسجيل مفتوحًا وأضف فحوصات مناسبة لمكافحة إساءة الاستخدام، مثل CAPTCHA أو الرموز المميزة، بالإضافة إلى حدود المعدل والمراقبة.المزيد من الاحتكاك للمستخدمين الشرعيين، ولا يوجد فحص واحد يضمن الحماية من سوء الاستخدام.
استخدم موفر هويةقم بتكوين خاصية تسجيل الدخول الموحد (SSO) وتعطيل إنشاء الحساب التلقائي في إعدادات Synapse الخاصة بالمزود عندما يجب الموافقة المسبقة على الوصول.يتطلب إدارة موفر الهوية؛ تسجيل الدخول الموحد الصحيح لا يعني بالضرورة وجود حساب Matrix موجود.

الأمثلة أدناه خاصة ببرنامج Synapse. أما برامج Dendrite وConduit وغيرها من تطبيقات الخوادم المنزلية فتستخدم واجهات تكوين وإدارة مختلفة. لذا، يُرجى مراجعة وثائق خادمك قبل تطبيق إعدادات Synapse.

الخيار الأول: إيقاف التسجيل العام

بالنسبة لخادم منزلي خاص، أو مؤسسة صغيرة، أو خادم يقوم فيه مسؤول بتوفير كل حساب، قم بتعطيل تسجيل العميل في تكوين Synapse النشط:

enable_registration: false

تُشير وثائق Synapse إلى أن هذا الإعداد مُعطّل افتراضيًا. عدّل ملف التكوين الذي يُحمّله خادمك أو حاويتك، وتحقق من صحة ملف YAML، ثم أعد تشغيل Synapse باستخدام عملية إدارة الخدمات المعتادة. قد يقوم نشر Docker بتحميل التكوين من مسار على المضيف، لذا فإن تعديل ملف يحمل اسمًا مشابهًا داخل الحاوية قد لا يُغيّر الملف المُستخدم عند بدء التشغيل.

مع تعطيل التسجيل، لا يستطيع المستخدمون إنشاء حسابات جديدة عبر عملية تسجيل العميل المعتادة. مع ذلك، لا يزال بإمكان المسؤولين إنشاء حسابات عبر الطرق الإدارية المعتمدة. يُحذر Synapse تحديدًا من أن هذا الإعداد registration_shared_secretيسمح بإنشاء حسابات باستخدام هذا السر حتى وإن enable_registrationكان غير مُفعّل. لذا، تعامل معه كبيان اعتماد بالغ الأهمية: احفظه بعيدًا عن المستودعات، وغرف الدردشة، ونسخ البيانات العامة؛ وقيد الوصول إليه؛ واحتفظ به فقط إذا كانت عملية إدارة النظام تتطلبه. أي شخص يمتلك هذا السر يمكنه إنشاء حسابات، بما في ذلك حسابات المسؤولين.

إذا كنت تستخدم OIDC أو CAS أو أي تكامل آخر لتسجيل الدخول الموحد (SSO)، فتحقق أيضًا من إعدادات التسجيل التلقائي الخاصة بهذا الموفر. توثق Synapse عمليات تبديل التسجيل على مستوى الموفر، لأنه قد يتم إنشاء حساب مستخدم تلقائيًا عند تسجيل الدخول الموحد بنجاح لأول مرة. بالنسبة لـ OIDC، راجع oidc_providers[].enable_registrationإعدادات التسجيل العامة أيضًا.

الخيار الثاني: السماح بالتسجيل باستخدام الرموز المميزة فقط

استخدم رموز التسجيل عندما يكون بإمكان الأعضاء إنشاء حساباتهم الخاصة، ولكن يجب أن تتم الموافقة على عمليات التسجيل أو توزيعها بواسطة مسؤول النظام. في إعدادات Synapse، اضبط كلا القيمتين:

enable_registration: true
registration_requires_token: true

كلاهما ضروري: يتطلب إعداد الرمز المميز رمزًا مميزًا أثناء التسجيل، كما يجب تفعيل التسجيل نفسه. طبّق التغيير وأعد تشغيل Synapse. لن يؤدي تغيير هذا الإعداد إلى حذف الحسابات الموجودة أو الرموز المميزة التي تم إنشاؤها مسبقًا.

إنشاء رمز محدود الاستخدام

توفر Synapse واجهة برمجة تطبيقات إدارية (API) خاصة برمز التسجيل. تتطلب الطلبات رمز وصول إداري. على سبيل المثال، يُنشئ هذا الطلب رمزًا يُمكنه إتمام عملية تسجيل واحدة:

curl -sS -X POST "$SYNAPSE_URL/_synapse/admin/v1/registration_tokens/new" \
  -H "Authorization: Bearer $ADMIN_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  --data '{"uses_allowed": 1}'

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

لفحص الرموز المميزة، يمكن للمسؤول استدعاء الدالة GET /_synapse/admin/v1/registration_tokens. تتضمن الاستجابة الاستخدامات المسموح بها، والتسجيلات المعلقة، والتسجيلات المكتملة، وتاريخ انتهاء الصلاحية. في حال تسريب رمز مميز، يجب تحديث عدد استخداماته المسموح بها إلى الصفر أو حذفه عبر واجهة برمجة تطبيقات المسؤول الموثقة. الرمز المميز هو بيانات اعتماد تسجيل، وليس دعوة للانضمام إلى غرفة في منصة ماتريكس؛ فهو لا يربط الحساب الجديد تلقائيًا بأي غرفة.

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

الخيار الثالث: إضافة عمليات تدقيق إلى التسجيل العام

إذا كان هدفك هو السماح لأي شخص بطلب حساب، فقد يكون اشتراط الرموز المميزة مقيدًا للغاية. كما توثق إعدادات Synapse متطلبات CAPTCHA ومعرّفات الجهات الخارجية كإجراءات تحقق محتملة. يعتمد CAPTCHA على موفر مُهيأ بشكل صحيح، وقد يُضيف تكاليف تتعلق بإمكانية الوصول والخصوصية. قد يُضيف اشتراط عنوان بريد إلكتروني أو رقم هاتف تبعيات إعداد وتحقق؛ فهو ليس بمثابة الموافقة على كل حساب على حدة. تأكد من خدمات التحقق التي يدعمها إصدارك وتدفق العميل قبل جعل شرط معرّف الجهة الخارجية شرطًا أساسيًا.

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

ما الذي يُغيّره إغلاق التسجيل - وما الذي لا يُغيّره -

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

يمكن أن تُشكّل قاعدة الخادم الوكيل العكسي التي تُخفي عنوان URL للتسجيل عنصر تحكم إضافي على مستوى الشبكة، ولكنها قد تُؤدي بسهولة إلى تعطيل تدفقات العملاء، ولا تُغني عن إعدادات الخادم الرئيسي. استخدم إعدادات مستوى التطبيق كعنصر تحكم أساسي، واختبر النشر الفعلي بعد أي تغيير في الخادم الوكيل.

تحقق من النتيجة

  1. تحقق من مصدر التكوين الفعال، بما في ذلك أي ربط حاوية أو تكوين تم إنشاؤه، للحصول على قيم التسجيل المقصودة.
  2. أعد تشغيل برنامج Synapse وراجع سجلات بدء التشغيل بحثًا عن أخطاء YAML أو الإعدادات غير المدعومة.
  3. من عميل Matrix غير مسجل الخروج، حاول بدء عملية تسجيل جديدة. عند تعطيل التسجيل، لن يُتاح لك خيار التسجيل العام. وعند تفعيل التسجيل الذي يتطلب رمزًا مميزًا، لن يكتمل أي طلب بدون رمز مميز صالح.
  4. لتسجيل الرمز المميز، اختبره باستخدام رمز مميز مؤقت للاستخدام لمرة واحدة، وتأكد من أنه يُنشئ حسابًا واحدًا فقط. راجع استجابة واجهة برمجة تطبيقات الإدارة (Admin API) للاطلاع على completedمعلومات pendingتاريخ انتهاء الصلاحية.
  5. اختبر مسار تسجيل الدخول الموحد المُهيأ بشكل منفصل وأي نصوص برمجية لتوفير الحسابات. تأكد من أنها تعمل وفقًا لسياسة الوصول الخاصة بك.

لا تستخدم رمز دعوة حقيقي لحساب تجريبي إلا إذا كنت تنوي استخدامه فعليًا. إذا بدا الإعداد غير فعال، فتحقق أولًا من أنك قمت بتغيير الملف الذي يقوم Synapse بتحميله، ومن إعادة تشغيل الخدمة. ثم ابحث عن سر تسجيل مشترك، أو تسجيل تلقائي عبر تسجيل الدخول الموحد، أو آلية توفير موثوقة أخرى.

المراجع الرسمية

تُعدّ وثائق إعدادات Synapse المُؤرشفة وواجهة برمجة تطبيقات الإدارة المصدر الموثوق لأسماء الخيارات وحقول الطلبات. لا تفترض التعليمات المذكورة أعلاه نظام تشغيل أو صورة حاوية أو خادم وكيل عكسي أو عميل Matrix مُحدد؛ لذا يُرجى التأكد من هذه التفاصيل الخاصة بالنشر قبل تطبيق التغييرات.

اترك تعليقاً

كيفية تقييد تواريخ انتهاء صلاحية الروابط العامة في خادم ownCloud

كيفية تقييد تواريخ انتهاء صلاحية الروابط العامة في خادم ownCloud

حدد تاريخ انتهاء صلاحية أقصى للروابط العامة لخادم ownCloud، وافهم المشاركات التي يؤثر عليها، وتحقق من السياسة دون إغفال الروابط القديمة.

كيفية إعداد مزامنة قائمة العناوين العامة (GAL) في Zimbra والتحقق من أنها تعمل

كيفية إعداد مزامنة قائمة العناوين العامة (GAL) في Zimbra والتحقق من أنها تعمل

قم بتكوين المزامنة التلقائية لـ Zimbra GAL، واضبط فاصل الاستطلاع، وقم بفرض مزامنة اختبارية، وتحقق من الطوابع الزمنية، وقم باستكشاف أخطاء جهات اتصال LDAP الداخلية أو الخارجية القديمة وإصلاحها.

كيفية تكوين مصادقة LDAP في ownCloud Infinite Scale

كيفية تكوين مصادقة LDAP في ownCloud Infinite Scale

قم بتكوين تسجيل الدخول المدعوم بـ LDAP لـ ownCloud Infinite Scale، وقم بتعيين المستخدمين والمجموعات، واختر OIDC المدمج أو الخارجي، وقم بحماية بيانات الاعتماد، وتحقق من المصادقة بأمان.

كيفية الترقية من ownCloud 10 Classic إلى ownCloud Infinite Scale

كيفية الترقية من ownCloud 10 Classic إلى ownCloud Infinite Scale

خطط لعملية نقل البيانات من ownCloud Classic 10 إلى Infinite Scale باستخدام تطبيق migrate-to-ocis المدعوم. تعرّف على ما يتم نقله وما لا يتم نقله، ومتطلبات LDAP، والأوامر، وفحوصات الانتقال.

كيفية إعداد قواعد SpamAssassin المخصصة في Zimbra (بأمان)

كيفية إعداد قواعد SpamAssassin المخصصة في Zimbra (بأمان)

تعرف على مكان تحميل Zimbra لقواعد SpamAssassin المخصصة، وكيفية كتابة قاعدة .cf والتحقق من صحتها، وإعادة تشغيل Amavis، واختبار رؤوس الرسائل، والتراجع بأمان.

كيفية نسخ واستعادة صناديق البريد الفردية في Zimbra CE

كيفية نسخ واستعادة صناديق البريد الفردية في Zimbra CE

قم بعمل نسخة احتياطية واستعادة صندوق بريد Zimbra CE فردي باستخدام zmmailbox. قم بتصدير أرشيف ZIP مع البيانات الوصفية، وتحقق منه، واختبر الاستعادة بأمان في حساب تجريبي.

كيفية تكوين حصص التخزين للمستخدمين في ownCloud oCIS

كيفية تكوين حصص التخزين للمستخدمين في ownCloud oCIS

تعرف على كيفية تحديد حصة المساحة الشخصية لمستخدم ownCloud Infinite Scale، وتمييزها عن مساحة المشروع والحدود العامة، وتعيين الإعدادات الافتراضية للمستخدمين الجدد حسب الدور.

إصلاح مشكلة انقطاع تسجيل بروتوكول SIP في BigBlueButton FreeSWITCH: دليل تشخيصي عملي

إصلاح مشكلة انقطاع تسجيل بروتوكول SIP في BigBlueButton FreeSWITCH: دليل تشخيصي عملي

قم بتشخيص حالات انقطاع تسجيل SIP في BigBlueButton FreeSWITCH عن طريق التحقق من حالة الخدمة، ومستمعي SIP وESL، وعناوين NAT، وقواعد جدار الحماية، والسجلات.

كيفية إصلاح خطأ "تم رفض الاتصال" في تطبيق ownCloud للهواتف المحمولة

كيفية إصلاح خطأ "تم رفض الاتصال" في تطبيق ownCloud للهواتف المحمولة

قم بإصلاح أخطاء رفض اتصال تطبيق ownCloud للهواتف المحمولة عن طريق التحقق من عنوان URL للخادم، ومنفذ HTTPS، وخادم الويب، وجدار الحماية، والوكيل، وTLS، والنطاقات الموثوقة.

كيفية تقييد تسجيل المستخدمين على خادم مصفوفة مُستضاف ذاتيًا

كيفية تقييد تسجيل المستخدمين على خادم مصفوفة مُستضاف ذاتيًا

قارن بين طرق التحكم في حسابات Matrix الجديدة على Synapse، بدءًا من تعطيل التسجيل العام وحتى إصدار رموز محدودة الاستخدام، مع أمثلة على التكوين والتحقق.