Aracılığıyla paylaş


API Management kullanarak OWASP API Güvenliği İlk 10 tehditlerini azaltma önerileri

UYGULANANLAR: Tüm API Management katmanları

Not

Bu makale, 2023 için en son OWASP API Güvenlik İlk 10 listesini yansıtacak şekilde güncelleştirildi.

Open Web Application Security Project (OWASP) Foundation, topluluk tarafından yönetilen açık kaynak yazılım projeleri, dünya çapında yüzlerce bölüm, on binlerce üye ve yerel ve küresel konferanslar düzenleyerek yazılım güvenliğini geliştirmek için çalışır.

OWASP API Güvenlik Projesi, API'lerin benzersiz güvenlik açıklarını ve güvenlik risklerini anlamak ve azaltmak için stratejilere ve çözümlere odaklanır. Bu makalede, Azure API Management'ı kullanarak OWASP tarafından 2023 listelerinde tanımlanan ilk 10 API tehdidini azaltmak için en son önerileri ele alıyoruz.

API Management, API güvenliği için kapsamlı denetimler sağlasa da, diğer Microsoft hizmetleri OWASP API tehditlerini algılamak veya bu tehditlere karşı koruma sağlamak için tamamlayıcı işlevler sağlar:

Bozuk nesne düzeyi yetkilendirmesi

Uygun yetkilendirme düzeyiyle korunmamış API nesneleri, zayıf nesne erişim tanımlayıcıları aracılığıyla veri sızıntılarına ve yetkisiz veri işlemeye karşı savunmasız olabilir. Örneğin, bir saldırgan yinelenebilen bir tamsayı nesne tanımlayıcısını kullanabilir.

Bu tehdit hakkında daha fazla bilgi: API1:2023 Bozuk Nesne Düzeyi Yetkilendirmesi

Öneriler

  • Nesne düzeyinde yetkilendirme uygulamak için en iyi yer arka uç API'sinin içindedir. Arka uçta, uygun olduğunda, etki alanı ve API için geçerli olan mantık kullanılarak istek (veya nesne) düzeyinde doğru yetkilendirme kararları oluşturulabilir. İstek sahibinin izinlerine ve yetkilendirmesine bağlı olarak, belirli bir isteğin yanıtta farklı ayrıntı düzeyleri oluşturabileceği senaryoları göz önünde bulundurun.

  • Güvenlik açığı bulunan geçerli bir API arka uçta değiştirilemiyorsa, API Management geri dönüş olarak kullanılabilir. Örneğin:

    • Arka uçta uygulanmadıysa nesne düzeyinde yetkilendirme uygulamak için özel bir ilke kullanın.

    • İç tanımlayıcıların kullanıma sunulmaması için, tanımlayıcıları istekten arka uça ve arka uçtan istemciye eşlemek için özel bir ilke uygulayın.

      Bu gibi durumlarda özel ilke, arama içeren bir ilke ifadesi (örneğin, sözlük) veya gönderme isteği ilkesi aracılığıyla başka bir hizmetle tümleştirme olabilir.

  • GraphQL senaryolarında, öğesini kullanarak validate-graphql-request ilkesi aracılığıyla nesne düzeyinde yetkilendirmeyi zorunlu kılınauthorize.

Bozuk kimlik doğrulaması

Bir sitenin veya API'nin kimlik doğrulama mekanizması, anonim kullanıcılara açık olduğundan özellikle savunmasızdır. Kimlik doğrulaması için gereken, unutulan parola veya parola akışlarını sıfırlama dahil olmak üzere varlıklar ve uç noktalar, açıklardan yararlanmayı önlemek için korunmalıdır.

Bu tehdit hakkında daha fazla bilgi: API2:2023 Bozuk Kimlik Doğrulaması

Öneriler

Bozuk nesne özellik düzeyi yetkilendirmesi

İyi API arabirimi tasarımı aldatıcı bir şekilde zordur. Genellikle, özellikle zaman içinde gelişen eski API'lerde istek ve yanıt arabirimleri, tüketen uygulamaların gerektirdiğinden daha fazla veri alanı içerir ve bu da veri ekleme saldırılarına olanak tanır. Saldırganlar belgelenmemiş arabirimler de bulabilir. Bu güvenlik açıkları saldırgana hassas veriler verebilir.

Bu tehdit hakkında daha fazla bilgi: API3:2023 Bozuk Nesne Özellik Düzeyi Yetkilendirmesi

Öneriler

  • Bu güvenlik açığını azaltmaya yönelik en iyi yaklaşım, arka uç API'sinde tanımlanan dış arabirimlerin dikkatli ve ideal olarak veri kalıcılığından bağımsız olarak tasarlandığından emin olmaktır. Bunlar yalnızca API tüketicileri için gereken alanları içermelidir. API'ler sık sık gözden geçirilmeli ve eski alanlar kullanımdan kaldırılmalı ve kaldırılmalıdır.
  • API Management'ta, bölünemez değişiklikleri, örneğin bir alanın arabirime eklenmesini ve hataya neden olan değişiklikleri uygulamak için sürümleri düzgün bir şekilde denetlemek için düzeltmeleri kullanın. Ayrıca, genellikle tüketiciye yönelik API'lerden farklı bir yaşam döngüsüne sahip olan arka uç arabirimlerini de sürümlemeniz gerekir.
  • Dış API arabirimlerini iç veri uygulamasından ayırma. API sözleşmelerini doğrudan arka uç hizmetlerindeki veri sözleşmelerine bağlamaktan kaçının.
  • Arka uç arabirimi tasarımını değiştirmek mümkün değilse ve aşırı veri önemliyse, yanıt yüklerini yeniden yazmak ve verileri maskeleyip filtrelemek için API Management dönüştürme ilkelerini kullanın. API Management'ta içerik doğrulaması , belgelenmemiş özelliklere veya yanlış değerlere sahip yanıtları engellemek için XML veya JSON şemasıyla kullanılabilir. Örneğin, yanıt gövdesinden gereksiz JSON özelliklerini kaldırın. Belgelenmemiş özelliklere sahip isteklerin engellenmesi saldırıları azaltırken, belgelenmemiş özelliklere sahip yanıtları engellemek olası saldırı vektörlerinin tersine mühendislik işlemini zorlaştırıyor. Validate-content ilkesi, belirtilen boyutu aşan yanıtları engellemeyi de destekler.
  • API şemasında tanımlanmamış hata içeren yanıtları engellemek için validate-status-code ilkesini kullanın.
  • Şemada tanımlanmayan veya şemadaki tanımlarına uymayan üst bilgiler içeren yanıtları engellemek için validate-headers ilkesini kullanın. set-header ilkesiyle istenmeyen üst bilgileri kaldırın.
  • GraphQL senaryolarında, GraphQL isteklerini doğrulamak, belirli sorgu yollarına erişimi yetkilendirmek ve yanıt boyutunu sınırlamak için validate-graphql-request ilkesini kullanın.

Kısıtlanmamış kaynak tüketimi

API'ler bellek veya CPU gibi kaynakların çalıştırılmasını gerektirir ve işletim maliyetini temsil eden aşağı akış tümleştirmeleri içerebilir (örneğin, istek başına ödeme hizmetleri). Sınırların uygulanması API'lerin aşırı kaynak tüketimine karşı korunmasına yardımcı olabilir.

Bu tehdit hakkında daha fazla bilgi: API4:2023 Sınırsız Kaynak Tüketimi

Öneriler

  • Daha kısa zaman pencerelerinde azaltma uygulamak için hız sınırı veya hız sınırı ilkelerini kullanın. Parola sıfırlama, oturum açma veya kaydolma işlemleri gibi hassas uç noktalara veya önemli kaynakları kullanan uç noktalara daha katı hız sınırlama ilkeleri uygulayın.
  • Daha uzun süre çerçeveleri için izin verilen API çağrısı sayısını veya bant genişliğini denetlemek için anahtara göre kota veya kota sınırı ilkelerini kullanın.
  • Yerleşik önbelleğe alma ile performansı iyileştirerek belirli işlemler için CPU, bellek ve ağ kaynaklarının tüketimini azaltabilirsiniz.
  • Doğrulama ilkeleri uygulama.
    • max-size İstek ve yanıt boyutu üst sınırını zorlamak için validate-content ilkesindeki özniteliğini kullanın
    • API belirtiminde dize uzunluğu veya en büyük dizi boyutu gibi şemaları ve özellikleri tanımlayın. İstekler ve yanıtlar için bu şemaları zorunlu kılmak için validate-content, validate-parameters ve validate-headers ilkelerini kullanın.
    • GraphQL API'leri için validate-graphql-request ilkesini kullanın ve ve max-size parametrelerini yapılandırınmax-depth.
    • Kullanıcılar tarafından aşırı veri tüketimi için Azure İzleyici'de uyarıları yapılandırın.
  • Üretken yapay zeka API'leri için:
    • Arka uçlardaki yükü azaltmak için anlamsal önbelleğe alma özelliğini kullanın.
    • Tüketimi ve maliyetleri denetlemek için belirteç sınırlamayı kullanın.
    • Belirteç kullanımını izlemek ve uyarıları yapılandırmak için belirteç tüketimi ölçümlerini yayın.
  • Arka uç hizmetinin yanıt vermesi için gereken süreyi en aza indirin. Arka uç hizmetinin yanıt vermesi ne kadar uzun sürerse, API Management'ta bağlantı o kadar uzun süre meşgul olur ve bu nedenle belirli bir zaman çerçevesinde hizmet verilebilen istek sayısını azaltır.
  • API aracılığıyla sunulan kaynakları yüklemesine izin verilen web sitelerini denetlemek için bir CORS ilkesi uygulayın. Fazla izinli yapılandırmalardan kaçınmak için CORS ilkesinde joker karakter değerlerini (*) kullanmayın.
  • Azure'da hem platform düzeyinde koruma hem de dağıtılmış hizmet reddi (DDoS) saldırılarına karşı gelişmiş koruma olsa da API'ler için uygulama (katman 7) koruması API Management'ın önüne bir bot koruma hizmeti dağıtılarak geliştirilebilir (örneğin, Azure Uygulaması Lication Gateway, Azure Front Door veya Azure DDoS Koruması). Azure Uygulaması lication Gateway veya Azure Front Door ile bir web uygulaması güvenlik duvarı (WAF) ilkesi kullanırken Microsoft_BotManagerRuleSet_1.0 kullanmayı göz önünde bulundurun.

Bozuk işlev düzeyi yetkilendirmesi

Farklı hiyerarşilere, gruplara ve rollere sahip karmaşık erişim denetimi ilkeleri ve yönetim ve normal işlevler arasında net olmayan bir ayrım, yetkilendirme açıklarına yol açar. Saldırganlar bu sorunlardan yararlanarak diğer kullanıcıların kaynaklarına veya yönetim işlevlerine erişim elde eder.

Bu tehdit hakkında daha fazla bilgi: API5:2023 Bozuk işlev düzeyi yetkilendirmesi

Öneriler

  • Varsayılan olarak, API Management'taki tüm API uç noktalarını abonelik anahtarları veya tüm API'ler düzeyinde yetkilendirme ilkesiyle koruyun. Varsa, belirli API'ler veya API işlemleri için diğer yetkilendirme ilkelerini tanımlayın.
  • İlkeleri kullanarak OAuth belirteçlerini doğrulayın.
    • Microsoft Entra belirteçlerini doğrulamak için validate-azure-ad-token ilkesini kullanın. Tüm gerekli talepleri belirtin ve varsa yetkili uygulamaları belirtin.
    • Microsoft Entra tarafından verilmemiş belirteçleri doğrulamak için bir validate-jwt ilkesi tanımlayın ve gerekli belirteç taleplerini zorunlu kılın. Mümkünse süre sonu gerektir.
    • Mümkünse şifrelenmiş belirteçleri kullanın veya erişim için belirli uygulamaları listeleyin.
    • Yetkilendirme eksikliği nedeniyle reddedilen istekleri izleyin ve gözden geçirin.
  • API uç noktalarını İnternet'ten gizlemek için bir Azure sanal ağı veya Özel Bağlantı kullanın. API Management ile sanal ağ seçenekleri hakkında daha fazla bilgi edinin.
  • Joker karakter API işlemlerini tanımlamayın (yani yol olarak "tümünü yakala" API'leri). API Management'ın yalnızca açıkça tanımlanmış uç noktalar için istekler sağladığını ve tanımsız uç noktalara yönelik isteklerin reddedildiğinden emin olun.
  • Abonelik gerektirmeyen açık ürünler içeren API'leri yayımlamayın.
  • İstemci IP'leri biliniyorsa, yalnızca yetkili IP adreslerinden gelen trafiğe izin vermek için bir IP filtresi ilkesi kullanın.
  • İstemci tarafından bir API Management örneğine sunulan bir sertifikanın belirtilen doğrulama kuralları ve talepler ile eşleşmesini zorunlu kılmak için validate-client-certificate ilkesini kullanın.

Hassas iş akışlarına sınırsız erişim

API'ler, tüketen uygulamanın çok çeşitli işlevlerini kullanıma sunar. API yazarlarının API'nin sağladığı iş akışlarını ve ilişkili duyarlılığı anlaması önemlidir. Hassas akışları ortaya çıkarmakta olan API'ler uygun korumaları uygulamazsa işletme için daha büyük bir risk vardır.

Bu tehdit hakkında daha fazla bilgi: API6:2023 Hassas İş Akışlarına Sınırsız Erişim

Öneriler

  • İstemci parmak izlerine göre erişimi azaltın veya engelleyin. Örneğin, Kullanıcı Aracısı üst bilgisine veya diğer üst bilgilerin tutarlılığına bağlı olarak başsız tarayıcılardan gelen trafiği engellemek için seçme ilkesiyle birlikte dönüş-yanıt ilkesini kullanın.
  • Bu istek üst bilgilerinin API belirtimi ile eşleşmesini zorunlu kılmak için validate-parameters ilkesini kullanın.
  • Yalnızca bilinen IP adreslerinden gelen isteklere izin vermek veya belirli IP'lerden erişimi reddetmek için ip filtresi ilkesini kullanın.
  • İç API'lere dış bağlantıyı sınırlamak için özel ağ özelliklerini kullanın.
  • API tüketimindeki ani artışları kullanıcı kimliğine, IP adresine veya başka bir değere göre sınırlamak için hız sınırı-anahtar ilkesi kullanın.
  • Bot trafiğini algılamak ve engellemek için Azure Uygulaması lication Gateway veya Azure DDoS Koruması hizmeti ile Ön API Management.

Sunucu tarafı istek sahteciliği

API, uygun doğrulama denetimleri olmadan API çağıranı tarafından geçirilen bir URL'nin değerine göre aşağı akış kaynağı aldığında sunucu tarafı istek sahteciliği güvenlik açığı oluşabilir.

Bu tehdit hakkında daha fazla bilgi: API7:2023 Sunucu Tarafı İstek Sahteciliği

Öneriler

  • Mümkünse, istemci yüklerinde sağlanan URL'leri kullanmayın; örneğin, arka uç URL'leri, gönderme-isteği ilkesi veya yeniden yazma-url ilkesi için parametre olarak.
  • API Management veya arka uç hizmetleri iş mantığı için istek yükünde sağlanan URL'leri kullanıyorsa, ilke ve ilke ifadelerini seçme gibi API Management'ta ilkeleri olan konak adlarının, bağlantı noktalarının, medya türlerinin veya diğer özniteliklerin sınırlı bir listesini tanımlayın ve zorunlu kılın.
  • özniteliğini timeout iletme isteği ve gönderme isteği ilkelerinde tanımlayın.
  • Doğrulama ilkeleriyle istek ve yanıt verilerini doğrulayın ve temizleme. Gerekirse, yanıtı işlemek ve ham veri döndürmekten kaçınmak için set-body ilkesini kullanın.
  • Bağlantıyı kısıtlamak için özel ağ kullanın. Örneğin, API'nin genel olması gerekmiyorsa, saldırı yüzeyini azaltmak için İnternet bağlantısını kısıtlayın.

Güvenlik yanlış yapılandırması

Saldırganlar aşağıdakiler gibi güvenlik yanlış yapılandırma güvenlik açıklarından yararlanmaya çalışabilir:

  • Güvenlik sağlamlaştırması eksik
  • Gereksiz yere etkinleştirilmiş özellikler
  • Ağ bağlantıları gereksiz yere İnternet'e açılır
  • Zayıf protokollerin veya şifrelerin kullanımı

Bu tehdit hakkında daha fazla bilgi: API8:2023 Güvenlik yanlış yapılandırması

Öneriler

  • Ağ geçidi TLS'lerini doğru yapılandırın. Güvenlik açığı olan protokolleri (örneğin, TLS 1.0, 1.1) veya şifreleri kullanmayın.
  • API'leri, örneğin HTTPS veya WSS protokolleri aracılığıyla yalnızca şifrelenmiş trafiği kabul etmek üzere yapılandırın. Azure İlkesi kullanarak bu ayarı denetleyebilir ve uygulayabilirsiniz.
  • API Management'ı özel bir uç noktanın arkasına veya iç modda dağıtılan bir sanal ağa bağlı olarak dağıtmayı göz önünde bulundurun. İç ağlarda erişim, özel ağ içinden (güvenlik duvarı veya ağ güvenlik grupları aracılığıyla) ve İnternet'ten (ters ara sunucu aracılığıyla) denetlenebilir.
  • Azure API Management ilkelerini kullanın:
    • Üst ilkeleri her zaman etiketi aracılığıyla devralın <base> .
    • OAuth 2.0 kullanırken, doğrulama-jwt ilkesini yapılandırıp test ederek belirtecin arka uca ulaşmadan önce varlığını ve geçerliliğini denetleyin. Belirteç süre sonunu, belirteç imzasını ve vereni otomatik olarak denetleyin. İlke ayarları aracılığıyla talepleri, hedef kitleleri, belirteç süre sonunu ve belirteç imzasını zorunlu kılma. Microsoft Entra kullanıyorsanız validate-azure-ad-token ilkesi, güvenlik belirteçlerini doğrulamanın daha kapsamlı ve kolay bir yolunu sağlar.
    • CORS ilkesini yapılandırın ve herhangi bir yapılandırma seçeneği için joker karakter * kullanmayın. Bunun yerine, izin verilen değerleri açıkça listeleyin.
    • JSON ve XML şemalarını, üst bilgileri, sorgu parametrelerini ve durum kodlarını doğrulamak ve istek veya yanıt için en büyük boyutu zorlamak için üretim ortamlarında doğrulama ilkeleri ayarlayın.
    • API Management bir ağ sınırının dışındaysa, sınırlayıcı arayan IP'leri ilkesi kullanılarak istemci IP doğrulaması hala mümkündür. Blok listesi değil, izin verilenler listesi kullandığına emin olun.
    • Çağıran ve API Management arasında istemci sertifikaları kullanılıyorsa validate-client-certificate ilkesini kullanın. validate-revocation, , validate-trustvalidate-not-beforeve validate-not-after özniteliklerinin olarak ayarlandığından trueemin olun.
  • İstemci sertifikaları (karşılıklı TLS) API Management ile arka uç arasında da uygulanabilir. Arka uç şu şekilde olmalıdır:
    • Yetkilendirme kimlik bilgilerinin yapılandırılması
    • Uygun olduğunda sertifika zincirini doğrulama
    • Uygun olduğunda sertifika adını doğrulayın
    • GraphQL senaryoları için validate-graphQL-request ilkesini kullanın. öğesinin authorization ve max-size max-depth özniteliklerinin ayarlandığından emin olun.
  • Gizli dizileri ilke dosyalarında veya kaynak denetiminde depolamayın. Api Management'ın adlandırılmış değerlerini her zaman kullanın veya özel ilke ifadelerini kullanarak gizli dizileri çalışma zamanında getirin. Adlandırılmış değerler Azure Key Vault ile tümleştirilmeli veya API Management içinde "gizli" olarak işaretlenerek şifrelenmelidir. Gizli dizileri hiçbir zaman değer olarak adlandırılan düz metinde depolamayın.
  • Api'leri abonelik gerektiren ürünler aracılığıyla yayımlayın. Abonelik gerektirmeyen açık ürünleri kullanmayın.
  • Tüm ürünler abonelik anahtarı gerektirecek şekilde yapılandırılmış olsa bile API'lerinizin abonelik anahtarları gerektirdiğine emin olun. Daha fazla bilgi edinin
  • Tüm ürünler için abonelik onayı isteyin ve tüm abonelik isteklerini dikkatle gözden geçirin.
  • Tüm sertifikaları yönetmek için Key Vault tümleştirmesini kullanın. Bu, sertifika yönetimini merkezileştirir ve sertifika yenileme veya iptal gibi işlem yönetimi görevlerini kolaylaştırmaya yardımcı olabilir. Anahtar kasalarında kimlik doğrulaması yapmak için yönetilen kimliği kullanın.
  • Şirket içinde barındırılan ağ geçidini kullanırken, görüntüyü düzenli aralıklarla en son sürüme güncelleştirme işleminin yapıldığından emin olun.
  • Arka uç hizmetlerini arka uç varlıkları olarak temsil eder. Uygun olduğunda yetkilendirme kimlik bilgilerini, sertifika zinciri doğrulamayı ve sertifika adı doğrulamayı yapılandırın.
  • Mümkün olduğunda, arka uç hizmetlerinde kimlik doğrulaması yapmak için kimlik bilgisi yöneticisini veya yönetilen kimliği kullanın.
  • Geliştirici portalını kullanırken:
    • Geliştirici portalını kendi kendine barındırmayı seçerseniz, şirket içinde barındırılan portalı düzenli aralıklarla en son sürüme güncelleştirme işleminin uygulandığından emin olun. Varsayılan yönetilen sürüm güncelleştirmeleri otomatik olarak gerçekleştirilir.
    • Kullanıcı kaydolma ve oturum açma için Microsoft Entra Id veya Azure Active Directory B2C kullanın. Daha az güvenli olan varsayılan kullanıcı adı ve parola kimlik doğrulamasını devre dışı bırakın.
    • Portalda API'lerin görünürlüğünü denetlemek için ürünlere kullanıcı grupları atayın.
  • Kaynak erişimini denetlemek için API Management kaynak düzeyi yapılandırması ve rol tabanlı erişim denetimi (RBAC) izinlerini zorunlu kılmak için Azure İlkesi kullanın. Her kullanıcıya gereken en düşük ayrıcalıkları verin.
  • API Management içeriğinin ve yapılandırma değişikliklerinin tutarlılığını sağlamak ve insan hatalarını en aza indirmek için geliştirme ortamının dışında devOps işlemi ve kod olarak altyapı yaklaşımını kullanın.
  • Kullanım dışı bırakılan özellikleri kullanmayın.

Yanlış envanter yönetimi

Hatalı varlık yönetimiyle ilgili güvenlik açıkları şunlardır:

  • Uygun API belgelerinin veya sahiplik bilgilerinin olmaması
  • Güvenlik düzeltmeleri eksik olabilecek aşırı sayıda eski API sürümü

Bu tehdit hakkında daha fazla bilgi: API9:2023 Yanlış envanter yönetimi

Öneriler

  • REST API'lerini içeri aktarmak için kaynak olarak iyi tanımlanmış bir OpenAPI belirtimi kullanın. Belirtim, kendi kendine belgeleme meta verileri de dahil olmak üzere API tanımının kapsüllenmesine olanak tanır.
  • Kesin yollar, veri şemaları, üst bilgiler, sorgu parametreleri ve durum kodları ile API arabirimlerini kullanın. Joker karakter işlemlerinden kaçının. Her API ve işlem için açıklamalar sağlayın ve iletişim ve lisans bilgilerini ekleyin.
  • İş hedefine doğrudan katkıda bulunmayan uç noktalardan kaçının. Saldırı yüzeyi alanını gereksiz yere artırır ve API'yi geliştirmeyi zorlaştırır.
  • API değişikliklerini yönetmek için API Management'ta düzeltmeleri ve sürümleri kullanın. Güçlü bir arka uç sürüm oluşturma stratejisine sahip olup desteklenen en fazla API sürümü sayısına (örneğin, 2 veya 3 önceki sürüm) bağlanın. Eski, genellikle daha az güvenli API sürümlerini hızla kullanımdan kaldırıp kaldırmayı planlayın. Tüm kullanılabilir API sürümlerinde güvenlik denetimlerinin uygulandığını güvence altına alma.
  • Farklı API Management hizmetleriyle ortamları (geliştirme, test ve üretim gibi) ayırın. Her API Management hizmetinin aynı ortamdaki bağımlılıklarına bağlandığından emin olun. Örneğin, test ortamında test API Management kaynağı bir test Azure Key Vault kaynağına ve arka uç hizmetlerinin test sürümlerine bağlanmalıdır. Ortamlar arasında tutarlılığı ve doğruluğu korumaya ve insan hatalarını azaltmaya yardımcı olmak için DevOps otomasyon ve kod olarak altyapı uygulamalarını kullanın.
  • Çalışma alanlarını kullanarak API'lere ve ilgili kaynaklara yönelik yönetim izinlerini yalıtma.
  • API'leri ve ürünleri düzenlemek ve yayımlamak üzere gruplandırmak için etiketleri kullanın.
  • Api'leri bir geliştirici portalı aracılığıyla tüketim için yayımlayın. API belgelerinin güncel olduğundan emin olun.
  • Belgelenmemiş veya yönetilmeyen API'leri bulun ve daha iyi denetim için API Management aracılığıyla kullanıma sağlanmaktadır.
  • Azure API Management'ta API'ler yönetilmiyor olsa bile API'lerin, sürümlerin ve dağıtımların kapsamlı, merkezi bir envanterini korumak için Azure API Center'ı kullanın.

API'lerin güvenli olmayan tüketimi

Aşağı akış tümleştirmeleri aracılığıyla elde edilen kaynaklar, çağıranın veya son kullanıcının API girişinden daha güvenilir olma eğilimindedir. Uygun temizleme ve güvenlik standartları uygulanmazsa, tümleştirme güvenilir bir hizmet aracılığıyla sağlansa bile API savunmasız olabilir.

Bu tehdit hakkında daha fazla bilgi: API10:2023 API'lerin Güvenli Olmayan Kullanımı

Öneriler

  • Arka uç API'lerinin tümleştirdiği aşağı akış bağımlılıkları için bir cephe işlevi görmek için API Management'ı kullanmayı göz önünde bulundurun.
  • Aşağı akış bağımlılıkları API Management ile karşılanıyorsa veya aşağı akış bağımlılıkları API Management'ta bir istek gönderme ilkesiyle kullanılıyorsa, aşağıdakiler dahil olmak üzere güvenli ve denetimli tüketimlerinden emin olmak için bu belgenin diğer bölümlerindeki önerileri kullanın:
    • Güvenli aktarım özelliğinin etkinleştirildiğinden emin olun ve TLS/SSL yapılandırmasını zorunlu kılın
    • Mümkünse kimlik bilgileri yöneticisi veya yönetilen kimlik ile kimlik doğrulaması
    • Anahtara göre hız sınırı ve anahtara göre kota sınırı ilkeleriyle tüketimi denetleme
    • validate-content ve validate-header ilkelerini kullanarak API belirtimi ile uyumlu olmayan yanıtları günlüğe kaydetme veya engelleme
    • Yanıtları, örneğin gereksiz veya hassas bilgileri kaldırmak için küme gövdesi ilkesiyle dönüştürün
    • Zaman aşımlarını yapılandırma ve eşzamanlılığı sınırlama

Aşağıdakiler hakkında daha fazla bilgi edinin: