Ana içeriğe geç

Kimlik Doğrulama Hataları

Sorunun Belirtileri​

uyarı

Kimlik doğrulama hataları genellikle aşağıdaki belirtilerle kendini gösterir:

  • 401 Unauthorized hataları
  • 403 Forbidden hataları
  • Token doğrulama hataları
  • Kullanıcı giriş sorunları
  • API key doğrulama hataları

Sorunun Nedenleri​

Kimlik doğrulama hataları genellikle şu faktörlerden kaynaklanabilir:

  • Geçersiz Kimlik Bilgileri: Yanlış kullanıcı adı, parola veya token
  • Token Süresi Dolmuş: Token'ın expiration süresinin dolması
  • Yanlış Token Formatı: Token formatının beklenen formatta olmaması
  • Identity Provider Sorunları: LDAP, Database veya Security Manager sorunları
  • Politika Yapılandırma Hataları: Authentication politikasının yanlış yapılandırılması
  • Network Sorunları: Identity provider'a erişim sorunları
  • Certificate Sorunları: mTLS veya JWT sertifika sorunları

Tespit Yöntemleri​

1. Log Analizi​

Log Dosyalarını Kontrol Et

Kimlik doğrulama hatalarını log dosyalarında arayın:

kubectl logs <pod-name> | grep -i "authentication"
kubectl logs <pod-name> | grep -i "401"
kubectl logs <pod-name> | grep -i "403"
kubectl logs <pod-name> | grep -i "unauthorized"

2. Analytics Dashboard​

bilgi

Analytics dashboard'da authentication hatalarını izleyin:

  • Authentication başarısızlık oranı
  • Hata tipi dağılımı
  • Endpoint bazlı hata analizi
  • Kullanıcı bazlı hata analizi

3. Policy Test​

Authentication politikasını test edin:

  • Test endpoint kullanarak politikayı test edin
  • Farklı kimlik bilgileri ile test yapın
  • Policy log'larını kontrol edin

Çözüm Önerileri​

1. Kimlik Bilgilerini Kontrol Etme​

Kimlik bilgilerini kontrol edin:

  • Kullanıcı adı ve parola doğru mu?
  • Token geçerli mi ve süresi dolmamış mı?
  • Token formatı doğru mu?
  • API key geçerli mi?

2. Token Yönetimi​

Token yönetimini kontrol edin:

  • Token expiration sürelerini kontrol edin
  • Token refresh mekanizmasını kontrol edin
  • Token formatını doğrulayın
  • Token signature'ını kontrol edin

3. Identity Provider Bağlantısını Kontrol Etme​

Identity provider bağlantısını kontrol edin:

LDAP:

  • LDAP sunucu erişilebilir mi?
  • Bind DN ve password doğru mu?
  • Base DN ve search filter doğru mu?

Database:

  • Veritabanı bağlantısı çalışıyor mu?
  • Kullanıcı tablosu ve kolonları doğru mu?
  • Password hash algoritması doğru mu?

Security Manager:

  • Kullanıcı Security Manager'da tanımlı mı?
  • Kullanıcı aktif mi?
  • Roller doğru atanmış mı?

4. Authentication Politikası Yapılandırmasını Kontrol Etme​

Authentication politikası yapılandırmasını kontrol edin:

  • Doğru Identity Provider seçilmiş mi?
  • Username ve password variable'ları doğru mu?
  • Token location ve prefix ayarları doğru mu?
  • Condition'lar doğru yapılandırılmış mı?

5. Certificate Kontrolü (mTLS/JWT)​

Certificate'leri kontrol edin:

  • CA sertifikası doğru yüklenmiş mi?
  • Client sertifikası geçerli mi?
  • Certificate expiration tarihleri kontrol edildi mi?
  • mTLS'te politikadaki Kimlik Kaynağı seçimi, Kimlik Bilgisi'nin kullanıcı adı ile uyumlu mu?
  • mTLS'te sertifikayı imzalayan otorite, Kimlik Bilgisi'ne bağlı anahtar deposunda mevcut mu?
  • mTLS'te Kimlik Bilgisi'nin erişim listesinde ilgili API Proxy tanımlı mı?
  • mTLS'te ortam ayarlarında HTTPS ve mTLS etkin mi, TLS gateway üzerinde mi sonlanıyor?

6. Network ve Firewall Kontrolü​

Network ve firewall kurallarını kontrol edin:

  • Pod'ların Identity Provider'a erişimi var mı?
  • Port'lar açık mı?
  • Network policy'ler bağlantıyı engelliyor mu?

Yaygın Hata Senaryoları ve Çözümleri​

Senaryo 1: Token Süresi Dolmuş​

uyarı

Belirtiler:

  • 401 Unauthorized hatası
  • "Token expired" mesajı

Çözüm:

  • Token'ı yenileyin
  • Token expiration süresini artırın
  • Token refresh mekanizmasını kullanın

Senaryo 2: Yanlış Token Formatı​

uyarı

Belirtiler:

  • 401 Unauthorized hatası
  • "Invalid token format" mesajı

Çözüm:

  • Token formatını kontrol edin
  • Token prefix'ini kontrol edin (Bearer, Basic, vb.)
  • Token location'ı kontrol edin (Header, Query Parameter, vb.)

Senaryo 3: Identity Provider Bağlantı Hatası​

uyarı

Belirtiler:

  • 500 Internal Server Error
  • "Connection refused" veya "Timeout" mesajı

Çözüm:

  • Identity Provider erişilebilirliğini kontrol edin
  • Network bağlantısını kontrol edin
  • Connection pool ayarlarını kontrol edin

Senaryo 4: Kullanıcı Bulunamadı​

uyarı

Belirtiler:

  • 401 Unauthorized hatası
  • "User not found" mesajı

Çözüm:

  • Kullanıcının Identity Provider'da tanımlı olduğunu kontrol edin
  • User search filter'ı kontrol edin
  • Kullanıcı adı formatını kontrol edin

Önleyici Tedbirler​

1. Monitoring ve Alerting​

  • Authentication hata oranlarını izleyin
  • Anomali tespiti yapın
  • Alert'ler kurun

2. Test ve Doğrulama​

  • Düzenli authentication test'leri yapın
  • Farklı senaryoları test edin
  • Load test'lerde authentication'ı dahil edin

3. Documentation​

  • Authentication yapılandırmasını dokümante edin
  • Troubleshooting guide'ları hazırlayın
  • Best practice'leri paylaşın

İlgili Kaynaklar​