كيف يحمي 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) |
AES-256-GCM مع IV عشوائي لكل إدخال، تم التحقق من صحة علامة المصادقة
تم تخزينه كـ iv:tag:ciphertext في Supabase (ليس نصًا عاديًا أبدًا)
تم فك التشفير فقط في وقت الاستطلاع، في الذاكرة، ولم يتم تسجيله مطلقًا
RouterOS API-SSL مع اتصال TLS مشفر
اتصال TLS مباشر عبر API-SSL (المنفذ 8729). الوصول الكامل للإدارة.
نفق مشفر - لا توجد منافذ مفتوحة مطلوبة على جهاز التوجيه.
اتصال TLS مباشر للقراءة فقط. لا يوجد وصول للكتابة إلى جهاز التوجيه.
يقوم الجهاز بدفع البيانات للخارج عبر HTTPS. لا شيء وارد.
| عنصر | حماية |
|---|---|
| ✓TLS | TLSv1.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 للسرية الأمامية |
| معيار | حالة |
|---|---|
| HTTPS في كل مكان | ✅القسري |
| التشفير في حالة الراحة | ✅AES-256-GCM لبيانات الاعتماد |
| التشفير أثناء النقل | ✅TLS + WireGuard |
| المصادقة | ✅جوت + وزارة الخارجية + بي كي سي إي |
| إذن | ✅رباك + رلس |
| مسار التدقيق | ✅سجل التدقيق الكامل مع تتبع IP |
| حذف البيانات (GDPR) | ✅نقطة نهاية محو الحساب |
| إدارة الجلسة | ✅القائمة السوداء للرموز + التحديث القسري |
ويسعدنا الرد على أية أسئلة من العملاء والمدققين المحتملين.