mikroHUB

العمارة الأمنية

كيف يحمي mikroHUB البنية التحتية لشبكتك

نسخة الوثيقة: 2026-03-22 · أسئلة: [email protected]

هندسة الشبكات

                              INTERNET
         ┌────────────────────┬──────────────────────┐
         │ HTTPS/443          │ WSS/443              │ WG/UDP 51820
         │ (TLS 1.2+)        │ (WebSocket)          │ (WireGuard)
         ▼                    ▼                      ▼
┌─────────────────────────────────────────────────────────────────┐
│  NGINX REVERSE PROXY  (mikrohub.io)                             │
│  ┌──────────────┐  ┌──────────────┐  ┌────────────────────────┐ │
│  │ Let's Encrypt │  │ HSTS Preload │  │ CSP + Security Headers │ │
│  │ ECDSA cert    │  │ max-age=2yr  │  │ X-Frame, X-Content     │ │
│  └──────────────┘  └──────────────┘  └────────────────────────┘ │
│  Ports open : 80 (→301), 443, 51820/UDP                         │
│  Ports BLOCKED: 3001 (API), 6379 (Redis)                         │
└──────────┬──────────────────────┬───────────────────┬───────────┘
           │ :3001               │ :3001/ws          │ :51820
           ▼                     ▼                    ▼
┌──────────────────┐  ┌──────────────┐  ┌──────────────────────────┐
│ EXPRESS API      │  │ WebSocket    │  │ WireGuard (wg0)          │
│ (Node.js)        │  │ Server       │  │ 10.99.0.1/16             │
│                  │  │ One-time     │  │ Per-device /32 peer      │
│ JWT validation   │  │ ticket auth  │  │ No split tunnel          │
│ 60s session cache│  │ (no JWT      │  │                          │
│ 1h max token age │  │  in URL)     │  │ Devices: 10.99.x.y      │
└────────┬─────────┘  └──────────────┘  └──────────────────────────┘
         │
   ┌─────┴──────┐
   ▼            ▼
┌────────┐  ┌────────┐
│Supabase│  │ Redis  │
│Postgres│  │ TLS    │
│(cloud) │  │(local) │
│RLS on  │  │ Auth   │
│all tbl │  │ reqd   │
└────────┘  └────────┘

تنتهي كل حركة المرور الخارجية عند Nginx مع TLS 1.2+. يتم حظر الخدمات الداخلية (منفذ API 3001، ومنفذ Redis 6379) على مستوى جدار الحماية ولا يتم عرضها مطلقًا على الإنترنت.

المصادقة والترخيص

طبقةآلية
مصادقة المستخدمPKCE
مصادقة Supabase مع تدفق PKCE (غير ضمني)
تخزين الرمز المميزCOOKIE
ملفات تعريف الارتباط Secure + SameSite=Lax (ليست localStorage)
عمر الرمز المميزTTL
ساعة واحدة كحد أقصى، ذاكرة تخزين مؤقت 60 ثانية، تحديث قسري
إبطال الجلسةREVOKE
إبطال الذاكرة + القائمة السوداء للرموز المميزة
مصادقة WebSocketTICKET
تبادل التذاكر لمرة واحدة (JWT لا يوجد أبدًا في عنوان URL)
مصادقة مفتاح APISHA-256
تم تجزئة SHA-256، وتم تحديد نطاقه لكل مورد، وتم فرض انتهاء الصلاحية
مصادقة وكيل الجهازAGENT
رمز مجزأ SHA-256، معدل محدود (2 req/30s)
وزارة الخارجيةMFA
TOTP (تطبيق المصادقة) + WebAuthn/FIDO2 (مفاتيح المرور، YubiKey)

عزل البيانات (متعدد المستأجرين)

المؤسسة أ - "ISP غدانسك"
devices (org_id=1)
metrics (org_id=1)
backups (org_id=1)
logs (org_id=1)
تم حظر RLS
المنظمة ب – "فيرما وارسزاوا"
devices (org_id=2)
metrics (org_id=2)
backups (org_id=2)
logs (org_id=2)
  • الأمان على مستوى الصف (RLS) في جميع جداول البيانات
  • يتم فرضه على مستوى PostgreSQL - حتى حقن SQL لا يمكنه تجاوز حدود المستأجر
  • تتحقق البرامج الوسيطة لواجهة برمجة التطبيقات (API) بشكل مزدوج من عضوية المؤسسة عند كل طلب
  • تم التحقق من صحة اشتراكات WebSocket مقابل org_members

بيانات اعتماد الجهاز

1

تشفير

AES-256-GCM مع IV عشوائي لكل إدخال، تم التحقق من صحة علامة المصادقة

2

محل

تم تخزينه كـ iv:tag:ciphertext في Supabase (ليس نصًا عاديًا أبدًا)

3

فك التشفير في الاستطلاع

تم فك التشفير فقط في وقت الاستطلاع، في الذاكرة، ولم يتم تسجيله مطلقًا

4

يتصل

RouterOS API-SSL مع اتصال TLS مشفر

  • مفتاح التشفير الرئيسي في متغير البيئة (ليس في الكود، وليس في قاعدة البيانات)
  • يتم فك تشفير بيانات الاعتماد فقط عند الحاجة للاتصال بالجهاز
  • تقوم رسائل الخطأ بتنقيح عناوين IP وبيانات الاعتماد عبر التعبير العادي
  • لا تظهر بيانات الاعتماد مطلقًا في السجلات أو الاستجابات أو مسار التدقيق

أوضاع الاتصال

إدارة واجهة برمجة التطبيقات

اتصال TLS مباشر عبر API-SSL (المنفذ 8729). الوصول الكامل للإدارة.

  • تشفير TLS
  • IP مقيد بـ mikroHUB
  • المنفذ 8729 فقط

WireGuard

نفق مشفر - لا توجد منافذ مفتوحة مطلوبة على جهاز التوجيه.

  • لا حاجة للمنافذ العامة
  • لكل جهاز / 32 نظيرًا
  • لا يوجد نفق مقسم
  • إعداد نسخ ولصق واحد

مراقبة واجهة برمجة التطبيقات

اتصال TLS مباشر للقراءة فقط. لا يوجد وصول للكتابة إلى جهاز التوجيه.

  • الوصول للقراءة فقط
  • تشفير TLS
  • مقيد IP

عامل

يقوم الجهاز بدفع البيانات للخارج عبر HTTPS. لا شيء وارد.

  • الصادر فقط (HTTPS)
  • لا حاجة إلى منافذ مفتوحة
  • نموذج الدفع فقط
  • معدل محدود (2 req/30s)

أمن البنية التحتية

عنصرحماية
TLSTLSv1.2 + TLSv1.3، تشفير ECDHE، التحميل المسبق لـ HSTS
جدار الحماية (UFW)فقط 80، 443، 51820/UDP مكشوفة. API (3001) وRedis (6379) DENY
ريديستمكين TLS، كلمة المرور مطلوبة، ربط المضيف المحلي فقط
رؤوس إنجينكسHSTS، خيارات الإطار X، خيارات نوع المحتوى X، CSP، سياسة الأذونات
الحد من المعدلالعالمية 300/15 دقيقة، المصادقة 5/دقيقة، المشرف 30/15 دقيقة، الوكيل 2/30 ثانية
معلمات دي إتش2048 بت DHparam للسرية الأمامية

ما لا نفعله

  • نحن لا نقوم بتخزين كلمات المرور في نص عادي — على الإطلاق
  • نحن لا نستخدم localStorage للرموز المميزة
  • نحن لا نكشف عن الخدمات الداخلية للإنترنت
  • نحن لا نسمح بالوصول إلى البيانات بين المستأجرين
  • نحن لا نسجل بيانات الاعتماد أو البيانات الحساسة
  • لا نطلب منافذ مفتوحة على جهاز التوجيه الخاص بك (وضع WireGuard)
  • نحن لا نرسل اتصالات واجهة برمجة التطبيقات (API) ذات النص العادي (SSL مطلوب للوضع المباشر)

امتثال

معيارحالة
HTTPS في كل مكانالقسري
التشفير في حالة الراحةAES-256-GCM لبيانات الاعتماد
التشفير أثناء النقلTLS + WireGuard
المصادقةجوت + وزارة الخارجية + بي كي سي إي
إذنرباك + رلس
مسار التدقيقسجل التدقيق الكامل مع تتبع IP
حذف البيانات (GDPR)نقطة نهاية محو الحساب
إدارة الجلسةالقائمة السوداء للرموز + التحديث القسري

أسئلة حول الأمن؟

ويسعدنا الرد على أية أسئلة من العملاء والمدققين المحتملين.

[email protected]