Aracılığıyla paylaş


42Crunch teknik ekleme kılavuzu

42Crunch, dağıtılmış geliştirme ve güvenlik ekipleri arasında API güvenlik uyumluluğunun uygulanmasını otomatikleştiren API'lerin güvenliğini sağlamak için standartlaştırılmış bir yaklaşım sağlar. 42Crunch API güvenlik platformu, geliştiricilerin tümleşik geliştirme ortamından (IDE) CI/CD işlem hattına güvenlik oluşturmasını sağlar. API güvenliğine yönelik bu sorunsuz DevSecOps yaklaşımı idare maliyetlerini azaltır ve güvenli API'lerin teslimini hızlandırır.

Güvenlik testi yaklaşımı

Web ve mobil uygulamaları taramak için kullanılan geleneksel DAST araçlarından farklı olarak 42Crunch, özel tasarımına göre her API'ye göre hassas bir şekilde hazırlanmış ve hedeflenen bir dizi test çalıştırır. Birincil kaynak olarak OpenAPI tanımı (yani Swagger) dosyasını kullanan 42Crunch Scan altyapısı, API'nin istenen tasarıma ne kadar uygun olduğunu doğrulayan bir test pili çalıştırır. Bu Uyumluluk Taraması , OWASP ilk 10 güvenlik açığı, yanlış yanıt kodları ve şema ihlalleri gibi çeşitli güvenlik sorunlarını tanımlar. Bu sorunlar, olası açıklardan yararlanma senaryoları ve düzeltme yönergeleri de dahil olmak üzere zengin bağlamla bildirilir.

Taramalar ci/CD işlem hattının parçası olarak otomatik olarak veya IDE veya 42Crunch bulut platformu aracılığıyla el ile çalıştırılabilir.

API belirtiminin kalitesi tarama kapsamını ve etkinliğini büyük ölçüde belirlediğinden, OpenAPI belirtiminizin iyi tanımlandığından emin olmak önemlidir. 42Crunch Denetimi , geliştiricinin belirtimin güvenliğini ve kalitesini geliştirmesine yardımcı olmak amacıyla OpenAPI belirtim dosyasının statik analizini gerçekleştirir. Denetim, her belirtim dosyası için 0-100 arası bir bileşik güvenlik puanı belirler. Geliştiriciler Denetim tarafından tanımlanan güvenlik ve anlamsal sorunları düzelttikçe puan da iyiye gider. 42Crunch, Uyumluluk taraması çalıştırmadan önce en az 70 Denetim puanı önerir.

Geçerlilik

Not

Aşağıdaki adımlarda 42Crunch'un ücretsiz sürümünü ayarlama işlemi izlenmiştir. 42Crunch'un ücretsiz ve ücretli sürümleri arasındaki farklar ve Azure Market 42Crunch satın alma hakkında bilgi edinmek için SSS bölümüne bakın.

Geliştiriciler, 42Crunch Denetim ve Tarama hizmetlerini kullanarak API'leri en iyi OWASP API risklerine ve OpenAPI belirtimi en iyi yöntemlerine karşı statik ve dinamik test yoluyla CI/CD işlem hatlarında proaktif olarak test edebilir ve sağlamlaştırabilir. 42Crunch'un güvenlik taraması sonuçları artık Bulut için Defender içinde kullanılabilir ve merkezi güvenlik ekiplerinin Bulut için Defender öneri deneyiminde API'lerin durumuyla ilgili görünürlük elde etmelerini ve Bulut için Defender öneriler aracılığıyla yerel olarak kullanılabilir idare adımlarını atmasını sağlar.

DevOps ortamlarınızı Bulut için Microsoft Defender Bağlan

Bu özellik, DevOps ortamınızı Bulut için Defender bağlamayı gerektirir.

GitHub kuruluşlarınızı ekleme hakkında bilgi edinin.

Azure DevOps kuruluşlarınızı ekleme hakkında bilgi edinme.

42Crunch Denetim hizmetini yapılandırma

REST API Statik Güvenlik Testi eylemi, OpenAPI Belirtimini (OAS, eski adıyla Swagger) izleyen REST API sözleşmelerini bulur ve bunlar üzerinde kapsamlı güvenlik denetimleri çalıştırır. Hem JSON hem de YAML biçiminde hem OAS v2 hem de v3 desteklenir.

Eylem, 42Crunch API Güvenlik Denetimi tarafından desteklenir. Güvenlik Denetimi, API'nin kimlik doğrulaması, yetkilendirme, aktarım ve istek/yanıt şemalarını nasıl tanımladığı konusunda en iyi yöntemler ve olası güvenlik açıkları hakkında 300'den fazla denetim içeren API tanımı üzerinde statik bir analiz gerçekleştirir.

GitHub ortamları için

Aşağıdaki adımları tamamlayarak CI/CD işlem hattınıza 42Crunch API Güvenlik Denetimi eklentisini yükleyin:

  1. GitHub'da oturum açma.

  2. GitHub eylemini yapılandırmak istediğiniz bir depo seçin.

  3. Eylemler'i seçin.

  4. Yeni İş Akışı'ı seçin.

    Yeni iş akışı seçimini gösteren ekran görüntüsü.

Yeni bir varsayılan iş akışı oluşturmak için:

  1. İş akışını kendiniz ayarlayın'ı seçin.

  2. İş akışını olarak main.yaml 42crunch-audit.ymlyeniden adlandırın.

  3. Şuraya git: https://github.com/marketplace/actions/42crunch-rest-api-static-security-testing-freemium#full-workflow-example.

  4. Örnek iş akışının tamamını kopyalayın ve iş akışı düzenleyicisine yapıştırın.

    Not

    Bu iş akışı, güvenlik bulma sonuçlarının Bulut için Defender gösterilmesi için gereken GitHub Kod Tarama özelliğinin etkinleştirildiğini varsayar. Koda karşıya yükleme tarama seçeneğinin true olarak ayarlandığından emin olun.

    GitHub iş akışı düzenleyicisini gösteren ekran görüntüsü.

  5. Değişiklikleri işle'yi seçin. Doğrudan ana dala işleyebilir veya bir çekme isteği oluşturabilirsiniz. Ana dalda bir çekme isteği açıldığında varsayılan iş akışı başlatıldığından, çekme isteği oluşturarak GitHub en iyi yöntemlerinin izlenmesini öneririz.

  6. Eylemler'i seçin ve yeni eylemin çalıştığını doğrulayın.

    Çalışan yeni eylemi gösteren ekran görüntüsü.

  7. İş akışı tamamlandıktan sonra Güvenlik'i ve ardından sonuçları görüntülemek için Kod tarama'yı seçin.

  8. 42Crunch REST API Statik Güvenlik Testi tarafından algılanan bir Kod Tarama uyarısı seçin. Kod tarama sekmesinde araclara göre de filtreleyebilirsiniz. 42Crunch REST API Statik Güvenlik Testi'ne göre filtreleyin.

    Kod tarama uyarılarını gösteren ekran görüntüsü.

Şimdi GitHub Kod Tarama'da Denetim sonuçlarının gösterildiğini doğruladınız. Ardından, bu Denetim sonuçlarının Bulut için Defender içinde kullanılabilir olduğunu doğrularız. Sonuçların Bulut için Defender gösterilmesi 30 dakika kadar sürebilir.

Bulut için Defender gidin:

  1. Öneriler seçeneğini belirleyin.
  2. Tüm öneriler'i seçin.
  3. API güvenlik testi arayarak filtreleyin.
  4. GitHub depolarında API güvenlik testi bulgularının çözümlenmesi önerisini seçin.

Seçilen öneride 42Crunch Denetim bulgularının tümü gösterilir. 42Crunch Denetim adımı için ekleme işlemini tamamladınız.

API özetini gösteren ekran görüntüsü.

Azure DevOps ortamları için

  1. Kuruluşunuza 42Crunch Azure DevOps uzantısını yükleyin.

  2. Azure DevOps projenizde yeni bir işlem hattı oluşturun. İlk işlem hattınızı oluşturmaya yönelik bir öğretici için bkz . İlk işlem hattınızı oluşturma.

  3. Aşağıdaki iş akışını kopyalayarak oluşturulan işlem hattını düzenleyin:

    trigger:
    branches:
       include:
          - main
    
    jobs:
    - job: run_42crunch_audit
       displayName: 'Run Audit'
       pool:
          vmImage: 'ubuntu-latest'
       steps:
          - task: UsePythonVersion@0
          inputs:
             versionSpec: '3.11'
             addToPath: true
             architecture:  x64
          - task: APISecurityAuditFreemium@1
          inputs:
             enforceSQG: false
             sarifReport: '$(Build.Repository.LocalPath)/42Crunch_AuditReport.sarif'
             exportAsPDF: '$(Build.Repository.LocalPath)/42Crunch_AuditReport.pdf'
          - task: PublishBuildArtifacts@1
          displayName: publishAuditSarif
          inputs:
             PathtoPublish: '$(Build.Repository.LocalPath)/42Crunch_AuditReport.sarif '
             ArtifactName: 'CodeAnalysisLogs'
             publishLocation: 'Container'
    
  4. Ardışık düzeni çalıştırma.

  5. Sonuçların Azure DevOps'ta doğru şekilde yayımlandığını doğrulamak için 42Crunch-AuditReport.sarif dosyasının CodeAnalysisLogs klasörünün altındaki Derleme Yapıtlarına yüklendiğini doğrulayın.

  6. Ekleme işlemini tamamladınız. Ardından sonuçların Bulut için Defender gösterildiğini doğrulayacağız.

Bulut için Defender gidin:

  1. Öneriler seçeneğini belirleyin.
  2. Tüm öneriler'i seçin.
  3. API güvenlik testi arayarak filtreleyin.
  4. AzureDevOps depolarında API güvenlik testi bulgularının çözümlenmesi gerektiği önerisini seçin.

Seçilen öneride 42Crunch Denetim bulgularının tümü gösterilir. 42Crunch Denetim adımı için ekleme işlemini tamamladınız.

Azure DevOps önerilerini gösteren ekran görüntüsü.

42Crunch Tarama hizmetini yapılandırma

API Scan, OpenAPI sözleşmesine uyumluluğu sağlamak ve test zamanında güvenlik açıklarını algılamak için API'yi sürekli olarak tarar. API yaşam döngüsünün başlarında OWASP API Güvenliği İlk 10 sorununu algılar ve API'lerinizin beklenmeyen istekleri işleyebildiğini doğrular.

Tarama için üretim dışı bir canlı API uç noktası ve gerekli kimlik bilgileri (API anahtarı/erişim belirteci) gerekir. 42Crunch Taramasını yapılandırmak için bu adımları izleyin.

ADO'ya özgü görevler için öğreticideki azure-pipelines-scan.yaml dosyasına bakın.

SSS

42Crunch, geliştiricilerin API güvenlik sorunlarını tanımlamalarına ve düzeltmelerine nasıl yardımcı olur?

42Crunch güvenlik Denetimi ve Uyumluluk taraması, geliştirme yaşam döngüsünün başlarında API'lerde var olan olası güvenlik açıklarını belirler. Tarama sonuçları, güvenlik açığı ve ilişkili açıkların açıklaması ve ayrıntılı düzeltme kılavuzu dahil olmak üzere zengin bağlam içerir. Taramalar CI/CD platformunda otomatik olarak veya geliştirici tarafından 42Crunch IDE uzantılarından biri aracılığıyla IDE'si içinde artımlı olarak yürütülebilir.

Geliştiriciler için en düşük kalite ve güvenlik standartlarıyla uyumluluğu zorunlu kılmak için 42Crunch kullanılabilir mi?

Evet. 42Crunch, Güvenlik Kalite Geçitlerini (SQG) kullanarak uyumluluğu zorunlu kılma özelliğini içerir. SQG'ler, Bir Denetim veya Taramayı başarıyla geçirmek için karşılanması gereken belirli ölçütlerden oluşur. Örneğin, bir SQG bir veya daha fazla kritik önem sorunuyla denetim veya taramanın geçmemesini sağlayabilir. CI/CD'de 42Crunch Denetimi veya Tarama, bir SQG'yi geçemediğinde derlemenin başarısız olması için yapılandırılabilir ve bu nedenle bir geliştiricinin kodunu göndermeden önce temel sorunu çözmesi gerekir.

42Crunch'un ücretsiz sürümü hem Denetim hem de Tarama için varsayılan SQG'leri kullanırken, ücretli kurumsal sürüm SQG'lerin ve etiketlerin özelleştirilmesine olanak tanır ve bu da SQG'lerin API'lerin gruplamalarına seçmeli olarak uygulanmasını sağlar.

42Crunch'un SaaS hizmetinde hangi veriler depolanır?

42Crunch güvenlik Denetimi ve Uyumluluk taramasının sınırlı bir ücretsiz deneme sürümü, 42Crunch SaaS bağlantısına gerek kalmadan raporları yerel olarak oluşturan CI/CD'de dağıtılabilir. Bu sürümde 42Crunch platformuyla paylaşılan veri yoktur.

42Crunch platformunun tam kurumsal sürümü için saas platformunda aşağıdaki veriler depolanır:

  • 42Crunch platformunun kullanıcılarının ad, Soyadı, e-posta adresleri.
  • OpenAPI/Swagger dosyaları (müşteri API'lerinin açıklamaları).
  • 42Crunch tarafından gerçekleştirilen güvenlik Denetimi ve Uyumluluk tarama görevleri sırasında oluşturulan raporlar.

42Crunch nasıl lisanslanır?

42Crunch, API sayısını ve platformda sağlanan geliştirici sayısını bir arada kullanarak lisanslanır. Örneğin fiyatlandırma paketleri için bu market listesine bakın. Özel fiyatlandırma, Azure ticari marketinde özel teklifler aracılığıyla kullanılabilir. Özel bir teklif için mailto:sales@42crunch.com adresine ulaşın.

42Crunch'un ücretsiz ve ücretli sürümü arasındaki fark nedir?

42Crunch, güvenlik Denetimi ve Uyumluluk taramasının hem ücretsiz sınırlı bir sürümünü hem de ücretli kurumsal sürümünü sunar.

42Crunch'un ücretsiz sürümü için 42Crunch CI/CD eklentileri tek başına çalışır ve 42Crunch platformunda oturum açmaya gerek yoktur. Denetim ve tarama sonuçları daha sonra hem Bulut için Microsoft Defender hem de CI/CD platformunda kullanılabilir hale getirilir. Denetimler ve taramalar, depo başına ayda en fazla 25 yürütme ile sınırlıdır ve en fazla üç depo vardır.

42Crunch'un ücretli kurumsal sürümü için denetimler ve taramalar CI/CD'de yerel olarak yürütülür, ancak özelleştirilebilir güvenlik kalitesi geçitleri, veri sözlükleri ve etiketleme gibi çeşitli gelişmiş özellikleri kullanabileceğiniz 42Crunch platform hizmetiyle eşitlenebilir. Kurumsal sürüm belirli sayıda API için lisanslansa da, aylık olarak çalıştırılacak Denetim ve tarama sayısıyla ilgili bir sınır yoktur.

42Crunch, Azure ticari marketinde kullanılabilir mi?

Evet, 42Crunch buradan Microsoft ticari marketinde satın alınabilir.

Azure ticari market üzerinden yapılan 42Crunch satın alımlarının Minimum Azure Tüketim Taahhütleriniz (MACC) için sayıldığını unutmayın.

Sonraki adımlar

API'ler için Microsoft Defender'a genel bakış