Security - Neotask by Neotask Documentation | Neotask

الأمان

نظرة عامة

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

أمان الشبكة

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

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

المصادقة

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

  • مصادقة الرمز — رمز حامل (UUID أو سلسلة مخصصة)
  • مصادقة كلمة المرور — كلمة مرور مشفرة بـ Bcrypt
  • الوكيل الموثوق — رؤوس مصادقة مسبقة من الوكلاء العكسيين
  • الثقة المحلية — اتصالات Loopback موثوقة ضمنياً
  • أمان الوصول عن بُعد

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

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

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

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

  • يقدم الجهاز هويته (البصمة + المفتاح العام)
  • تُصدر البوابة تحدي الإقران (nonce)
  • يوقّع الجهاز الـ nonce بمفتاحه الخاص
  • توافق على الجهاز من خلال واجهة المستخدم
  • تُصدر البوابة رمز الجهاز للاتصالات المستقبلية
  • نموذج الثقة

  • الأجهزة المحلية (loopback) تتم الموافقة عليها تلقائياً للراحة
  • الأجهزة غير المحلية تتطلب موافقة صريحة
  • تُخزَّن رموز الأجهزة محلياً وتُعاد استخدامها عند إعادة الاتصال
  • يمكن إلغاء الأجهزة في أي وقت
  • التشفير

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

  • AES-256-GCM — تُشفَّر جميع الرموز والأسرار ومفاتيح API في حالة السكون
  • مفاتيح مشتقة من الآلة — مفاتيح التشفير مشتقة عبر scrypt من هوية الجهاز
  • لا تخزين نصي — الرموز لا تُخزَّن أبداً كنص عادي
  • البيانات أثناء النقل

  • TLS — HTTPS لتواصل API
  • WSS — WebSocket Secure لاتصالات البوابة (عند استخدام Tailscale Serve أو وكيل عكسي)
  • توقيع HMAC — سلامة الطلب مع nonce والطابع الزمني
  • العزل

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

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

  • ملفات تعريف لكل وكيل — يمكن لكل وكيل أن يمتلك إعداد بيئته المعزولة الخاص
  • حدود الموارد — حدود CPU والذاكرة والمهلة قابلة للتكوين
  • عزل الشبكة — يمكن عزل الحاويات من الشبكة
  • تقييد نظام الملفات — الوكلاء يصلون فقط إلى مساحة عملهم
  • صور مخصصة — استخدام صور مبنية مسبقاً مع أدوات محددة مثبتة
  • نطاقات البيئة المعزولة

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

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

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

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

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

    الأوضاع

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

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

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

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

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

  • مقيَّد بإذن صريح في إعداد الوكيل
  • متاح فقط على مضيف البوابة
  • معطّل بشكل افتراضي
  • قابل للتدقيق من خلال التسجيل
  • تدقيق الأمان

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

  • أذونات ملف الإعداد (يجب أن تكون 600)
  • أذونات ملفات الجلسة
  • إصدار Node.js (تصحيحات الأمان)
  • اكتشاف الأسرار النصية
  • التحقق من قائمة سماح الإضافات
  • تدقيق واجهة الشبكة المفتوحة
  • اكتمال إعداد المصادقة
  • يمكن للتدقيق إصلاح العديد من المشكلات تلقائياً عند منحه الإذن.

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

  • إبقاء البوابة على loopback — استخدم Tailscale أو SSH للوصول عن بُعد
  • تفعيل العزل — تشغيل أوامر الوكيل في حاويات Docker
  • استخدام قوائم سماح التنفيذ — تقييد الأوامر التي يمكن للوكلاء تشغيلها على العقد
  • تعيين رموز المصادقة — تكوين مصادقة الرمز دائماً، حتى لـ loopback
  • مراجعة أذونات الوكيل — استخدام ملفات تعريف الأدوات الدنيا حيثما أمكن
  • إبقاء Open Claw محدَّثاً — التحديثات تتضمن تصحيحات الأمان
  • التدقيق بانتظام — تشغيل تدقيقات الأمان لرصد الإعدادات الخاطئة
  • تقييد تحميل الإضافات — ثبّت الإضافات الموثوقة فقط
  • View full documentation