PushizoDocs
Güvenlik & uyum

Güvenliğe genel bakış

Pushizo güvenlik modeli — kimlik doğrulama, RBAC, kiracı izolasyonu (RLS), gizli bilgi şifreleme, uygulama güvenliği (SSRF, CSP, imzalar), gözlemlenebilirlik ve denetim kaydı; ASVS kontrol listesi.

Pushizo çok kiracılı bir platformdur; her sorgu org_id/app_id ile sınırlıdır ve Postgres satır düzeyi güvenlik (RLS) ikinci savunma hattıdır. Bu sayfa modelin özetidir; kanıta bağlı madde listesi için OWASP ASVS kontrol listesi.

Kimlik doğrulama

YüzeyYöntem
DashboardParola (Argon2id, en az 10 karakter, sızmış parola kontrolü), opak oturum çerezi (HttpOnly; Secure; SameSite=Lax, 14 gün kayan / 90 gün mutlak), TOTP MFA + kurtarma kodları (org düzeyinde zorunlu kılınabilir), Google/GitHub OAuth, SAML/OIDC SSO, giriş kilidi (5 hata → 15 dk), yeni cihaz e-postası, isteğe bağlı Turnstile
Public APIAuthorization: Bearer hs_live_… API anahtarı: SHA-256 ile saklanır, kapsamlı, app/org kapsamı, IP izin listesi, bitiş tarihi, iptal ≤ 5 sn
SDK uçlarıAPI anahtarı yok; sahiplik kanıtı token_hash ve identity verification (identity_hash HMAC ya da ES256 JWT)
Platform adminAyrı rol, zorunlu MFA (ADMIN_MFA_REQUIRED), gerekçe zorunlu işlemler, salt okunur/yazma yetkili destek oturumu

Yol kanonikleştirme ve rota desenine göre kimlik türü ayrımı uygulanır: API anahtarı yalnızca /v1, oturum yalnızca /internal ve /admin rotalarında geçerlidir; /internal//admin mutasyonlarında Origin ve içerik türü denetlenir (CSRF).

Yetkilendirme (RBAC)

Roller: owner, admin, developer, marketer, composer, analyst, billing, viewer. İzin tablosu tek kaynaktan (packages/tenancy) hem API guard'larında hem dashboard menüsünde kullanılır; üyelik app_scopes ile belirli app'lere kısıtlanabilir. API anahtarı kapsamları, anahtarı oluşturan üyenin izinlerini aşamaz (yetki yükseltme engeli). Onay akışı açıkken marketer gönderemez, onaya sunar.

Kiracı izolasyonu

  • Her repository çağrısı TenantContext alır; kiracı bağlamı çözüldükten sonra istek tek transaction'da SET LOCAL app.current_org_id / app.current_app_id ile çalışır; uygulama rolü üretimde NOSUPERUSER NOBYPASSRLS'tir (Postgres rolleri).
  • Başka kiracının kaynağı 404 HS_NOT_FOUND döner (varlık sızdırılmaz).
  • Her endpoint için otomatik izolasyon testi (A kiracısının anahtarıyla B kaynağı) OpenAPI'den türetilir.
  • Depolama anahtarları org/{org_id}/app/{app_id}/… öneklidir; imzalı URL'ler 24 saat.
  • Veri yerleşimi: hücre (EU/TR) dışı istek 421 HS_WRONG_CELL; ağ politikası hücreler arası veri katmanı erişimini keser (veri yerleşimi).

Gizli bilgi yönetimi

  • Envelope encryption: MASTER_KEY → veri anahtarları (DEK) sarmalı; kayıt başına nonce, libsodium secretbox. Rotasyon komutu ve MASTER_KEY değişimi: anahtar rotasyonu.
  • Sağlayıcı kimlik bilgileri (APNs p8/p12, FCM servis hesabı, SMTP parolası, Twilio token), VAPID özel anahtarı, webhook secret'ları, SDK secret ve webhook özel başlıkları şifreli saklanır; API/UI'dan asla geri okunmaz.
  • Loglarda redaksiyon (token, e-posta, telefon, OAuth/MFA parametreleri); Sentry beforeSend ile gövde temizliği; CI'da gizli bilgi taraması.

Uygulama güvenliği

  • Zod şema doğrulaması her sınırda; JSON derinlik/boyut sınırları (1 MB, olay batch 5 MB).
  • SSRF: webhook, Data Feed, medya ve kiracı SMTP adresleri DNS çözümlemesi sonrası özel IP aralıklarına karşı denetlenir ve bağlantı IP'ye sabitlenir; yönlendirme izlenmez; Web Push uç noktası ve FCM token_uri izin listeleri.
  • Çıktı: e-posta/in-app HTML temizliği, Liquid sandbox, ReDoS'a karşı doğrusal HTML işleme; CSP, HSTS, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, X-Frame-Options.
  • İmzalar: giden webhook'lar Pushizo-Signature (HMAC-SHA256, 5 dk tolerans, 24 saat rotasyon penceresi); gelen sağlayıcı webhook'ları (SNS, Svix/Resend, Twilio) imza doğrulamalı; e-posta izleme bağlantıları HMAC imzalı (açık yönlendirme yok).
  • Hız sınırı ve kötüye kullanım: plan bazlı API hızı ve nginx IP sınırları (hız sınırları); yeni org için ilk 24 saat günlük 1000 mesaj; şikâyet/bounce eşiği aşılınca kanal askıya alma; tek kullanımlık e-posta alan adı listesi; platform admin inceleme kuyruğu.
  • Bağımlılıklar: npm audit, Dependabot, lockfile; CI'da gizli bilgi taraması (gitleaks).

Gözlemlenebilirlik ve denetim

  • Her yanıt x-request-id taşır; hata zarfındaki request_id ile loglar eşleşir.
  • Denetim kaydı (audit log): kim, ne, ne zaman, hangi kaynağa; org düzeyinde GET /v1/organization/audit-logs, günlük NDJSON SIEM akışı ve audit.created webhook'u (entegrasyonlar).
  • Prometheus metrikleri, Loki logları, Alertmanager alarmları ve blackbox probları (status ve izleme).

Uyum

  • KVKK / GDPR: veri işleyen rolü, kullanıcı ve hesap self-servis hakları, saklama süreleri, DPA ve alt işleyici listesi (KVKK/GDPR uyumu).
  • Kurumsal kimlik: SAML 2.0 / OIDC SSO, "yalnızca SSO", SCIM 2.0 kullanıcı/grup provizyonu (SSO, SCIM).
  • White-label ve bayi: özel alan adı, marka, bayi hesapları (white-label).
  • Güvenlik açığı bildirimi: https://pushizo.com/.well-known/security.txt.

Bu sayfada