الأمان

نظرة عامة

صُمِّم Neotask بنية أمنية أولاً. تُقيَّد البوابة بـ localhost بشكل افتراضي، وتُشفَّر جميع البيانات الحساسة في حالة السكون، ويمكن تحديد تنفيذ الوكيل ببيئة معزولة في حاويات مخصصة.

أمان الشبكة

Loopback بشكل افتراضي

تستمع البوابة فقط على 127.0.0.1 (localhost) ما لم تغيّر وضع الارتباط صراحةً. لا كشف شبكي خارجي بشكل افتراضي.

المصادقة

تتطلب جميع اتصالات WebSocket المصادقة:

أمان الوصول عن بُعد

للوصول عن بُعد، النهج الموصى به هو Tailscale VPN أو نفق SSH, لا تكشف البوابة مباشرة على الإنترنت أبداً.

إقران الأجهزة

كيف يعمل الإقران

كل عميل يتصل بالبوابة يجب إقرانه:

  1. يقدم الجهاز هويته (البصمة + المفتاح العام)
  2. تُصدر البوابة تحدي الإقران (nonce)
  3. يوقّع الجهاز الـ nonce بمفتاحه الخاص
  4. توافق على الجهاز من خلال واجهة المستخدم
  5. تُصدر البوابة رمز الجهاز للاتصالات المستقبلية

نموذج الثقة

التشفير

البيانات في حالة السكون

البيانات أثناء النقل

العزل

العزل المبني على Docker

يمكن تحديد تنفيذ أوامر الوكيل ببيئة معزولة في حاويات Docker:

نطاقات البيئة المعزولة

النطاق الوصف
لكل جلسة حاوية جديدة لكل جلسة
لكل وكيل حاوية دائمة لكل وكيل
مشترك حاوية مشتركة عبر الوكلاء

وصول مساحة العمل

يمكن للوكلاء المحددين ببيئة معزولة الوصول إلى دليل مساحة عملهم (المثبتة في الحاوية) لكن لا يمكنهم الوصول إلى نظام ملفات المضيف خارج مساحة عملهم.

موافقات التنفيذ

التحكم في الأوامر التي يمكن للوكلاء تنفيذها على العقد ومضيف البوابة:

الأوضاع

الوضع الوصف
قائمة السماح الأوامر المعتمدة مسبقاً فقط تنفّذ
الطلب الأوامر غير المعروفة تطلب موافقة المستخدم
كامل بدون قيود (استخدم بحذر)

التكوين لكل عقدة

لكل عقدة (macOS ومضيفات بدون واجهة) إعداد موافقة تنفيذ خاص بها، مخزّن محلياً. يمكنك السماح لثنائيات محددة (مثلاً /usr/bin/docker و/usr/local/bin/terraform) مع حظر كل شيء آخر.

الوضع المرتفع

بعض العمليات تتطلب التشغيل على مضيف البوابة مباشرة (وليس في بيئة معزولة). الوضع المرتفع:

تدقيق الأمان

يتحقق تدقيق الأمان المدمج من:

يمكن للتدقيق إصلاح العديد من المشكلات تلقائياً عند منحه الإذن.

أفضل الممارسات

  1. إبقاء البوابة على loopback, استخدم Tailscale أو SSH للوصول عن بُعد
  2. تفعيل العزل, تشغيل أوامر الوكيل في حاويات Docker
  3. استخدام قوائم سماح التنفيذ, تقييد الأوامر التي يمكن للوكلاء تشغيلها على العقد
  4. تعيين رموز المصادقة, تكوين مصادقة الرمز دائماً، حتى لـ loopback
  5. مراجعة أذونات الوكيل, استخدام ملفات تعريف الأدوات الدنيا حيثما أمكن
  6. إبقاء Neotask محدَّثاً, التحديثات تتضمن تصحيحات الأمان
  7. التدقيق بانتظام, تشغيل تدقيقات الأمان لرصد الإعدادات الخاطئة
  8. تقييد تحميل الإضافات, ثبّت الإضافات الموثوقة فقط