Koddan buluta kapsayıcı görüntülerini eşleme
Kapsayıcı kayıt defterinde depolanan veya Kubernetes kümesinde çalışan bir kapsayıcı görüntüsünde güvenlik açığı belirlendiğinde, bir güvenlik uygulayıcısının kapsayıcı görüntüsünü ilk oluşturan CI/CD işlem hattını izlemesi ve geliştirici düzeltme sahibini tanımlaması zor olabilir. Microsoft Defender Bulut Güvenlik Duruşu Yönetimi'daki (CSPM) DevOps güvenlik özellikleriyle, geliştirici düzeltme iş akışlarını kolayca başlatmak ve kapsayıcı görüntülerinizdeki güvenlik açıklarını düzeltme süresini kısaltmak için bulutta yerel uygulamalarınızı koddan buluta eşleyebilirsiniz.
Önkoşullar
Bulut için Defender eklenen bir Azure hesabı. Henüz bir Azure hesabınız yoksa ücretsiz olarak bir hesap oluşturun.
Microsoft Defender'a eklenen Azure DevOps veya GitHub ortamı, tüm bağlı Azure DevOps kuruluşlarına otomatik olarak paylaşılır ve yüklenir. Bu, kapsayıcı eşlemesi için veri toplamak üzere tüm Azure Pipelines'a görevleri otomatik olarak ekler.
Azure DevOps için, Azure DevOps kuruluşunda yüklü Microsoft Güvenlik DevOps (MSDO) Uzantısı .
GitHub için, GitHub depolarınızda yapılandırılan Microsoft Security DevOps (MSDO) Eylemi . Ayrıca GitHub İş Akışının Bulut için Defender federasyon için "id-token: write" izinlerine sahip olması gerekir. Bir örnek için bu YAML'ye bakın.
Defender CSPM etkin.
Kapsayıcı görüntülerinin Docker kullanılarak derlenmiş olması ve Docker istemcisinin derleme sırasında Docker sunucusuna erişebilmesi gerekir.
Azure DevOps işlem hatlarından kapsayıcı görüntünüzü kapsayıcı kayıt defterine eşleme
Azure DevOps CI/CD işlem hattında kapsayıcı görüntüsü oluşturup kayıt defterine gönderdikten sonra Bulut Güvenlik Gezgini'ni kullanarak eşlemeye bakın:
Azure Portal’ında oturum açın.
Bulut için Microsoft Defender> Cloud Güvenlik Gezgini'ne gidin. Kapsayıcı görüntüsü eşlemesinin Bulut Güvenlik Gezgini'nde görünmesi en fazla 4 saat sürebilir.
Temel eşlemeyi görmek için Kod depoları tarafından gönderilen Kapsayıcı Görüntüleri'ne+>>tıklayın.
(İsteğe bağlı) Sorgunuza yalnızca CVE'ler içeren kapsayıcı görüntülerini filtrelemek için güvenlik açıkları var gibi başka filtreler eklemek için Kapsayıcı Görüntülerine göre + seçeneğini belirleyin.
Sorgunuzu çalıştırdıktan sonra kapsayıcı kayıt defteri ile Azure DevOps işlem hattı arasındaki eşlemeyi görürsünüz. Azure DevOps işlem hattının çalıştırıldığı yer hakkında daha fazla ayrıntı görmek için kenarın yanındaki ... öğesini seçin.
Aşağıda, kapsayıcı görüntüsü eşlemesini kullanan gelişmiş bir sorgu örneği verilmiştir. İnternet'e açık bir Kubernetes iş yükünden başlayarak, yüksek önem derecesine sahip CV'lere sahip tüm kapsayıcı görüntülerini kapsayıcı görüntüsünün oluşturulduğu Azure DevOps işlem hattına kadar izleyebilir ve güvenlik uygulayıcısını geliştirici düzeltme iş akışını başlatmaya teşvik edebilirsiniz.
Not
Azure DevOps kuruluşunuzda 15 Kasım 2023'den önce Oluşturulmuş Azure DevOps bağlayıcısı varsa, kuruluş ayarları>Paylaşılan uzantıları'na > gidin ve kapsayıcı görüntüsü eşleme dekoratörünü yükleyin. Uzantının kuruluşunuzla paylaşılmış olduğunu görmüyorsanız aşağıdaki formu doldurun.
GitHub iş akışlarından kapsayıcı görüntünüzü kapsayıcı kayıt defterine eşleme
Bulut için Defender için bir GitHub bağlayıcısı eklediğinizden emin olun.
Aşağıdaki MSDO iş akışını çalıştırın:
name: Build and Map Container Image
on: [push, workflow_dispatch]
jobs:
build:
runs-on: ubuntu-latest
# Set Permissions
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.8'
# Set Authentication to Container Registry of Choice.
# The example below is for Azure Container Registry. Amazon Elastic Container Registry and Google Artifact Registry are also supported.
- name: Azure Container Registry Login
uses: Azure/docker-login@v1
with:
login-server: <containerRegistryLoginServer>
username: ${{ secrets.ACR_USERNAME }}
password: ${{ secrets.ACR_PASSWORD }}
# Build and Push Image
- name: Build and Push the Docker image
uses: docker/build-push-action@v2
with:
push: true
tags: ${{ secrets.IMAGE_TAG }}
file: Dockerfile
# Run Mapping Tool in MSDO
- name: Run Microsoft Security DevOps Analysis
uses: microsoft/security-devops-action@latest
id: msdo
GitHub iş akışında kapsayıcı görüntüsü oluşturup kayıt defterine gönderdikten sonra Bulut Güvenlik Gezgini'ni kullanarak eşlemeye bakın:
Azure Portal’ında oturum açın.
Bulut için Microsoft Defender> Cloud Güvenlik Gezgini'ne gidin. Kapsayıcı görüntüsü eşlemesinin Bulut Güvenlik Gezgini'nde görünmesi en fazla 4 saat sürebilir.
Temel eşlemeyi görmek için Kod depoları tarafından gönderilen Kapsayıcı Görüntüleri'ne+>>tıklayın.
(İsteğe bağlı) Sorgunuza yalnızca CVE'ler içeren kapsayıcı görüntülerini filtrelemek için güvenlik açıkları var gibi başka filtreler eklemek için Kapsayıcı Görüntülerine göre + seçeneğini belirleyin.
Sorgunuzu çalıştırdıktan sonra kapsayıcı kayıt defteri ile GitHub iş akışı arasındaki eşlemeyi görürsünüz. GitHub iş akışının nerede çalıştırıldığıyla ilgili daha fazla ayrıntı görmek için kenarın yanındaki ... öğesini seçin.
Aşağıda, kapsayıcı görüntüsü eşlemesini kullanan gelişmiş bir sorgu örneği verilmiştir. İnternet'e sunulan bir Kubernetes iş yükünden başlayarak, yüksek önem derecesine sahip CV'lere sahip tüm kapsayıcı görüntülerini kapsayıcı görüntüsünün oluşturulduğu GitHub deposuna kadar izleyebilir ve güvenlik uygulayıcısını geliştirici düzeltme iş akışını başlatmaya teşvik edebilirsiniz.
Sonraki adımlar
- Bulut için Defender'da DevOps güvenliği hakkında daha fazla bilgi edinin.