PruvaBelgeler

Güvenlik

Veritabanının uyguladığı 13 kural, demo koruması ve giden istekler ile yönlendirmelerin nasıl denetlendiği.

Sigortacılar Pruva sayılarına göre fiyatlar; bu yüzden erişim kuralları uygulamanın doğru davranmasına bağlı kalamaz. Aşağıdaki her kural Postgres'te satır düzeyi güvenlik, sütun yetkileri veya tetikleyicilerle uygulanır. Her birinin RLS takımında bir testi vardır: ilgili rolle oturum açar ve yasak eylemin başarısız olduğunu kontrol eder.

13 kural

  1. Bir çalışma alanının ne için ödediğini yalnızca mağaza değiştirir. Bir yetkideki kademe, durum ve dönem sonu yalnızca mağazanın servis rolü tarafından yazılabilir. Bir modülü active yapmaya çalışan sahip hata alır.
  2. Yeni modüller kilitli başlar ve kilitli bir modül açılamaz. Yetkiler varsayılan olarak locked olur. Sahip, kilitli bir modülü etkinleştiremez; örneğin demodaki Belgeler.
  3. Okumaları yalnızca servis yazar. Sensör verisi, risk puanları, emisyonlar, CII dereceleri ve poliçelerin oturum açmış kullanıcılar için ekleme, güncelleme veya silme hakkı yoktur. Sahip bile bunları değiştiremez.
  4. Prim kararları publish ister ve inceleyen sabitlenir. Bir prim ayarlamasını kabul veya reddetmek, Sigorta üzerinde publish ister. Veritabanı inceleyeni değişikliği yapan kişi olarak yazar; sahte bir inceleyenin üzerine yazılır.
  5. Mürettebatı bilgilendir publish ister ve ajanlar bunu asla yapamaz. Bir uyarıyı mürettebat bilgilendirildi olarak işaretlemek, Öngörülü bakım üzerinde publish ister. Birisi vermeye çalışsa bile ajanlar reddedilir.
  6. Uyarı model değerleri salt okunurdur. Kullanıcılar bir uyarının durumunu ve notunu güncelleyebilir. Şiddet, olasılık ve pencereyi yalnızca model yazar.
  7. Erişim yoksa satır da yoktur. Kilitli veya kapatılmış bir modül ya da none düzeyi, o modüldeki her tablodan sıfır satır döndürür. Underwriter sıfır uyarı okur. Belgeler kilitliyken herkes sıfır belge okur.
  8. Underwriter yalnızca paylaşılan gemileri görür. Demoda bu, 18 gemiden 6'sıdır. Bkz. Gemileri paylaşma.
  9. Bildirimler yeniden yazılamaz. Kullanıcılar bir bildirimi yalnızca okundu işaretleyebilir. Başlığını, metnini veya bağlantısını değiştirmek, örneğin bir oltalama sayfasına, başarısız olur.
  10. Denetim kayıtları yalnızca kendiniz olarak yazılır. Bir kayıt, aktör olarak oturum açmış kullanıcıyı adlandırmalıdır. Bir ajan veya başka bir kişi adına yazmak başarısız olur.
  11. Ajanlar asla publish tutmaz ve üyeler erişimi değiştiremez. Bir ajana publish vermek başarısız olur. Erişim düzeylerini yalnızca sahipler ve yöneticiler değiştirebilir.
  12. Rapor ibrazı publish ister ve sabitlenir. Bir rapor ibraz etmek, Emisyon üzerinde publish ister. Veritabanı kimin, ne zaman ibraz ettiğini kaydeder.
  13. Bağlantıları yalnızca sahipler ve yöneticiler değiştirir. Kişiler bir bağlayıcının açık olup olmadığını, hesabı ve bir https uç noktasını seçer. Durum, son eşitleme ve sorun metni yalnızca eşitleme servisinden gelir; bu yüzden bozuk bir bağlantı elle sağlıklı işaretlenemez.

Demo kipi

  • Dışarıya istek yok. Demo kipinde uygulama üretilmiş veriyi okur ve hiçbir dış servisi çağırmaz. Uçtan uca testler üçüncü taraf isteklerini engeller ve herhangi biri denenirse başarısız olur.
  • Üretimde reddedilir. DEMO_MODE=true ve NODE_ENV=production ise uygulama başlangıçta bir hatayla durur. Gerçek verisi olmayan herkese açık bir demo, bilerek ALLOW_DEMO_IN_PROD=1 ayarlamalıdır.
  • Görünür. Her sayfadaki bir şerit bunun demo olduğunu söyler ve gönderecek, yayımlayacak veya harcayacak her düğme bunun yerine bir uyarı gösterir.

Giden istekler

Kullanıcının girdiği her URL, örneğin bir ağ geçidi webhook'u veya sigortacı portal adresi, çağrılmadan önce URL korumasından geçer. Şunlara izin verir:

  • yalnızca varsayılan portta https,
  • URL'de kullanıcı adı veya parola yok,
  • localhost, .local, .internal veya tek etiketli ana makine adları yok,
  • özel veya ayrılmış aralıklardaki IP adresleri yok (IPv4 ve IPv6).

Çağıran taraf, bağlanmadan hemen önce çözümlenen adresi de kontrol eder; böylece sonradan özel bir adrese işaret eden bir ana makine adı reddedilir.

Güvenli yönlendirmeler

Oturum açıldıktan sonra Pruva yalnızca aynı sitedeki bir yola yönlendirir. //evil.example gibi bir next değeri, tam bir URL, ters eğik çizgi hilesi veya bir kontrol karakteri /app yoluna döner.

Mağaza iletisi

Site her ödemeyi HMAC-SHA256 ve paylaşılan bir sırla imzalar. Uygulama yanlış imzayı veya 5 dakikadan eski bir iletiyi reddeder. Üretimde site, yerleşik demo sırrıyla imza atmaz. Bkz. Yetkiler.

Bir sorunu bildirmek

Bu özel bir derlemedir. Güvenlik sorunlarını herkese açık bir kanalda değil, doğrudan Pruva ekibine bildirin.

Bu sayfada