الأمان
نظرة عامة
بُني Neotask على مبدأ الأمان كأساس جوهري. كل طبقة, من تفعيل الترخيص إلى تخزين البيانات وصولاً إلى الاتصالات الشبكية, مصممة لحماية بياناتك ومنع الوصول غير المصرح به.
أمان الترخيص
- ربط الجهاز: يُربط كل ترخيص مشفّرياً بجهاز واحد عبر بصمة SHA-256.
- توقيع الطلبات بـ HMAC-SHA256: تُوقَّع جميع طلبات API بسر خاص بالجهاز ورقم عشوائي (nonce) وطابع زمني.
- المقارنة الآمنة من حيث التوقيت: تستخدم جميع مقارنات الأسرار خوارزميات ذات وقت ثابت للحماية من هجمات التوقيت.
- دورة حياة الرمز: يتحكم الخادم في انتهاء صلاحية رموز الوصول والتحديث عبر مطالبات JWT الموقّعة، مما يتيح الإلغاء الفوري.
- إعادة التحقق التلقائية: يتم فحص ترخيصك كل 6 ساعات.
- فترة السماح دون اتصال: 72 ساعة من الوصول دون اتصال قبل أن تصبح إعادة التحقق مطلوبة.
- الإلغاء عن بُعد: يمكن إلغاء التراخيص فورياً من جانب الخادم.
المصادقة الثنائية (TOTP)
يدعم Neotask المصادقة الثنائية الاختيارية (لكنها موصى بها) للوصول إلى لوحة التحكم.
- متوافق مع Google Authenticator وAuthy و1Password وأي تطبيق متوافق مع TOTP.
- تُقدَّم رموز النسخ الاحتياطي أثناء الإعداد. هذه الرموز مُجزَّأة بـ SHA-256 وللاستخدام مرة واحدة فقط.
- يمكن تفعيل TOTP أو تعطيله في أي وقت من قسم الأمان في إعدادات لوحة التحكم.
التشفير
البيانات في حالة السكون
- AES-256-GCM: تُشفَّر جميع الرموز والأسرار ومفاتيح API في حالة السكون.
- مفاتيح مشتقة من الجهاز: تُشتق مفاتيح التشفير عبر scrypt من هوية جهازك.
- لا تخزين بنص واضح: لا تُخزَّن الرموز أبداً بنص غير مشفر.
البيانات أثناء النقل
- TLS 1.3: تسافر جميع اتصالات API عبر HTTPS.
- WebSocket Secure (WSS): تتصالات البوابة الآنية مشفرة.
- توقيع HMAC: يتضمن كل طلب رقماً عشوائياً وتوقيع طابع زمني.
أسرار البيئة
- تشفير ثنائي الطبقة: يستخدم تشفير بيئة وقت البناء مفاتيح منفصلة.
- لا أسرار مضمّنة: لا توجد مفاتيح API أو رموز في الكود المصدري.
- حجب السجلات: تُحذف البيانات الحساسة تلقائياً من السجلات.
أمان تطبيق سطح المكتب
تقوية Electron
يطبّق Neotask إعدادات أمان Electron صارمة لحماية تطبيق سطح المكتب:
sandbox: true, تعمل عملية العرض في بيئة معزولة.contextIsolation: true, لا يوجد وصول مباشر للعملية الرئيسية من واجهة المستخدم.nodeIntegration: false, لا تتعرض واجهات برمجة Node.js لواجهة المستخدم.webSecurity: true, يُطبَّق سياسة المصدر الواحد.
سياسة أمان المحتوى (CSP)
default-src 'self', تُحمَّل فقط الموارد من التطبيق نفسه.script-src 'self', لا يُسمح بأي نصوص خارجية.- نوافذ النوافذ المنبثقة محجوبة.
- التنقل محجوب لمنع هجمات إعادة التوجيه.
- إعادة تحميل الصفحة محجوبة لمنع التلاعب بالحالة.
سلامة التطبيق
- سلامة ASAR: التحقق من تجزئة SHA-256 للتطبيق المحزوم.
- اعتماد الإصدار: بيان موقّع من الخادم مع إمكانية التعطيل عن بُعد.
- تعتيم الكود: يُطبَّق تعتيم JavaScript في إصدارات الإنتاج.
- وضع الفشل الصارم: يُحجب التطبيق كلياً عند أي إخفاق في السلامة.
أمان الشبكة
عزل البوابة
- تعمل البوابة على loopback فقط (127.0.0.1)، مما يعني عدم وجود أي تعرض خارجي للشبكة.
- لا تُقبَل أي اتصالات واردة من خارج جهازك.
- منح الجلسة لها عمر 10 دقائق، ومرتبطة بالجهاز وموقّعة بـ HMAC.
حجب 3 إخفاقات
- بعد 3 إخفاقات متتالية في عمليات البوابة، تُحجب جميع العمليات.
- يلزم إعادة ضبط يدوية لاستعادة الوصول.
- تمنع هذه الآلية محاولات القوة الغاشمة.
أمان API
طرق المصادقة
| الطريقة | تُستخدم لـ | مستوى الأمان |
|---|---|---|
| JWT Bearer Token | لوحة الويب، استدعاءات API | قياسي (انتهاء صلاحية بعد 90 يوماً) |
| License HMAC | عمليات تطبيق سطح المكتب | عالٍ (سر خاص بالجهاز) |
| Session Grants | عمليات البوابة | عالٍ جداً (10 دقائق، موقّعة بـ HMAC) |
| TOTP | تسجيل الدخول للوحة التحكم | عامل إضافي |
تحديد معدل الطلبات
| نقطة النهاية | الحد |
|---|---|
| نموذج الاتصال | 5 طلبات كل 15 دقيقة |
| محاولات تسجيل الدخول | 10 طلبات كل 15 دقيقة |
| التحليلات/التتبع | 30 طلباً كل 60 ثانية |
التحقق من المدخلات
- تُتحقق جميع معاملات IPC قبل المعالجة.
- تُعقَّم جميع مدخلات API.
- تتوفر حماية ضد حقن SQL وXSS وحقن الأوامر.
أمان مفاتيح الموفر (BYOK)
عند استخدام وضع إحضار مفتاحك الخاص (BYOK)، يطبّق Neotask ضمانات إضافية على مفاتيح API الخاصة بك:
- تُشفَّر مفاتيح API بـ AES-256-GCM قبل التخزين.
- لا تُسجَّل المفاتيح أبداً ولا تظهر في رسائل الخطأ.
- تُعرَض المفاتيح بشكل مقنّع في لوحة التحكم (تظهر آخر 4 أحرف فقط).
- يُجرى حذف آمن عند إزالة أي مفتاح.
الوضع الآمن
يتضمن Neotask ميزة الوضع الآمن التي توفر بيئة تنفيذ معزولة للوكلاء:
- تعزل بيئة التنفيذ الخاصة بكل وكيل عملياته.
- تتطلب العمليات الحساسة موافقة صريحة من المستخدم قبل المتابعة.
- يتيح مفتاح التبديل الرئيسي تفعيل الوضع الآمن أو تعطيله عالمياً.
- يضمن إعادة التفعيل التلقائي حسب الجدول إعادة تنشيط الوضع الآمن بعد التغييرات المؤقتة.
- تحافظ مزامنة السياسة الآنية على اتساق الإعدادات عبر جميع الاتصالات.
التدقيق والامتثال
- تُسجَّل جميع تغييرات التهيئة مع الطوابع الزمنية.
- يكتشف تجزئة التهيئة التعديلات غير المصرح بها.
- تتيح بيانات القياس عن بُعد للاستخدام (اختياري) اكتشاف الشذوذات.
- CORS مقيّد بالنطاقات المصرح بها فقط.
- تُطبَّق رؤوس أمان Helmet على جميع استجابات الويب.
أفضل الممارسات
- تفعيل TOTP على لوحة التحكم الخاصة بك للمصادقة الثنائية.
- تنزيل رموز النسخ الاحتياطي وتخزينها بأمان.
- تعيين ميزانيات يومية لمنع الرسوم غير المتوقعة.
- استخدام وضع BYOK إذا أردت السيطرة الكاملة على مفاتيح API الخاصة بك.
- إبقاء التطبيق محدَّثاً, تتضمن التحديثات التلقائية تصحيحات الأمان.
- مراجعة أذونات الوكيل بشكل دوري في إعدادات الوضع الآمن.