JWT Güvenlik Hataları ve Bunlardan Nasıl Kaçınılacağı

JWT, API kimlik doğrulaması için güçlüdür, ancak birçok üretim olayı JWT'nin kendisinden değil, uygulama hatalarından kaynaklanır. Uygulamanız erişim belirteçleri, yenileme belirteçleri ve rol talepleri kullanıyorsa güvenliğiniz ayrıntılara bağlıdır.
1) Herhangi Bir Algoritmayı Kabul Etme
Asla yalnızca belirteç başlığı tarafından gönderilen algoritmaya güvenmeyin. Sunucunuzun açık bir izin verilenler listesi uygulaması gerekir (örneğin, yalnızca RS256).
- Sunucu tarafında beklenen algoritmaları sabitleyin.
- Eksik veya beklenmedik
alg. içeren belirteçleri reddet - Olgun, aktif olarak bakımı yapılan JWT kitaplıklarını kullanın.
2) Uzun Ömürlü Erişim Tokenları
Bir erişim belirteci sızdırılırsa ve günlerce geçerli kalırsa, saldırganın çok fazla zamanı vardır. Erişim belirteçlerinin ömrünü kısa tutun ve yenileme akışına güvenin.
- Erişim jetonu: kısa TTL (5-15 dakika).
- Jetonu yenile: daha uzun TTL + rotasyon + iptal.
- Şüpheli etkinlik durumunda oturumları geçersiz kılın.
3) URL'lerde ve Günlüklerde Jetonların Sızdırılması
JWT'leri asla sorgu parametrelerine koymayın. URL'ler günlüklerde, analizlerde, tarayıcı geçmişinde ve yönlendirenlerde bulunur.
- Belirteçleri
Yetkilendirme: Taşıyıcı ...üstbilgisinde gönderin. - Günlüklerden ve APM izlemelerinden kimlik doğrulama başlıklarını temizleyin.
- İstemci hatası raporlamasında hassas alanları maskeleyin.
4) Zayıf Talep Doğrulaması
Doğrula iss, aud, exp, nbf ve iat. Ayrıca kiracı kimliği ve gerekli roller gibi iş kısıtlamalarını da doğrulayın.
- Süresi dolmuş veya henüz geçerli olmayan jetonları reddet.
- Hizmet başına beklenen kitleyi bağlayın.
- Sunucu tarafı kontrolleri olmadan rol taleplerine güvenmeyin.
5) Anahtar Rotasyon Stratejisi Yok
Anahtarlar sızdırılır, sertifikaların süresi dolar ve olaylar meydana gelir. Üretim lansmanından önce rotasyonu planlayın.
kidüstbilgilerini ve JWKS uç noktalarını kullanın.- Döndürme pencereleri sırasında çakışan anahtarları destekleyin.
- Anormallikler için imza doğrulama hatalarını izleyin.
Pratik Sertleştirme Kontrol Listesi
- Katı algoritma izin verilenler listesini zorunlu kılın.
- Kısa ömürlü erişim belirteçleri kullanın.
- Yenileme jetonlarını döndürün ve iptali destekleyin.
- Belirteçleri güvenli bir şekilde saklayın (Yalnızca http çerezlerini tercih edin).
- Tüm standart ve iş açısından kritik talepleri doğrulayın.
- İzleme ile anahtar yönlendirmeyi uygulayın.
İlgili Araçlar
- JWT Kod Çözücü — başlığı ve yükü güvenli bir şekilde inceleyin.
- Karma Oluşturucu — mesajı doğrulayın ve parmak izlerini dosyalayın.
- Şifre Oluşturucu — yönetici ve hizmet hesapları için güçlü sırlar oluşturun.