TgWitness / التوثيق

مرجع / الأمن والمشروع

الأمن ومعالجة البيانات

نموذج التهديدات، ونموذج الوصول، والأسرار المخزنة، والتعرض الشبكي، واستيراد الجلسات، وكيفية الإبلاغ عن الثغرات الأمنية.

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

المجال باختصار
الوصول مفتاح المسؤول بالإضافة إلى وصول محدود إلى الحسابات/الدردشات، وسبعة أذونات وجلسات قابلة للإلغاء؛ localhost بشكل افتراضي
الأسرار المخزنة يتم تشفير الجلسة، وزوج واجهة برمجة التطبيقات (API)، ومفتاح التوقيع، وإعدادات الوكيل باستخدام Fernet
الرسائل والملفات الوسائطية يتم التخزين دون تشفير: استخدم تشفير القرص وأذونات صارمة
النزاهة سلسلة تجزئة SHA-256 وتوقيع Ed25519 على كل سجل
لم يتم تغطيتها مسؤول النظام، رمز لوحة التحكم المسرب، اكتمال عملية التسجيل

للاطلاع على تقارير الثغرات الأمنية، انظر سياسة الأمان.

نموذج الوصول#

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

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

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

يتم تقييد معدل محاولات المصادقة الفاشلة حسب عنوان العميل. تستخدم قيود عناوين IP العنوان الذي يراه التطبيق؛ لذا يجب التحقق من سلوك الوكيل العكسي قبل الاعتماد عليه. تظل بيانات اعتماد Witness منفصلة عن بيانات اعتماد نقاط الفحص/التحقق من الحالة، وهي مخصصة للقراءة فقط.

الوصول إلى النسخة التجريبية#

/api/demo-access هو أداة تمهيدية غير مصدقة عن عمد من أجل عرض توضيحي اصطناعي معزول تم بدء تشغيله بشكل صريح. وهي تصدر إمكانية منفصلة تدوم طوال عمر العملية، وليس أبدًا رمز اللوحة الحقيقي أو تجاوز TGWITNESS_TOKEN. يتطلب الإصدار والاستخدام نظيرًا للارتداد (loopback) ومضيفًا، دون رؤوس معاد توجيهها، ودون طلب عبر الأصول. تؤدي مساحات العمل الإضافية أو الجلسة المصرح بها إلى تعطيل هذا المسار. لا تصدر مساحات العمل الحية هذه القدرة أبدًا. لا يمكن للعرض التوضيحي ربط الحسابات أو تغيير إعدادات التجميع.

محتوى اللوحة وعمليات التصدير#

لا تستخدم اللوحة أي خطوط خارجية أو أدوات تحليلية أو موارد شبكة توزيع المحتوى (CDN) أو وسائط بعيدة مدمجة. يتم إدراج النص المستمد من Telegram كنص عادي، وليس بتنسيق HTML. يتم تقديم المرفقات التي تم تنزيلها كمرفقات ثنائية. تحافظ عمليات التصدير بتنسيق JSONL على السلاسل النصية الأصلية؛ بينما يقوم HTML بتحويلها إلى رموز خاصة؛ وتُضاف علامة الفاصلة العليا كبادئة لخلايا CSV التي قد تتحول إلى صيغ حسابية.

تستبعد عمليات التصدير أسرار المصادقة والتوقيع، لكنها تحتوي عمدًا على البيانات الوصفية للمصدر التي تم جمعها، والمعرفات، وربما محتوى شخصي أو حساس. قد تظهر تجزئات الوصول إلى Telegram ومراجع الملفات في البيانات الوصفية الأولية للمصدر.

الأسرار المخزنة#

يتم تشفير بيانات اعتماد واجهة برمجة تطبيقات Telegram وStringSession والمفتاح الخاص Ed25519 باستخدام Fernet. بشكل افتراضي، يتم تخزين المفتاح في نفس دليل البيانات المحمي. وهذا يقلل من احتمال الكشف العرضي للنص العادي؛ لكنه لا يشكل حماية ضد المهاجم الذي يمكنه قراءة الدليل بأكمله. لا يقوم TgWitness بتشفير محتوى الرسائل والملفات الوسائطية. استخدم تشفير القرص وأذونات نظام التشغيل التقييدية. يتم إنشاء ملفات المفاتيح الخاصة في نظام Unix بالوضع 0600؛ بينما تستخدم أدلة البيانات المنشأة حديثًا الوضع 0700. لا يتم تغيير أذونات الدلائل الموجودة. يرث نظام Windows قوائم التحكم في الوصول (ACL) الخاصة بالدلائل: قم بتقييدها بحساب الخدمة والمسؤولين المصرح لهم.

مفتاح رئيسي خارجي#

بالنسبة لدليل البيانات الجديد، يمكن لـ TGWITNESS_VAULT_KEY_FILE توفير مفتاح رئيسي عشوائي خارجي. يُستمد مفتاح Fernet مختلف لكل مساحة عمل باستخدام HKDF-SHA256 وملح عشوائي منفصل. يجب الاحتفاظ بملف vault.external.json لأغراض الاستعادة. في حالة فقدان أو خطأ في المفاتيح الرئيسية، تفشل العملية. لا تتم ترحيل الخزائن المحلية الموجودة تلقائيًا. يمكن للعملية قيد التشغيل الوصول إلى المفتاح؛ وهذا لا يمثل عزل HSM. تعرض اللوحة الوضع المحدد وتوضح صراحةً أن تخزين الرسائل/الوسائط غير مشفر من قِبل التطبيق. انظر «الاتصال» و«الوكلاء» و«حماية البيانات» للاطلاع على نموذج التهديد الكامل.

الخوادم الوكيلة ومسارات الشبكة#

يتم تشفير إعدادات الوكيل في الخزينة. ولا يتم إرجاع كلمات المرور وأسرار MTProxy عبر واجهة برمجة التطبيقات (API) أو تدوينها في سجلات الأدلة. تختار كل مساحة عمل مسار Telegram الخاص بها ووضع IP.

يمنع وضع «إخفاء عنوان IP» اللجوء المباشر إلى Telegram ويتطلب استخدام وكيل (بروكسي) لطلبات HTTP الخارجية. أما وضع «اللجوء» المحدد صراحةً فيسمح بالوصول المباشر إلى Telegram بعد فترة تأخير؛ بينما يسمح وضع «النفق/VPN» بالاتصال المباشر. اختيار وضع النفق لا يؤدي إلى تثبيت أو التحقق من شبكة VPN. لا تتحكم هذه الإعدادات في كل حركة مرور الجهاز أو المتصفحات أو مديري الحزم أو تحليل عناوين DNS لمضيف البروكسي المحلي.

تنقل MTProxy حركة مرور Telegram فقط. يمكن للطلبات الخارجية استخدام بروكسي SOCKS5/HTTP منفصل، أو مسار SOCKS5/HTTP الخاص بمساحة العمل، أو مسار مباشر مسموح به؛ كما يمكن تعطيلها. يمتلك الشاهد المستقل إعدادات النقل الخاصة به. لا يتم تشفير المصادقة العادية لـ SOCKS5/HTTP CONNECT بواسطة بروتوكولات الوكيل تلك نفسها. ولا تزال أسرار TLS المزيفة لـ MTProxy غير مدعومة.

تسجيل الدخول واستيراد جلسات العمل#

تحتوي ملفات .tgwitness-session المحولة على سر ترخيص بنص عادي حتى يتم تحميلها وتخزينها في الخزينة. تقبل واجهة سطر الأوامر (CLI) غير المتصلة بالإنترنت مخططات Telethon التي تمت مراجعتها. كما يقبل استيراد اللوحة Pyrogram SQLite، وملفات TData ZIP الحديثة ذات الحساب الواحد، ومدخلات JSON الموثقة. وهي مصادق عليها، ومحدودة بأربعة ملفات / 8 ميغابايت، وتعالج عمليات التحميل في الذاكرة دون استخراج الأرشيف أو حفظ الملفات الأصلية. يتم إرجاع بيانات الاعتماد المعيارية فقط إلى المتصفح المصادق عليه الطالب؛ ويتم حفظها في الخزينة المشفرة بعد نجاح عملية المصادقة عبر Telegram. قم بحماية الملفات الأصلية والمحولة، وتجنب قيام العملاء المتزامنين باستنساخ المصادقة.

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

لا يتم الاحتفاظ برموز تسجيل الدخول وكلمات مرور التحقق بخطوتين في Telegram. يتم الاحتفاظ بحالة رقم الهاتف/رمز التجزئة في الذاكرة أثناء عملية المصادقة. تمنح جلسات Telegram حق الوصول إلى الحساب؛ ولا يتم أبدًا تحميل دليل البيانات أو الجلسة أو الرمز المميز أو مفتاح الخزينة أو مفتاح التوقيع الخاص إلى GitHub.

السجلات والنقل#

تم استبدال استجابة التحقق الافتراضية لواجهة برمجة التطبيقات (API) بحيث لا تعكس قيم بيانات الاعتماد. تم تعطيل تسجيل وصول التطبيق. لا تقم بتكوين وكيل عكسي لتسجيل رؤوس التفويض أو نصوص الطلبات. ينقل بروتوكول HTTP الرموز وأسرار تسجيل الدخول بنص عادي: استخدم HTTPS أو نفق SSH عند مغادرة المضيف المحلي (localhost).

حدود النزاهة#

تكتشف سلسلة التجزئة ومشغلات قاعدة البيانات والتوقيعات تعديلات معينة؛ وهي لا تمنع المسؤول المحلي من إعادة كتابة السجل وإعادة توقيعه. احتفظ بنقاط الفحص الموقعة وبصمة المفتاح العام على نظام منفصل. يقوم «وضع الأدلة» و«النسخة الخارجية» (وكلاهما معطلان افتراضيًا) بإرسال تجزئات نقاط الفحص إلى خدمات الطابع الزمني ونسخ مشفرة إلى تخزين متوافق مع S3؛ انظر تنسيق الأدلة. لم يتم تنفيذ سجلات الشفافية، والتوقيع المدعوم بـ HSM، و شهادة سلسلة الحراسة الرسمية.

إذا كنت تشك في وجود مشكلة#

احتفظ بدليل البيانات الأصلي واستخدم نسخة منفصلة للتحليل. لا تدرج بيانات Telegram الخاصة أو بيانات الاعتماد في منشور عام. لا يُدعى إلى أي شهادة أمان مستقلة.