Ajan Kimlik Bilgisi Web Kancası Olayları ve Zaman Damgasının Neden Arayacağınız Yerde Olmadığı

Ne aldığınız

Bir uç nokta ve bir olay listesi abone edin, abonelik yanıtı bir imzalama sırrı döndürüyor. O sır o tek yanıtta beliriyor ve bir daha asla.

Teslimler imzalı istekler olarak geliyor, başarısız olduklarında üstel geri çekilmeyle yeniden denenerek.

İmza ve insanları tökezleten kısım

Her teslim, istek gövdesi üzerinde bir HMAC taşıyor, sizin sırrınızla anahtarlanmış hâlde, değerinde algoritma adlandırılmış bir imza başlığında.

Başlıklar olay adını ve bir teslim tanımlayıcısını taşıyor, zaman damgası taşımıyor. Web kancası teamülleri genellikle bir zaman damgasını bir başlığa koyar ve onu gövdeyle birlikte imzalar, dolayısıyla örüntüyü bilen bir alıcı başlıklara bakacak, zaman damgası görmeyecek ve tazeliği kontrol edecek bir şey olmadığı sonucuna varacaktır.

Var. Gövdenin içinde ve imzalanan şey gövdedir. Her teslimin JSON'u kendi tanımlayıcısını, olay adını ve oluşturulma zamanını taşıyor.

Yani yeniden oynatma savunması mevcut ve tamamen sizin işiniz:

  1. İmzayı ham gövde üzerinde doğrulayın, onu ayrıştırmadan önce, sabit zamanlı bir karşılaştırmayla.
  2. Oluşturulma zamanını gövdenin içinden okuyun ve seçtiğiniz bir sınırdan eski teslimleri reddedin.
  3. Teslim tanımlayıcısını saklayın ve bir tekrarı geri çevirin, çünkü yeniden denemeler en az bir kez demektir ve yakalanmış bir teslim geçerli biçimde imzalı kalır.

Protokoldeki hiçbir şey üçünü de zorunlu kılmıyor, ki bir dipnot değil ilk bölüm olmalarının sebebi budur.

Giden istek çoğundan iyi sertleştirilmiş

Özel, geri döngü, yerel bağlantı ve bulut üstveri adres aralıkları geri çevriliyor ve yönlendirmeler izlenmiyor.

Ve kontrol teslim zamanında, adres sabitlenmiş hâlde yeniden çalışıyor. Abone olduğunuzda doğrulamadan geçmiş ve adı sonradan iç bir adrese çözümlenen bir uç nokta teslimde geri çevriliyor.

Bu, kontrol etmek ile bağlanmak arasındaki boşluğu kapatıyor, ki çoğu uygulamanın açık bıraktığı boşluk odur. Bunu açıkça söylemeyi hak ediyor, çünkü bir özellik listesinde hiç görünmeyen türden bir özendir.

Her yük bir izin listesidir

Bir ajan kaydı, ajanın tanımlayıcısını, merkeziyetsiz tanımlayıcısını ve saklama kipini taşıyor. Bir kimlik bilgisi verilişi ya da iptali, kimlik bilgisi tanımlayıcısını, ajan tanımlayıcısını ve kimlik bilgisi türünü taşıyor.

Yükün tamamı budur. İddia yok, güvence düzeyi yok, işletmeci kimliği yok, bir özne hakkında hiçbir şey yok.

Sonuç asıl noktadır: bir tabloya eklenen yeni bir sütun gelecek hafta web kancanızda belirmiyor. Binadan çıkan her şey filtrelenmek yerine tek tek sayılıyor, ki bir şema büyürken güvende kalan tek kurgu budur.

Bu sayfa ajan ve kimlik bilgisi olaylarını kapsıyor ve ürünün yaydığı her olayı listelediğini iddia etmiyor.

Teslim anlamları, karşısında inşa edebilesiniz diye belirtilmiş

Bizim tarafımızda tekrarlanabilir. Çoktan teslim edildi olarak işaretlenmiş bir teslim, tekrarlanan bir işle yeniden gönderilmiyor.

Sizin tarafınızdan en az bir kez. Yeniden denemeler var, dolayısıyla olamayacağını varsaymak yerine yinelemeleri planlayın.

Deneme sayıları dürüst. Başarısız bir deneme, bir başarıya yedirilmek yerine başarısız olarak kaydediliyor, ki eksik bir olayda ilk kez hata ayıklarken bu önem taşıyor.

Yapmadıklarımız

Zaman damgası başlığı yok, ki bu bir güvenlik açığından çok bir teamül açığıdır ve çözüm ya bir başlık ya belgelemedir. Şu anda belgeleme bu sayfadır.

Yayımlanmış alıcı örneği yok. Yukarıdaki üç adım bir şartnamedir, test edilmiş bir parçacık değil ve bu sayfa aksini iddia etmiyor.

Okumaya devam edin

Ajan Kimlik Bilgisi Web Kancası Olayları ve Zaman Damgasının Neden Arayacağınız Yerde Olmadığı · Solidus · Solidus Agents