İnsan uzmanlığı, yapay zekâ desteği, işinize uygun yazılım.
Benom Gündem

API güvenliği: işletmeler entegrasyonlarını nasıl korumalı?

OWASP API Security Top 10 ışığında erişim denetimi, kimlik doğrulama ve envanter kontrollerini işletmeler için açıklıyoruz.

API güvenliği: işletmeler entegrasyonlarını nasıl korumalı?

Kısaca: API güvenliği, yalnızca giriş ekranını korumak değil; her istekte kullanıcının hangi kayda ve işleme erişebileceğini doğrulamak, kaynak tüketimini sınırlamak ve uç noktaları güncel tutmaktır. OWASP API Security Top 10 (2023), bu riskleri geliştiricilerin ve işletmelerin gözden geçirebileceği başlıklarda toplar.

API güvenliği işletmeler için neden önemlidir?

Web sitesi, mobil uygulama, ERP ve ödeme altyapısı çoğu zaman API üzerinden veri alışverişi yapar. Bir API'deki yetki kontrolü eksikliği, uygulamanın farklı kullanıcıların kayıtlarına ulaşmasına veya beklenmeyen bir işlemi gerçekleştirmesine neden olabilir. Bu yüzden API güvenliği yalnızca yazılım ekibinin teknik konusu değildir; iş akışını ve verinin kim tarafından görüldüğünü belirler.

OWASP'ın 2023 listesi nesne düzeyi yetkilendirme, kimlik doğrulama, kaynak tüketimi, hassas iş akışları ve API envanterini öne çıkarır. Liste bir sertifika ya da her projede aynı risklerin bulunduğu iddiası değildir; tasarım ve test toplantılarında kullanılacak bir farkındalık çerçevesidir.

Kullanıcı yalnız kendi kayıtlarına mı erişiyor?

Bir uç nokta `/orders/123` gibi bir kayıt kimliği alıyorsa, oturum açmış olmak tek başına yeterli değildir. Sunucu, isteği yapan kullanıcının tam olarak o siparişi görme yetkisi olup olmadığını kontrol etmelidir. Kimlik numarasını değiştirerek başka müşterinin kaydına ulaşılmasını engelleyen kontrol, her ilgili işlemde sunucu tarafında uygulanmalıdır.

Benzer biçimde, kullanıcının gönderdiği alanların tümünü doğrudan kayda yazmayın. İstemci formunda gösterilmeyen `role`, `account_id` veya onay durumu gibi özellikleri kabul etmek yetki sınırını aşabilir. Sunucu, her işlem için izin verilen alanları belirlemeli ve güncelleme öncesinde yetkiyi doğrulamalıdır.

Kimlik doğrulama ve işlev izinleri nasıl ele alınmalı?

API kimlik doğrulaması, isteğin hangi kullanıcıya veya hizmete ait olduğunu kanıtlar. Yetkilendirme ise bu kimliğin hangi işlevi yapabileceğini söyler. Bu iki kontrolü birbirinin yerine kullanmayın. Örneğin yönetici işlevlerinin ayrı yetki kontrolü olmalı; menüde düğmeyi gizlemek sunucu denetiminin alternatifi değildir.

  • Token'ları kısa ve iş gereksinimine uygun ömürlü tasarlayın; iptal ve yenileme akışını belgeleyin.
  • Yetkiyi her istekte sunucu tarafında denetleyin.
  • Hizmetler arası erişimde gereğinden geniş izin vermeyin.
  • Başarısız giriş ve şüpheli istekleri izleyin; hassas veriyi günlüklere dökmeyin.
  • Yetki değişikliklerini ve yönetici eylemlerini denetlenebilir biçimde kaydedin.

Kimlik doğrulama mekanizmasının güvenliği kullanılan protokole ve uygulamaya bağlıdır; tek bir yapılandırma tüm projelere uymaz. İnceleme, kullanılan sağlayıcının güncel teknik belgelerine göre yapılmalıdır.

Kaynak tüketimi ve hassas iş akışları nasıl korunur?

Bir API isteği işlemci, bellek, depolama veya ücretli üçüncü taraf çağrıları tüketebilir. Sayfalama sınırları, istek boyutu, hız sınırlama ve maliyetli işlevler için uygun kotayı tanımlayın. Bu sınırlar gerçek kullanım ve iş etkisine göre belirlenmelidir; evrensel bir sayı yoktur.

Bilet satın alma, yorum yayımlama veya toplu mesaj gönderme gibi işlevler teknik olarak doğru çalışsa bile otomasyonla aşırı kullanıldığında işletmeye zarar verebilir. İstek başına sınırın yanında iş akışını koruyan kontroller, doğrulama adımları ve anomali izlemesi düşünülmelidir. Kontrolü kullanıcıyı gereksiz yere engellemeyecek biçimde tasarlamak da önemlidir.

Üçüncü taraf hizmetlerden gelen yanıtları otomatik olarak güvenilir saymayın. Şemayı ve değerleri doğrulayın; beklenmedik yönlendirme veya içeriklerin hassas işlemlere taşınmasını önleyin. OWASP, güvenli olmayan API tüketimini bağımsız bir risk alanı olarak listeler.

API envanteri ve sürüm yönetimi nasıl yapılır?

Geliştirme, test ve üretim ortamlarında hangi hostların ve API sürümlerinin çalıştığını güncel tutun. Eski sürümler, deneme uç noktaları ve hata ayıklama servisleri dokümantasyonda unutulabilir. Envanterde her uç noktanın sahibi, amacı, ortamı, veri türü ve kapatılma planı bulunmalıdır.

Yeni sürüm devreye alınırken eski sürümün kimlerce kullanıldığını ölçün ve geçiş takvimi belirleyin. Kullanılmayan uç noktayı kapatmadan önce bağımlı istemcileri doğrulayın. API belgeleri ile üretimde çalışan yapı arasında fark oluşursa güvenlik incelemesi de eksik yüzeye bakabilir.

İşletmeniz bugün hangi adımları atabilir?

Başlangıç için dışarı açık API'leri ve bunlara bağlanan uygulamaları listeleyin. Sonra kritik veri ve işlemleri belirleyip her biri için erişim kontrolü, doğrulama, sınırlandırma ve kayıt tutma sorularını yanıtlayın. İncelemeyi yalnızca kod yayımlanırken değil, yeni entegrasyon veya yetki değişikliği olduğunda da tekrarlayın.

Önceliklendirme için şu kısa listeyi kullanın:

  • Kullanıcı girdisiyle seçilen her nesnede sahiplik ve erişim denetimi yapılıyor mu?
  • Yönetici işlevleri ile standart kullanıcı işlevleri ayrılmış mı?
  • Büyük istekler ve maliyetli işlemler sınırlandırılmış mı?
  • Üretim dışı ve eski API uç noktaları envanterde mi?
  • Üçüncü taraf yanıtları şema ve içerik açısından doğrulanıyor mu?
  • Hata kayıtları olayın anlaşılmasına yetecek bilgiyi içerirken sırları saklıyor mu?

Benom Yazılım; özel yazılım, entegrasyon ve API geliştirme hizmetleri sunar. Projenizde güvenlik değerlendirmesi gerekiyorsa kapsamı ve kullanılan teknolojileri uzman ekiple birlikte belirleyin. Bu gelişme işletmeniz/siteniz için ne anlama geliyor? API'lerinizin erişim sınırları, kullanıcı verisinin hangi uç noktalardan geçtiği kadar önemlidir; düzenli envanter ve yetki testini geliştirme sürecinin parçası yapın. Projenizi konuşalım.

Sık sorulan sorular

API güvenliği için ilk kontrol ne olmalı?

Önce dışarı açık uç noktaları ve taşıdıkları veriyi envantere alın. Ardından her nesne ve işlev için sunucu tarafı yetkilendirme kontrolünü doğrulayın.

Oturum açmış kullanıcı API’de her kayda erişebilir mi?

Hayır. Kimlik doğrulama kullanıcının kim olduğunu, yetkilendirme hangi kayda ve işleme erişebileceğini belirler. Her istek için uygun erişim kontrolü gerekir.

Eski API sürümleri neden risk oluşturur?

Artık kullanılmayan sürümler güncelleme ve izleme dışında kalabilir ya da gereksiz işlevleri açık tutabilir. Envanter, sahiplik ve geçiş planıyla sürümleri düzenli yönetin.

Benom Gündem’e dönBu konuyu konuşalım