Aracılığıyla paylaş


Azure DevOps'unuzu güvenli hale getirme

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Özellikle Azure DevOps Services gibi bulut tabanlı bir çözümde bilgi ve verileri işlerken güvenlik en yüksek önceliğiniz olmalıdır. Microsoft, temel bulut altyapısının güvenliğini sağlarken, Azure DevOps içinde güvenliği yapılandırmak sizin sorumluluğunuzdadır. Bu makalede, Azure DevOps ortamınızı tehditlere ve güvenlik açıklarına karşı korumak için güvenlikle ilgili gerekli yapılandırmalara genel bir bakış sağlanmaktadır.

Ağınızı ve verilerinizi koruma

Verilerinizi ve kaynaklarınızı yetkisiz erişime ve olası tehditlere karşı korumak için Azure DevOps ile çalışırken ağınızın güvenliğini sağlamak çok önemlidir. Azure DevOps ortamınıza yalnızca güvenilen kaynakların erişebildiğinden emin olmak için ağ güvenliği ve veri koruma önlemleri uygulayın. Azure DevOps ile çalışırken ağınızın güvenliğini sağlamak için aşağıdaki eylemleri gerçekleştirin:

  • IP izin listesini ayarlama: Yalnızca güvenilir kaynaklardan gelen trafiğe izin vermek için belirli IP adreslerine erişimi kısıtlayarak saldırı yüzeyini küçültün. Kuruluşunuzun güvenliği bir güvenlik duvarı veya ara sunucuyla sağlanıyorsa, ip'leri ve URL'leri izin verilenler listesine ekleyin.
  • Veri şifrelemeyi kullan: Şifreleme, yedekleme ve kurtarma stratejilerini kullanarak verilerinizi koruyun. Aktarımdaki ve bekleyen verileri her zaman şifreleyin. HTTPS gibi protokolleri kullanarak iletişim kanallarının güvenliğini sağlayın. Azure Şifrelemesi hakkında daha fazla bilgi edinin.
  • Sertifikaları doğrulama: Bağlantıları kurarken sertifikaların geçerli olduğundan ve güvenilen yetkililer tarafından verildiğine emin olun.
  • Web Uygulaması Güvenlik Duvarlarını (WAF) Uygulama: Yaygın saldırılara karşı ek bir koruma katmanı için WAF'ler ile kötü amaçlı web tabanlı trafiği filtreleyin, izleyin ve engelleyin.
  • Ağ güvenlik gruplarına (NSG) genel bakış: Azure kaynaklarına gelen ve giden trafiği denetlemek için NSG'leri kullanarak yalnızca yetkili trafiğe izin verildiğinden emin olun.
  • Azure Güvenlik Duvarı'nı kullanma: Birden çok Azure aboneliğinde ve sanal ağda merkezi bir ağ güvenlik ilkesi sağlamak için Azure Güvenlik Duvarı'nı dağıtın.
  • Azure Ağ İzleyicisi ile ağ trafiğini izleme: Ağ sorunlarını izlemek ve tanılamak için Azure Ağ İzleyicisi'ni kullanarak ağınızın güvenliğini ve performansını sağlayın.
  • Azure DDoS Koruması ile DDoS koruması uygulayın: Uygulamalarınızı dağıtılmış hizmet reddi (DDoS) saldırılarına karşı korumak için Azure DDoS Koruması'nı etkinleştirin.

Daha fazla bilgi için bkz. Uygulama yönetimi en iyi yöntemleri.

uygulama Sıfır Güven

Kaynağından bağımsız olarak her erişim isteğinin kapsamlı bir şekilde doğrulandığından emin olmak için DevOps süreçlerinizde Sıfır Güven ilkelerini benimseyin. Sıfır Güven, "asla güvenme, her zaman doğrulama" ilkesiyle çalışır, yani ağ içinde veya dışında hiçbir varlığa varsayılan olarak güvenilmez. Sıfır Güven uygulayarak güvenlik ihlali riskini önemli ölçüde azaltabilir ve kaynaklarınıza yalnızca yetkili kullanıcıların ve cihazların erişebildiğinden emin olabilirsiniz.

Sıfır Güven, ağ içinde yanal harekete karşı korunmaya yardımcı olur ve ağın güvenliği ihlal edilmiş bir parçası olsa bile tehdidin kapsanmasını ve yayılmamasını sağlar. Daha fazla bilgi için Sıfır Güven Değerlendirmesi kılavuzuna bakın.

Endüstri standartlarına uyma

Azure DevOps ortamınızın, ortamınızı koruyan ve kullanıcılarınıza karşı güveni koruyan sektör standartlarına ve düzenlemelerine uygun olduğundan emin olun.

  • Sektör standartlarına uyumluluğu sağlayın: Azure DevOps, ISO/IEC 27001, SOC 1/2/3 ve GDPR gibi çeşitli sektör standartlarına ve düzenlemelerine uygundur. Ortamınızın bu standartlara uygun olduğundan emin olun.
  • Uyumluluk ilkelerini zorunlu kılma:İşlem hatlarınız içindal ilkeleri ve uyumluluk ilkeleri uygulayın.
  • CI/CD'ler için Bileşen Yönetimi'ne uyumlulaştırma, aşağıdaki avantajları sunar:
    • Güvenlik açığı algılama: Açık kaynak bileşenlerindeki bilinen güvenlik açıklarına karşı sizi uyarır.
    • Lisans uyumluluğu: Bileşenlerin kuruluşunuzun lisans ilkeleriyle uyumlu olmasını sağlar.
    • Politika uygulaması: Yalnızca onaylanmış versiyonların kullanılmasını sağlar.
    • İzleme ile görünürlük: Daha kolay yönetim için depolardaki bileşenlere görünürlük sağlar.

Erişimi denetleme ve kısıtlama

Kuruluşa erişimi olan kişileri kısıtlamak ve denetlemek için yöneticilerin kullanabileceği tüm güvenlik ilkelerini gözden geçirin. Gereksiz proje oluşturmayı önleyerek kuruluşun denetimini koruyun.

Dış konukları yönetme

Dış konuk erişimi, düzgün yönetilmemesi durumunda olası güvenlik risklerine neden olabilir. Bu riskleri en aza indirin ve ortamınızın güvenliğinden ödün vermeden dış konukların uygun erişim düzeyine sahip olduğundan emin olun.

  • Dış konuk erişimini engelle: İş gereği yoksa dış konuk erişimini önlemek için "Davetlerin herhangi bir etki alanına gönderilmesine izin ver" ilkesini devre dışı bırakın.
  • Farklı e-postalar veya UPN'ler kullanın: Kişisel ve işle ilgili hesaplar arasındaki belirsizliği ortadan kaldırmak için kişisel ve iş hesapları için farklı e-posta adresleri veya kullanıcı asıl adları (UPN' ler) kullanın.
  • Dış konuk kullanıcıları gruplandırma: Tüm dış konuk kullanıcıları tek bir Microsoft Entra grubuna yerleştirin ve bu grubun izinlerini uygun şekilde yönetin. Grup kurallarının bu kullanıcılar için geçerli olduğundan emin olmak için doğrudan atamaları kaldırın.
  • Kuralları düzenli olarak yeniden değerlendirin: Kullanıcılar sayfasının Grup kuralları sekmesindeki kuralları düzenli olarak gözden geçirin. Microsoft Entra Id'de kuruluşunuzu etkileyebilecek grup üyeliği değişikliklerini göz önünde bulundurun. Microsoft Entra Id'nin dinamik grup üyeliğini güncelleştirmesi 24 saate kadar sürebilir ve kurallar her 24 saatte bir ve bir grup kuralı değiştiğinde otomatik olarak yeniden değerlendirilir.

Daha fazla bilgi için bkz. Microsoft Entra Id'de B2B konukları.

Gereksiz kullanıcıları kaldırma

Etkin olmayan veya yetkisiz kullanıcıları kuruluşunuzdan kaldırmak güvenli bir ortamın korunmasına yardımcı olur ve olası güvenlik ihlalleri riskini azaltır.

  • Etkin olmayan Microsoft hesabı kullanıcılarını (MSA' lar) doğrudan kaldırın: MSA kullanıyorlarsa etkin olmayan kullanıcıları kuruluşunuzdan doğrudan kaldırın. Kaldırılan MSA hesaplarına atanan iş öğeleri için sorgu oluşturamazsınız.
  • Microsoft Entra kullanıcı hesaplarını devre dışı bırakın veya silin: Microsoft Entra Kimliği'ne bağlıysanız, Azure DevOps kullanıcı hesabını etkin tutarken Microsoft Entra kullanıcı hesabını devre dışı bırakın veya silin. Azure DevOps kullanıcı kimliğini kullanarak iş öğesi geçmişini sorgulamaya devam edebilirsiniz.
  • Yöneticiler için kullanıcı PTS'lerini iptal etme: Mevcut kullanıcı PAT'lerini düzenli olarak gözden geçirerek ve iptal ederek bu kritik kimlik doğrulama belirteçlerinin güvenli bir şekilde yönetilmesini sağlayın.
  • Tek tek kullanıcılara verilen özel izinleri iptal edin: En düşük ayrıcalık ilkesiyle uyumlu olduğundan emin olmak için tek tek kullanıcılara verilen özel izinleri denetleyin ve iptal edin.
  • Kaldırılan kullanıcılardan çalışmayı yeniden atayın: Kullanıcıları kaldırmadan önce, yükü etkili bir şekilde dağıtmak için iş öğelerini geçerli ekip üyelerine yeniden atayın.

Kapsam izinleri

Yalnızca yetkili kişilerin ve hizmetlerin hassas bilgilere erişebilmesini ve kritik eylemler gerçekleştirebilmesini sağlamak için gerekli en düşük izinleri ve erişim düzeylerini sağlayın. Bu uygulama, yetkisiz erişim riskini ve olası veri ihlallerini en aza indirmeye yardımcı olur.

Kuruluşunuzdaki rol değişiklikleri, yeni işe alımlar veya kalkışlar gibi değişikliklere uyum sağlamak için bu ayarları düzenli olarak gözden geçirin ve güncelleştirin. İzinler ve erişim düzeyleri için düzenli bir denetim uygulamak, güvenlik duruşunuzun sağlam ve en iyi yöntemlerle uyumlu kalmasını sağlayarak tüm tutarsızlıkları belirlemeye ve düzeltmeye yardımcı olabilir.

İzinler hakkında daha fazla bilgi edinin:

İzinlerin güvenli ve verimli bir şekilde yönetilmesini sağlamak için Azure DevOps ortamınızda izinleri düzgün bir şekilde kapsamlayın. Kapsam belirleme izinleri, rollerine ve sorumluluklarına göre kullanıcılara ve gruplara uygun erişim düzeyini tanımlamayı ve atamayı içerir. Bu uygulama, yalnızca yetkili kişilerin hassas bilgilere ve kritik eylemlere erişimi olduğundan emin olarak yetkisiz erişim riskini ve olası veri ihlallerini en aza indirmeye yardımcı olur.

İzinleri etkili bir şekilde kapsamak için aşağıdaki eylemleri gerçekleştirin:

  • Devralmayı devre dışı bırak:İzin devralmayı önleyin ve istenmeyen erişimi engelleyin. Devralma, varsayılan olarak izin verme özelliği nedeniyle sahip olmaması gereken kullanıcılara istemeden izin verebilir. Yalnızca hedeflenen kullanıcıların erişimi olduğundan emin olmak için izinleri dikkatle yönetin ve açıkça ayarlayın.
  • Segment ortamları: Güvenliği geliştirmek ve çakışmaları önlemek için Geliştirme, Test ve Üretim gibi farklı ortamlar için ayrı Azure hesapları kullanın. Bu yaklaşım, ortamlar arasında kaynak çakışması ve veri kirliliği riskini en aza indirir ve kaynakların daha iyi yönetilmesini ve yalıtılmasını sağlar. Daha fazla bilgi için lütfen bakınız Azure Landing Zone.
  • Erişimi denetleme ve uyumluluğu sağlama: Kullanılmayan Azure bölgelerine ve hizmetlerine erişimi kısıtlamak ve kuruluş standartlarına uyumluluğu sağlamak için Azure İlkesi'ni kullanın. Bu eylem, yetkisiz erişimi ve kullanımı engelleyerek en iyi yöntemlerin uygulanmasına ve güvenli bir ortamın korunmasına yardımcı olur.
  • Azure rol tabanlı denetim (ABAC) uygulama: Yetkisiz erişimi sınırlamak için düzgün etiketlenmiş kaynaklarla ABAC kullanın. Bu eylem, erişim izinlerinin belirli özniteliklere göre verilmesini sağlar ve yetkisiz kaynak oluşturma ve erişimi engelleyerek güvenliği artırır.
  • Güvenlik gruplarını kullanın: Birden çok kullanıcının izinlerini verimli bir şekilde yönetmek için güvenlik gruplarını kullanın. Bu yöntem, izinleri tek tek atamaya kıyasla erişimin verilmesini ve iptal edilmesini basitleştirir ve kuruluşunuz genelinde tutarlılık ve daha kolay yönetim sağlar.
    • Çok sayıda kullanıcıyı yönetirken Microsoft Entra Id, Active Directory veya Windows güvenlik gruplarını kullanın.
    • Projelere ve depolara erişimi yerleşik veya özel güvenlik gruplarıyla sınırlayarak hassas bilgileri sızdırma ve güvenli olmayan kod dağıtma riskini azaltın.
    • Yerleşik rollerden yararlanın ve geliştiriciler için varsayılan olarak Katkıda Bulunan'ı seçin. Yöneticiler yükseltilmiş izinler için Proje Yöneticisi güvenlik grubuna atanır ve bu sayede güvenlik izinlerini yapılandırabilir.
    • Grupları mümkün olduğunca küçük tutarak erişimi kısıtlayın.
    • Microsoft Entra Privileged Identity Management (PIM) grubuylatam zamanında erişim uygulayın. Yükseltilmiş izinleri yalnızca gerektiğinde verin ve kalıcı erişimle ilişkili riski azaltın.

Servis hesaplarından kurtul

Geçmişte hizmet hesapları, otomatik işlemleri ve hizmetleri çalıştıran araçlar oluşturmak için kişisel erişim belirteçleriyle (PAT) kullanılıyordu. Sonuç olarak, genellikle yükseltilmiş izinlere sahip olurlar. Hizmet hesabıyla oluşturmaya devam etmeden önce bunun sizin için doğru kimlik doğrulama yaklaşımı olup olmadığını gözden geçirin.

  • PTS'lerinizi Microsoft Entra belirteçleriyle değiştirin:Microsoft Entra belirteçleri, çoğu PAT yerine kullanılabilecek kısa ömürlü (bir saatlik) belirteçlerdir . PAT'ler kullanım kolaylığı nedeniyle popülerdir, ancak sızdırıldıkları kolaylık nedeniyle de popüler bir saldırı vektörülerdir.
  • Birini seçmeden önce kullanılabilir tüm kimlik doğrulama mekanizmalarını okuyun.
  • Bunun yerine hizmet sorumlularını kullanın:Hizmet sorumluları bir Microsoft Entra uygulamasının kimliğini temsil eder ve uygulamanın belirli bir kiracıda neler yapabileceğini tanımlayan kendi izinlerine sahiptir. Hizmet sorumluları, uygulamanın ihtiyaç duyduğu izinleri yönetmek için önerilen seçenektir. Tüm hizmet hesaplarının PAT'lerini hizmet sorumlusu için alınan Microsoft Entra belirteçleriyle değiştirin.
    • Azure kaynaklarının üzerine inşa ediyorsanız yönetilen kimlik kullanarak kimlik doğrulaması yaparak bunu bir adım ileri taşıyın. Yönetilen kimlikler sizin için tüm kimlik bilgileri yönetimiyle ilgilenir.
  • Hizmet bağlantılarını kullan: Hizmet bağlantıları, hizmet sorumlularını bir işlem hattı içinde kullanmanıza olanak sağlar. Gizli dizi değişkenlerini doğrudan derlemelere geçirmeden hizmetlere güvenli bir şekilde bağlanmak için mümkün olduğunda hizmet bağlantılarını kullanın. Bağlantıları belirli kullanım örnekleriyle kısıtlayın. daha fazla bilgi için bu makalenin Kapsam hizmeti bağlantıları bölümüne bakın.
    • Gizli anahtarla uygulama kaydı yerine, uygulama kaydı veya yönetilen kimlik ile iş yükü kimlik federasyonu kullanarak Azure kaynaklarıyla kimlik doğrulaması yapın.

Hizmet hesabı kullanımda kalırken:

  • Tek amaçlı hizmet hesapları oluşturma: Riski en aza indirmek için her hizmetin ayrılmış hesabı olmalıdır. Normal kullanıcı hesaplarını hizmet hesabı olarak kullanmaktan kaçının.
  • Kullanılmayan hizmet hesaplarını tanımlama ve devre dışı bırakma: Artık kullanımda olmayan hesapları düzenli olarak gözden geçirin ve tanımlayın. Silmeyi düşünmeden önce kullanılmayan hesapları devre dışı bırakın.
  • Ayrıcalıkları kısıtla: Hizmet hesabı ayrıcalıklarını gereken en düşük değerle sınırlayın. Hizmet hesapları için etkileşimli oturum açma haklarından kaçının.
  • Rapor okuyucuları için ayrı kimlikler kullanın: Hizmet hesapları için etki alanı hesapları kullanıyorsanız, izinleri yalıtmak ve gereksiz erişimi önlemek için rapor okuyucular için farklı bir kimlik kullanın.
  • Çalışma grubu yüklemeleri için yerel hesapları kullanın: Bir çalışma grubuna bileşen yüklerken, kullanıcı hesapları için yerel hesapları kullanın. Bu senaryoda etki alanı hesaplarından kaçının.
  • Hizmet hesabı etkinliğini izleme: Hizmet hesabı etkinliğini izlemek için denetim uygulayın ve denetim akışları oluşturun.

Kapsam hizmeti bağlantıları

Azure kaynaklarına güvenli ve verimli erişim sağlamak için hizmet bağlantılarını düzgün bir şekilde kapsamlayın. Hizmet bağlantıları, Azure DevOps'un dış hizmetlere ve kaynaklara bağlanmasına olanak sağlar ve bu bağlantıların kapsamını ekleyerek erişimi yalnızca gerekli kaynaklarla sınırlandırabilir ve yetkisiz erişim riskini azaltabilirsiniz.

  • Erişimi sınırla:Azure Resource Manager hizmet bağlantılarınızın kapsamını belirli kaynaklara ve gruplara göre sınırlandırarak erişimi sınırlayın. Azure aboneliği genelinde geniş kapsamlı katkıda bulunan hakları tanımayın.
  • Azure Resource Manager'ı kullanın: Uygulama kaydındaki bir gizli dizi yerine uygulama kaydı veya yönetilen kimlikle iş yükü kimlik federasyonu kullanarak Azure kaynaklarıyla kimlik doğrulaması yapın. Daha fazla bilgi için bkz. İş yükü kimlik federasyonu kullanan bir Azure Resource Manager hizmet bağlantısı oluşturma.
  • Kapsam kaynak grupları: Kaynak gruplarının yalnızca derleme işlemi için gereken Sanal Makineleri (VM) veya kaynakları içerdiğinden emin olun.
  • Klasik hizmet bağlantılarından kaçının: Kapsam belirleme seçenekleri olmayan klasik bağlantılar yerine modern Azure Resource Manager hizmet bağlantılarını tercih edin.
  • Amaca özgü ekip hizmeti hesaplarını kullanın: Güvenliği ve denetimi korumak için amaca özgü ekip hizmeti hesaplarını kullanarak hizmet bağlantılarının kimliğini doğrulama.

Daha fazla bilgi için bkz. Ortak hizmet bağlantı türleri.

Denetim olaylarını gözden geçirme

Denetim, kuruluşunuzdaki kullanıcı eylemlerini, izin değişikliklerini ve kullanım desenlerini izlemek için kullanılabilir. Olası güvenlik olaylarını hemen tanımlamak ve ele almak için bu araçları kullanın.

  • Denetimi etkinleştir: Kullanıcı eylemleri, izinler, değişiklikler ve güvenlik olaylarıyla ilgili olayları izleyin ve görüntüleyin.
  • Denetim günlüklerini ve akışlarını düzenli olarak gözden geçirin: Kullanıcı etkinliklerini izlemek ve şüpheli davranışları algılamak için denetim günlüklerini düzenli olarak gözden geçirin. Özellikle yöneticiler ve diğer kullanıcılar tarafından beklenmeyen kullanım desenleri arayın. Bu eylem olası güvenlik ihlallerini belirlemeye yardımcı olur ve düzeltici eylemler gerçekleştirir. İzlediğimiz denetim olayları hakkında daha fazla bilgi edinin.
  • Güvenlik uyarılarını yapılandırma: Güvenlik olaylarını veya ilke ihlallerini size bildirmek için uyarıları yapılandırın. Bu eylem olası tehditlere zamanında yanıt vermenin sağlanmasını sağlar.

Hizmetlerinizin güvenliğini sağlama

Azure DevOps'ta hizmetlerinizin güvenliğini ve bütünlüğünü sağlamak için her hizmet için güvenlik önlemleri uygulayın. Bu ölçüler izinleri ayarlamayı, erişimi yönetmeyi ve her hizmete özgü güvenlik özelliklerini kullanmayı içerir.

Güvenlik taramayı otomatikleştirme

İş ortağı ekiplerimiz tarafından oluşturulan aşağıdaki otomatik güvenlik araçlarıyla kod ve gizli dizi güvenlik açıklarını izleyin:

  • Kod tarama ve analizini kullanın: Kodunuzu güvenlik açıklarına, gizli dizilere ve yanlış yapılandırmalara karşı taramak için Microsoft Defender gibi araçlardan yararlanın. Bu eylem, geliştirme sürecinin başlarında güvenlik sorunlarını tanımlamaya ve düzeltmeye yardımcı olur.
  • GitHub için Azure DevOps Kimlik Bilgisi Tarayıcısını (CredScan) kullanın: Yönetilen kimlik kullanmak bir seçenek değilse kimlik bilgilerinin kod ve yapılandırma dosyalarına eklemek yerine Azure Key Vault gibi güvenli konumlarda depolandığından emin olun. Kod içindeki kimlik bilgilerini tanımlamak için Azure DevOps Kimlik Bilgisi Tarayıcısı'nı uygulayın. Daha fazla bilgi için bkz. CredScan'ı kullanmaya başlama.
  • GitHub için yerel gizli dizi taramasını kullanın: Yönetilen kimlik kullanmak bir seçenek değilse, gizli dizilerin kod ve yapılandırma dosyalarına eklemek yerine Azure Key Vault gibi güvenli konumlarda depolandığından emin olun. Kod içindeki gizli dizileri tanımlamak için yerel gizli dizi tarama özelliğini kullanın. Daha fazla bilgi için bkz: Gizli tarama hakkında.

Daha fazla bilgi için bkz. GitHub gelişmiş güvenliğine genel bakış.