mikroHUB

Güvenlik Mimarisi

mikroHUB ağ altyapınızı nasıl korur?

Belge sürümü: 2026-03-22 · Sorular: [email protected]

Ağ Mimarisi

                              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   │
└────────┘  └────────┘

Tüm harici trafik, TLS 1.2+ ile Nginx'te sonlandırılır. Dahili hizmetler (API bağlantı noktası 3001, Redis bağlantı noktası 6379) güvenlik duvarı düzeyinde engellenir ve hiçbir zaman internete açık değildir.

Kimlik Doğrulama ve Yetkilendirme

KatmanMekanizma
Kullanıcı YetkilendirmesiPKCE
PKCE akışıyla Supabase Auth (örtük değil)
Jeton DepolamaCOOKIE
Secure + SameSite=Lax çerezleri (localStorage değil)
Token ÖmrüTTL
Maksimum 1 saat, 60 sn önbellek, zorunlu yenileme
Oturum İptaliREVOKE
Bellek içi geçersiz kılma + belirteç kara listesi
WebSocket Kimlik DoğrulamasıTICKET
Tek seferlik bilet değişimi (JWT asla URL'de değildir)
API Anahtarı Kimlik DoğrulamasıSHA-256
SHA-256 hashing uygulandı, kaynak başına kapsam belirlendi, geçerlilik süresi uygulandı
Cihaz Aracısı Kimlik DoğrulamasıAGENT
SHA-256 karma belirteci, hız sınırlı (2 istek/30 sn)
MFAMFA
TOTP (kimlik doğrulama uygulaması) + WebAuthn/FIDO2 (geçiş anahtarları, YubiKey)

Veri Yalıtımı (Çok Kiracılı)

Kuruluş A — "ISP Gdansk"
devices (org_id=1)
metrics (org_id=1)
backups (org_id=1)
logs (org_id=1)
RLS ENGELLENDİ
Kuruluş B - "Firma Varşova"
devices (org_id=2)
metrics (org_id=2)
backups (org_id=2)
logs (org_id=2)
  • TÜM veri tablolarında Satır Düzeyinde Güvenlik (RLS)
  • PostgreSQL düzeyinde uygulanır; SQL enjeksiyonu bile kiracı sınırlarını aşamaz
  • API ara yazılımı her istekte kuruluş üyeliğini iki kez kontrol eder
  • WebSocket abonelikleri org_members'e göre doğrulandı

Cihaz Kimlik Bilgileri

1

Şifrele

Giriş başına rastgele IV ile AES-256-GCM, kimlik doğrulama etiketi doğrulandı

2

Mağaza

Supabase'de iv:tag:ciphertext olarak depolanır (asla düz metin değildir)

3

Ankette Şifreyi Çöz

Yalnızca anket sırasında şifresi çözüldü, bellekte, hiçbir zaman günlüğe kaydedilmedi

4

Bağlamak

TLS şifreli bağlantıya sahip RouterOS API-SSL

  • Ortam değişkenindeki ana şifreleme anahtarı (kodda değil, veritabanında değil)
  • Kimlik bilgilerinin şifresi yalnızca cihaz bağlantısı için gerektiğinde çözülür
  • Hata mesajları, normal ifade aracılığıyla IP'leri ve kimlik bilgilerini çıkarır
  • Kimlik bilgileri hiçbir zaman günlüklerde, yanıtlarda veya denetim izinde görünmez

Bağlantı Modları

API Yönetimi

API-SSL (bağlantı noktası 8729) aracılığıyla doğrudan TLS bağlantısı. Tam yönetim erişimi.

  • TLS şifreli
  • MikroHUB ile sınırlı IP
  • Yalnızca 8729 numaralı bağlantı noktası

Tel Koruma

Şifreli tünel — yönlendiricide sıfır açık bağlantı noktası gerekir.

  • Halka açık bağlantı noktalarına gerek yok
  • Cihaz başına /32 eş
  • Bölünmüş tünel yok
  • Tek kopyala-yapıştır kurulumu

API İzleme

Salt okunur doğrudan TLS bağlantısı. Yönlendiriciye yazma erişimi yok.

  • Salt okunur erişim
  • TLS şifreli
  • IP kısıtlı

Ajan

Cihaz, verileri HTTPS yoluyla dışarıya aktarır. Gelen hiçbir şey yok.

  • Yalnızca giden (HTTPS)
  • Açık bağlantı noktasına gerek yok
  • Yalnızca itmeli model
  • Hız sınırlı (2 req/30s)

Altyapı Güvenliği

BileşenKoruma
TLSTLSv1.2 + TLSv1.3, ECDHE şifreleri, HSTS önyüklemesi
Güvenlik Duvarı (UFW)Yalnızca 80, 443, 51820/UDP açığa çıktı. API (3001) ve Redis (6379) REDDETTİ
RedisTLS etkin, parola gerekli, yalnızca localhost bağlama
Nginx BaşlıklarıHSTS, X Çerçeve Seçenekleri, X İçerik Türü Seçenekleri, CSP, İzinler Politikası
Hız SınırlamasıKüresel 300/15 dk, Kimlik Doğrulama 5/dk, Yönetici 30/15 dk, Temsilci 2/30 sn
DH Parametreleriİleri gizlilik için 2048 bit dhparam

Ne YAPMIYORUZ

  • Şifreleri hiçbir zaman düz metin olarak saklamayız
  • Jetonlar için localStorage kullanmıyoruz
  • Dahili hizmetleri internete sunmuyoruz
  • Kiracılar arası veri erişimine izin vermiyoruz
  • Kimlik bilgilerini veya hassas verileri günlüğe kaydetmiyoruz
  • Yönlendiricinizde açık bağlantı noktalarına ihtiyacımız yok (WireGuard modu)
  • Düz metin API bağlantıları göndermiyoruz (doğrudan mod için SSL gereklidir)

Uyumluluk

StandartDurum
Her yerde HTTPSZorunlu
Beklemedeyken şifrelemeKimlik bilgileri için AES-256-GCM
Aktarım sırasında şifrelemeTLS + WireGuard
Kimlik doğrulamaJWT + MFA + PKCE
YetkilendirmeRBAC + RLS
Denetim iziIP takibi ile tam denetim günlüğü
Veri silme (GDPR)Hesap silme uç noktası
Oturum yönetimiToken kara listesi + zorunlu yenileme

Güvenlikle ilgili sorularınız mı var?

Potansiyel müşterilerden ve denetçilerden gelen her türlü soruyu yanıtlamaktan mutluluk duyarız.

[email protected]