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
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ı
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.
Ana anahtar
Veritabanının dışında tutulur, sürümlüdür
Veri anahtarı, her ortam için bir tane
Ana anahtarla sarmalanır
Gizli bilgi
Veri anahtarı altında AES-256-GCM ile mühürlenir
u1.<key version>.<iv>.<ciphertext + tag>
aad = u1 | version | environment | purpose
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.
- 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.