Kuidas mikroHUB teie võrguinfrastruktuuri kaitseb
Dokumendi versioon: 2026-03-22 · Küsimused: [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 │
└────────┘ └────────┘Kogu väline liiklus lõpeb Nginxis TLS 1.2+-ga. Siseteenused (API port 3001, Redise port 6379) on tulemüüri tasemel blokeeritud ega puutu kunagi kokku Internetti.
| Kiht | mehhanism |
|---|---|
Kasutaja autentiminePKCE | Supabase Auth PKCE vooga (mitte kaudne) |
Tokenite salvestusruumCOOKIE | Secure + SameSite=Lax küpsised (mitte localStorage) |
Token LifetimeTTL | 1 tund max, 60s vahemälu, sunnitud värskendus |
Seansi tühistamineREVOKE | Mälusisene kehtetuks tunnistamine + märgi must nimekiri |
WebSocket AuthTICKET | Ühekordne piletivahetus (JWT mitte kunagi URL-is) |
API võtme autentimineSHA-256 | SHA-256 räsitud, ulatus ressursi kohta, aegumine jõustatud |
Seadme agendi autentimineAGENT | SHA-256 räsimärk, kiirusega piiratud (2 nõuet/30 s) |
MFAMFA | TOTP (autentimisrakendus) + WebAuthn/FIDO2 (pääsmed, YubiKey) |
AES-256-GCM juhusliku IV-ga kirje kohta, autentimismärgend kinnitatud
Salvestatud kui iv:tag:šifreeritud tekst Supabase'is (mitte kunagi lihttekstina)
Dekrüpteeritud ainult küsitluse ajal, mälus, mitte kunagi logitud
RouterOS API-SSL TLS-krüptitud ühendusega
Otsene TLS-ühendus API-SSL-i kaudu (port 8729). Täielik juurdepääs haldusele.
Krüpteeritud tunnel – ruuteril pole vaja avatud porte.
Kirjutuskaitstud otsene TLS-ühendus. Ruuterile pole kirjutusõigust.
Seade edastab andmed välja HTTPS-i kaudu. Mitte midagi sissetulevat.
| Komponent | Kaitse |
|---|---|
| ✓TLS | TLSv1.2 + TLSv1.3, ECDHE šifrid, HSTS-i eellaadimine |
| ✓Tulemüür (UFW) | Ainult 80, 443, 51820/UDP on eksponeeritud. API (3001) ja Redis (6379) KEELATA |
| ✓Redis | TLS on lubatud, nõutav parool, sidumine ainult kohaliku hostiga |
| ✓Nginxi päised | HSTS, X-Frame-Options, X-Content-Type-Options, CSP, Permissions-Policy |
| ✓Rate Limiting | Globaalne 300/15 min, autentimine 5/min, administraator 30/15 min, agent 2/30 s |
| ✓DH parameetrid | 2048-bitine dhparam edasisaladuse tagamiseks |
| Standardne | Olek |
|---|---|
| HTTPS kõikjal | ✅Jõustatakse |
| Krüpteerimine puhkeolekus | ✅AES-256-GCM mandaatide jaoks |
| Krüpteerimine edastamisel | ✅TLS + WireGuard |
| Autentimine | ✅JWT + MFA + PKCE |
| Autoriseerimine | ✅RBAC + RLS |
| Kontrolljälg | ✅Täielik auditi logi koos IP-jälgimisega |
| Andmete kustutamine (GDPR) | ✅Konto kustutamise lõpp-punkt |
| Seansi juhtimine | ✅Märgi must nimekiri + sundvärskendus |
Vastame hea meelega potentsiaalsete klientide ja audiitorite küsimustele.