الأمان
أين في لوحة الإدارة: System › Admin › Console security (
/account)، Admin users (/users)؛ System › Settings › Customer logins (/settings/login).
لوحة تحكم المسؤول
المصادقة الثنائية (TOTP)
وحدة التحكم متاحة عبر الإنترنت، لذا يرجى تفعيل المصادقة الثنائية (TOTP).
- افتح System › Admin › Console security.
- ضمن Two-factor authentication (TOTP) انقر فوق Start setup.
- قم بسحّ رمز الاستجابة السريعة (QR code) باستخدام Google Authenticator أو Authy أو 1Password أو Bitwarden، ثم أدخل الرمز المكون من 6 أرقام.
نطاقات IP المسموح بها لوحدة التحكم
تحت Allowed console IP ranges أدخل عنوان IP واحد أو نطاق CIDR (IPv4 أو IPv6) في كل سطر. الحقل الفارغ يعني السماح من أي مكان. خارج هذا النطاق، يتم حظر كل من تسجيل الدخول واجهة برمجة تطبيقات المسؤول API.
لا تحرم نفسك من الوصول
تعرض الصفحة عنوان IP الحالي الخاص بك وتتطلب أن تتضمنه القائمة الجديدة. استخدم + Add my IP. إذا تم حظرك على أي حال، فاستخدم emergency access من الخادم.
تغيير كلمة المرور
املأ حقول Current password وNew password وConfirm new password. استخدم كلمة مرور طويلة وفريدة (12 حرفاً أو أكثر؛ يفرض معالج الإعداد 12 حرفاً للمسؤول الأول).
حسابات وأدوار المسؤولين
افتح System › Admin › Admin users واستخدم + Create account.
| الدور | الوصول |
|---|---|
admin | وصول كامل إلى واجهة برمجة تطبيقات المشرف (admin API) |
staff | قراءة فقط عبر النظام بأكمله |
user | عرض للقراءة فقط لموارد عميل واحد |
حساب الجذر (root) هو الحساب الذي تم إنشاؤه في معالج الإعداد. إجراءات الصف: Edit، Reset PW، Key، Delete. يتم تخزين كلمات المرور كقيم مُجزأة مملحة (salted hashes)؛ يؤدي تغيير الحساب أو قفله إلى إنهاء جلساته على الفور.
تسجيل دخول العميل
افتح System › Settings › Customer logins.
| الإعداد | الوظيفة |
|---|---|
| تسجيل الدخول باستخدام Google | قم بالتفعيل، ثم أدخل معرف عميل OAuth والسر. انسخ Callback URL المعروض على الصفحة إلى Google Cloud Console › APIs & Services › Credentials › OAuth client ID › Authorized redirect URIs. استخدم Test configuration. |
| تسجيل الدخول باستخدام GitHub | نفس الخطوات، مع GitHub › Settings › Developer settings › OAuth Apps › Authorization callback URL |
| مفتاح المرور (Passkey) | تسجيل الدخول ببصمة الإصبع، رقم التعريف الشخصي، أو المفتاح الأجهزة؛ مُفعل افتراضيًا. ترتبط مفاتيح المرور بالنطاق؛ ويعمل نطاق كل موزع بشكل مستقل. أدخل نطاقًا قديمًا في Legacy passkey Domain بعد إعادة العلامة التجارية ليحصل العملاء على تلميح مفيد |
| إعادة المصادقة عند إضافة طرق تسجيل الدخول | طلب كلمة المرور مرة أخرى قبل إضافة مفتاح مرور أو ربط حساب Google/GitHub (معطل افتراضياً) |
| تحقق الأمان (Captcha) | Cloudflare Turnstile أو Google reCAPTCHA عند التسجيل: قم بالتفعيل، واختر المزود، وأدخل مفتاح الموقع ومفتاح السر |
| حظر نطاقات البريد الإلكتروني | نطاق واحد في كل سطر (بحد أقصى 2000). يتم رفض العناوين المطابقة عند التسجيل باستخدام email_domain_blocked |

السياسات المدمجة
| السياسة | القيمة |
|---|---|
| كلمة مرور العميل | 10 أحرف على الأقل، تتضمن حروفاً وأرقاماً |
| جلسة العميل | 30 يوماً؛ جلسات "تسجيل الدخول كعميل" تستمر لمدة 1 ساعة |
| التحقق من البريد الإلكتروني | مطلوب قبل إنشاء جهاز ظاهري (VM) عندما تكون ميزة require e-mail verified مفعلة في إعدادات المبيعات |
| الحماية من سرقة البطاقات | الحسابات التي تقل أرصدتها عن الحد الأدنى للشحن يمكنها إنشاء عدد محدود فقط من الأجهزة الظاهرية (VMs) |
تأمين الخادم
- المنفذ 3000 مُغلق بعد الإعداد وتفعيل TLS؛ انظر Installation.
- يعمل الخدمة كمستخدم غير مُصرح له
nexcmpمع صندوق الحماية المقيد في systemd. - تُخزن مفاتيح واجهة برمجة التطبيقات (API keys)، وبيانات اعتماد الدفع، وكلمات مرور SMTP بشكل مشفر؛ المفتاح الرئيسي موجود في
/var/lib/nexcmp/secrets— احمِ backups. - يتم التحقق من الإصدارات باستخدام SHA-256 وتوقيع Ed25519 قبل التثبيت.