İçeriğe geç

Güvenlik

Konukseverlik gibi hissettiren güvenlik.

Bir kimlik sağlayıcısı, kiracıları arasındaki duvarlar ve gizli bilgilere gösterdiği özen kadar iyidir. Usher Identity’nin nasıl kurulduğunu burada anlatıyoruz. Yazılımın ne yaptığını açıklıyoruz; herhangi bir sertifika iddiasında bulunmuyoruz.

Mimari

Ayrı alan adları, ayrı ağlar.

Usher Identity’nin kendi sayfaları ve her müşterinin yayıncısı, farklı kayıt edilebilir alan adlarında bulunur. Veritabanları internete erişemeyen bir ağda durur ve dışarıya açılan tek yol, nereye gittiğini denetleyen bir proxy’dir.

  • Caddy her ana makine için TLS’i sonlandırır ve yalnızca Usher Identity’nin kendi hizmetlerinin ayarlayabileceği üst bilgileri temizler.
  • Kimlik doğrulama katmanı her ortama, ana makine adına göre ayırt ederek yanıt verir; bir ana makine için önbelleğe alınan hiçbir şey başka birine sunulmaz.
  • Her hizmet Valkey ile kendi kullanıcısı olarak ve yalnızca kendi anahtarlarıyla sınırlı biçimde konuşur. Varsayılan kullanıcı yoktur.
  • Belirteç ve kod taşıyan sorgular, değerleriyle birlikte asla veritabanı günlüğüne yazılmaz.

İnternet

İnsanlar, uygulamalarınız, sunucularınız

Kenar

Caddy: TLS, HSTS, iç üst bilgileri temizler

usheridentity.com

Site ve Console

usheridentity.com, console.usheridentity.com

API

api.usheridentity.com

*.usherid.com

Kimlik doğrulama katmanı

Her ortamın yayıncısı ve Lobby’si

Veri ağı · dışarıya yol yok

Postgres

Her ortam için bir şema

Valkey

Her hizmet kendi anahtarlarıyla sınırlı

Dışarıya tek yol

Çıkış proxy’si

Müşterinin verdiği her URL için

Keşif, JWKS, oturum kapatma

Yalnızca genel adresler

Usher Identity’nin katmanları. Kiracı alan adı, platformunkinden farklı, kayıt edilebilir bir alan adıdır; bu yüzden bir kiracının sayfaları Console ile asla aynı sitede (same-site) olmaz.

Yalıtım

Önemli hiçbir şey paylaşılmaz.

Her proje ortamının kendi Postgres şeması, kendi imzalama anahtarları ve kendi veri anahtarıyla mühürlenmiş kendi gizli bilgileri olur. Yayıncısı, kiracı alan adındaki bir ana makinedir ve çerezleri yalnızca o ana makineye aittir; bu yüzden bir tarayıcı bir ortamın çerezini asla başka bir ortama göndermez.

usheridentity.com

Site, Usher Identity Console, Usher Identity hesapları

*.usherid.com

Her ortam için ayrı bir alan adında bir yayıncı

Ortam

Kullanıcılar, oturumlar ve belirteçler bu ortam için oluşturulmuş bir şemada durur. Sorgular asla kiracı sütunlu paylaşılan bir tabloda değil, bu şemada çalışır.

Acme üretim ortamının mühürlü Google istemci gizli anahtarını Northwind üretim ortamına kopyala.

Bekleyen veri şifreleme

Yerine bağlı zarf şifreleme.

Usher Identity’ye verdiğiniz gizli bilgiler, tek bir ortama ait bir veri anahtarı altında AES-256-GCM ile mühürlenir. Veri anahtarları da veritabanının dışında tutulan, sürümlü bir ana anahtarla sarmalanır.

Ortam başına veri anahtarları
Bir ortamın veri anahtarının ele geçirilmesi, başka bir ortamınki hakkında hiçbir şey açığa çıkarmaz.
AAD bağlama
Ortam ve amaç, her şifreli metne bağlanır; böylece bir değer satırlar ya da kiracılar arasında taşınamaz.
Sürümlü anahtarlar
Mühürlü her değer, hangi anahtar sürümüyle oluşturulduğunu kaydeder; böylece anahtarlar döndürülebilir ve eski değerler yeniden sarmalanabilir.
Kimliği doğrulanmış
GCM etiketi sayesinde kurcalanmış bir değer, başka bir şeye çözülmek yerine hiç açılmaz.
  1. Ana anahtar

    Veritabanının dışında tutulur, sürümlüdür

  2. Veri anahtarı, her ortam için bir tane

    Ana anahtarla sarmalanır

  3. Gizli bilgi

    Veri anahtarı altında AES-256-GCM ile mühürlenir

u1.<key version>.<iv>.<ciphertext + tag>

aad = u1 | version | environment | purpose

Mühürlü bir değer, doğrulanmış verisinde ortamının ve amacının adını taşır. Başka bir yere kopyalanırsa açılmaz.

Yöntemler

Ayrıntılar, özenle.

  • Parolalar, kullanırsanız

    OWASP’ın önerdiği maliyetle (19 MiB, iki geçiş) Argon2id ile karma değerine dönüştürülür; aynı anda kaç tanesinin çalışacağına bir sınır konur, böylece bir giriş seli hizmeti çökertemez. Yeni parolalar, Have I Been Pwned hizmetinin aralık API’siyle bilinen ihlallere karşı denetlenir; bu API parolanın karma değerinin yalnızca kısa bir önekini görür. Varsayılan en kısa uzunluk 12’dir.

  • Yeniden oynatılabilecek hiçbir şey saklanmaz

    İstemci gizli anahtarları, belirteçler, sihirli bağlantı belirteçleri ve e-postayla gönderilen kodlar karma değer olarak saklanır. Yedek kodlar şifrelenir. Bir yetkilendirme kodu beş dakika geçerlidir; e-postayla gönderilen bir kod üç deneme hakkı tanır.

  • Her kapıda hız sınırı

    Giriş, kayıt, e-postayla gönderilen kodlar, sihirli bağlantılar, parola sıfırlama ve ikinci faktör denetimlerinin her birinin kendi sınırı vardır: örneğin dakikada on parolayla giriş ve her on dakikada beş e-posta kodu.

  • Katı bir Content-Security-Policy

    Her Lobby sayfası yeni bir nonce ve onun çevresinde kurulmuş bir ilke alır: yalnızca bu kaynaktan gelen ve nonce taşıyan betikler çalışır, formlar yalnızca aynı kaynağa gönderilir ve başka siteler sayfayı çerçeve içine alamaz.

  • Güvenebileceğiniz bir denetim günlüğü

    Çalışma alanlarına, projelere ve ortamlara yapılan değişiklikler, yalnızca sona ekleme yapılabilen bir günlüğe yazılır. Her kayıt bir öncekine karma zinciriyle bağlıdır; böylece düzenlenmiş ya da eksik bir kayıt hemen belli olur.

  • Müşteri URL’leri için bir çıkış proxy’si

    Usher Identity’nin, bir müşterinin verdiği adrese yaptığı her istek (OIDC keşfi, JWKS, arka kanal oturum kapatma) tek bir proxy üzerinden çıkar. Proxy adı bir kez çözümler; özel, geri döngü, bağlantı yerel ve bulut meta veri adreslerini reddeder ve denetlediği adrese bağlanır. Böylece DNS yeniden bağlama, bir müşteri URL’sini iç adrese dönüştüremez.

  • Asla iki kez verilmeyen kısa adlar

    Bir üretim ortamının kısa adı, yayıncısının ilk etiketidir. Console’a yalnızca davetle girilir, kimlik avı için bildirilen bir Lobby askıya alınır ve bir kez kullanılmış bir kısa ad asla yeniden verilmez; çünkü eski uygulamalar onun belirteçlerine hâlâ güveniyor olabilir.

  • Siz dediğinizde biten oturumlar

    Usher Identity önbellekteki bir kopyaya güvenmek yerine kendi oturumlarını her istekte denetler; böylece sonlandırdığınız bir oturum anında biter. Erişim belirteçleri kısa ömürlüdür (varsayılan olarak on dakika) ve API’niz onları sorgulayabilir.

Sorumlu bildirim

Bir şey mi buldunuz? Önce bize söyleyin.

Usher Identity’de bir güvenlik sorunu bulduğunuzu düşünüyorsanız bunu duymak isteriz ve düzeltmek için sizinle birlikte çalışırız.

security@usheridentity.com
  • Ne bulduğunuz, nerede bulduğunuz ve nasıl yeniden oluşturulacağı.
  • Anladığınız kadarıyla, birinin bununla neler yapabileceği.
  • Size nasıl ulaşabileceğimiz ve adınızın anılmasını isteyip istemediğiniz.

Lütfen yalnızca size ait ortamlarda test yapın, başkalarının verilerine erişmeyin ve sorunu paylaşmadan önce düzeltmemiz için bize makul bir süre tanıyın. Usher Identity giriş sayfası gibi görünen bir sayfayı bildirmek için Kötüye kullanımı bildir sayfasına bakın.