0Pricing
Cryptology Academy · Ders

Güvenli JWT Uygulaması için En İyi Uygulamalar

JWT'leri üretim uygulamalarında güvenle saklayın, yenileyin ve iptal edin.

Güvenli JWT Uygulaması için En İyi Uygulamalar, CoddyKit'te ücretsiz bir Cryptology Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cryptology Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cryptology Academy kursu toplamda 4 dersten oluşur.

Temel İlke

JWT'ler yalnızca uygulamaları kadar güvenlidir. Belirtim esnektir; bu esneklik güvenlik açıkları oluşturur. Üretim sistemlerinde kimlik doğrulamanın atlatılmasına yol açan yaygın sorunlardan kaçınmak için aşağıdaki en iyi uygulamaları izleyin.

Algoritmayı Sabitleyin

Beklenen algoritmayı her zaman açıkça belirtin: jwt.decode(token, key, algorithms=["RS256"]). Doğrulama anahtarını veya kod yolunu seçmek için algoritmayı asla belirtecin üstbilgisinden okumayın. Bu, alg=none ve anahtar karışıklığı saldırılarını önler.

Kısa Süre + Yenileme Belirteçleri

Erişim belirteçleri: 15-60 dakika. Yenileme belirteçleri: 7-30 gün; httpOnly çerezlerinde (localStorage'da değil) saklayın. Süre dolduğunda istemci, yeniden kimlik doğrulaması yapmadan kimlik doğrulama sunucusundan yeni bir erişim belirteci almak için yenileme belirtecini kullanır.

Hedef Kitle ve Yayımcı Doğrulaması

Belirtecin başka bir hizmet için değil, sizin hizmetiniz için yayımlandığından emin olmak üzere aud (hedef kitle) değerini doğrulayın. iss (yayımcı) değerini kimlik doğrulama sunucunuzun URL'sine karşı doğrulayın. Bu denetimler olmadan, aynı anahtarla imzalanmış başka bir uygulamaya ait belirteç kabul edilir.

Belirteçlerin Saklanması

Erişim belirteçlerini bellekte (JS değişkeninde) tutun; sekme kapatıldığında temizlenir. Yenileme belirteçlerini httpOnly, Secure, SameSite=Strict çerezlerinde tutun; bunlara JavaScript erişemez. JWT'leri asla localStorage'da saklamayın; XSS bunları çalabilir.

İptal Stratejisi

JWT'ler durum bilgisi tutmaz; yerleşik bir iptal mekanizması yoktur. Seçenekler: her istekte denetlenen bir iptal listesi (engelleme listesi) tutmak; çok kısa bir geçerlilik süresi kullanmak; yüksek güvenlik gerektiren bağlamlarda merkezi aramayla opak belirteçler kullanmak.

Anahtar Yenileme

İmzalama anahtarlarını düzenli olarak yenileyin. Farklı kid değerlerine sahip birden çok anahtarı JWKS'de yayımlayın. Yenileme sırasında: yeni belirteçleri yeni kid ile çıkarın, eski belirteçlerin süresi dolana kadar eski anahtarı etkin tutun, ardından eski anahtarı JWKS'den kaldırın.

Yükte Hassas Veriler

Hassas verileri (parolalar, SSN'ler, kredi kartları) asla JWT yüküne koymayın; yük base64url ile kodlanır, şifrelenmez. Şifrelenmiş alanlara ihtiyacınız varsa JWE (JSON Web Encryption) kullanın veya hassas verileri sunucu tarafında tutun.

Yalnızca HTTPS

JWT'leri yalnızca HTTPS üzerinden iletin. HTTP üzerinden ele geçirilen bir JWT, kimlik doğrulamayı tamamen atlatma imkânı verir. Çerezlerde Secure bayrağını ayarlayın. Protokolün daha düşük bir sürüme geçirilmesini önlemek için HSTS kullanın. Tam JWT dizelerini sunucu günlüklerine asla kaydetmeyin.

Kütüphane Seçimi

Bakımı düzenli yapılan kütüphaneler kullanın: PyJWT 2+, python-jose, auth0/node-jsonwebtoken 9+, Nimbus JOSE + JWT (Java). JWT doğrulamasını sıfırdan uygulamaktan kaçının. Kütüphane güvenlik açıkları için CVE veritabanlarını düzenli olarak denetleyin.

Sınama

Tüm saldırı vektörlerini sınayın: alg=none belirteci, RS256→HS256 karışıklığı belirteci, süresi dolmuş belirteç, yanlış hedef kitle belirteci ve değiştirilmiş yük gönderin. Sınama belirteçleri oluşturmak için jwt.io kullanın. Bunların 401 ile reddedildiğini doğrulayan tümleştirme sınamaları ekleyin.

Hızlı Kontrol

Yenileme belirteçleri bir web uygulamasında nerede saklanmalıdır?

Özet

Güvenli JWT kullanımı; sabitlenmiş algoritmalar, kısa erişim belirteci süresi, yenileme belirteçleri için httpOnly çerez depolaması, hedef kitle/yayımcı doğrulaması ve anahtar yenilemesi gerektirir. Sıradaki konu: kriptografik gizli paylaşım şemaları.

Sıkça Sorulan Sorular

“Güvenli JWT Uygulaması için En İyi Uygulamalar” dersi ücretsiz mi?

Evet — “Güvenli JWT Uygulaması için En İyi Uygulamalar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cryptology Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cryptology Academy kursu toplamda 4 dersten oluşur.

“Güvenli JWT Uygulaması için En İyi Uygulamalar” dersinde ne öğreneceğim?

JWT'leri üretim uygulamalarında güvenle saklayın, yenileyin ve iptal edin. Cryptology Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Cryptology Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Cryptology Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Güvenli JWT Uygulaması için En İyi Uygulamalar” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Cryptology Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Cryptology Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. JWT Anatomisi: Üst Bilgi, Yük ve İmza
  2. HS256 ve RS256: Simetrik ve Asimetrik JWT'ler
  3. JWT Güvenlik Açıkları: alg=none ve Anahtar Karışıklığı
  4. Güvenli JWT Uygulaması için En İyi Uygulamalar
← Cryptology Academy Sayfasına Dön