Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Güvenlik önerileri Microsoft Defender for Cloud güvenlik duruşunuzu geliştirmenize ve sağlamlaştırmanıza yardımcı olur. Öneriler, Azure abonelikleri, Amazon Web Services (AWS) hesapları ve Defender for Cloud etkinleştirilmiş Google Cloud Platform (GCP) projeleri için tanımlanan güvenlik standartlarına yönelik değerlendirmeleri temel alır.
Bu makalede, aşağıdakilerin nasıl yapılacağı açıklanmaktadır:
- Kusto Sorgu Dili (KQL) sorgusuyla tüm bulutlar (Azure, AWS ve GCP) için özel öneriler oluşturun.
- Özel güvenlik standardına özel öneriler atayın.
Prerequisites
Özel öneriler veya standartlar oluşturmadan önce, aşağıdaki gereksinimleri karşıladığınızdan emin olun:
- Yeni bir güvenlik standardı oluşturmak için abonelikte Sahip izinlerine sahip olmanız gerekir.
- Özel öneriler oluşturmak için Güvenlik Yöneticisi izinlerine ihtiyacınız vardır.
- Kusto Sorgu Dili'ni (KQL) temel alan özel öneriler oluşturmak için Defender Cloud Security Posture Management (CSPM) planının etkin olması gerekir. Tüm müşteriler Azure İlkesi temelinde özel öneriler oluşturabilir.
- Özel öneriler için Azure bulutlarındaki desteği gözden geçirin.
Özel öneriler ve KQL sorguları yazma hakkında daha fazla bilgi edinmek için Defender for Cloud bu bölümünü sahada izlemenizi öneririz.
Özel öneri oluşturma
Düzeltme adımları, önem derecesi ve önerinin atanması gereken standartlar da dahil olmak üzere özel öneriler oluşturun. KQL ile öneri mantığı eklersiniz. Gerektiğinde ince ayar yapabileceğiniz yerleşik sorgu şablonlarıyla basit bir sorgu düzenleyicisi kullanabilir veya KQL sorgunuzu sıfırdan yazabilirsiniz.
Özel öneri oluşturmak için:
Azure portalınaoturum açın.
Microsoft Defender for Cloud>Environment settings> ilgili aboneliğe gidin.
Güvenlik ilkeleri>+ Özel öneri oluştur'u seçin.
Ayrıntıları girin: Gerekli: Ad, Kapsam, Önem Derecesi ve Güvenlik sorunu. İsteğe bağlı: Açıklama, Düzeltme.
sonrakiseçin.
Bir KQL sorgusu girin veya Sorgu düzenleyicisini aç'ı seçin.
sonrakiseçin.
Öneri için ilgili standartları seçin.
sonrakiseçin.
Atanacak özel standartları seçin.
Gözden geçir ve oluştur'u seçin.
Öneri ayrıntılarını gözden geçirin.
Oluştur'i seçin.
Sorgu düzenleyicisini kullanma
Öneri sorgusu oluşturmak için sorgu düzenleyicisini kullanmanızı öneririz. Ayrıca, sağlanan sorgu şablonlarını ve örnekleri kullanarak örnek sorguları görüntüleyebilir ve kendi sorgunuzu nasıl oluşturacağınızı öğrenebilirsiniz.
- Düzenleyiciyi kullanmak, sorgunuzu kullanmaya başlamadan önce oluşturmanıza ve test etmeye yardımcı olur.
- Nasıl yapılır seçeneğini belirleyerek sorgunun yapılandırılmasıyla ilgili yardımın yanı sıra ek yönergelere ve bağlantılara ulaşabilirsiniz.
- Düzenleyici, kendi sorgunuzu oluşturmanıza yardımcı olmak için kullanabileceğiniz yerleşik öneri sorgusu örnekleri içerir. Veriler API'dekiyle aynı yapıda görünür.
Yeni sorgu'yu seçin.
Başlamak için örnek sorgu şablonunu yönergeleriyle birlikte kullanın veya sayfanın alt kısmından örnek bir yerleşik öneri sorgusu seçin.
Oluşturduğunuz sorguyu test etmek için Sorguyu çalıştır'ı seçin.
Sorgu hazır olduğunda düzenleyiciden kesip Öneri sorgu bölmesine yapıştırın.
Sonra seçin, öneri için ilgili standartları seçin, atamak için özel standartları seçin ve ardından İncele ve oluştur seçeneğini seçin.
Öneri detaylarını gözden geçirin ve Oluştur'u seçin.
Sorgu şablonları ve örnekler
Sorgu düzenleyicisi yerleşik örnekler içerir ve bu bölümdeki şablonlar ortak güvenlik denetimlerinin nasıl yapılandırılıp yapılandırılmayeceğini gösterir. Her şablon kapsamdaki kaynakları döndürür ve uyumlu olmayan kaynakları olarak UNHEALTHYişaretler. Bu şablon deseninde yalnızca condition ifadesini düzenleyin ve HealthStatus satırını değiştirmeden bırakın.
Note
Bu bölümdeki şablonlar Azure kaynak türlerini kullanır. AWS ve GCP kaynakları için Environment == 'Azure' değerini Environment == 'AWS' veya Environment == 'GCP' olarak değiştirin ve Identifiers.Type ortamınızdaki kaynak türüyle eşleşecek şekilde güncelleştirin.
KQL çıktı şeması gereksinimleri
Sorgunuzu yazmadan önce gerekli çıkış şemasını anlayın. Microsoft Defender for Cloud sonuçlarınızı bu şekilde yorumlar ve bulguları kaynaklara eşler.
Gerekli çıkış sütunları:
| Column | Type | Purpose |
|---|---|---|
Id |
Dize (gerekli) | Defender for Cloud tarafından kaynağa başvurmak için kullanılan kaynak tanımlayıcısı. |
Name |
Dize (gerekli) | Bulgularda insan tarafından okunabilir kaynak adı görüntülenir. |
Environment |
Dize (gerekli) | Bulut ortamı: Azure, AWS veya GCP. |
Identifiers |
Dinamik (gerekli) | Kaynak kayıttan aktarılan kaynak türü ve tanımlayıcılar. |
AdditionalData |
Dinamik (gerekli) | Kaynak kayıttan aktarılan ek kaynak meta verileri. |
Record |
Dinamik (gerekli) | Tüm özellikleri içeren tam kaynak kaydı. |
HealthStatus |
Dize (gerekli) | Değerlendirme sonucu: UNHEALTHY (uyumlu değil) veya HEALTHY (uyumlu). |
Sorgunuzu her zaman şu şekilde sonlandır: | project Id, Name, Environment, Identifiers, AdditionalData, Record, HealthStatus
Değerlendirme eşlemesi:
Her sorgu her kaynak için bir HealthStatus değer ayarlamalıdır. Özel öneri sorunuzda temel sağlık değerlendirme mantığı olarak aşağıdaki deseni kullanın, yer tutucu koşulu kendi testinizle değiştirin:
| extend condition = (your condition here)
| extend HealthStatus = iff(condition, 'UNHEALTHY', 'HEALTHY')
Bu kalıpta yalnızca condition ifadesini düzenleyin. Aşağıdaki HealthStatus ifadeyi sorguda değiştirmeden tutun ki Defender for Cloud eşleşen kaynakları uyumlu veya uyumsuz olarak sınıflandırabilsin:
| extend HealthStatus = iff(condition, 'UNHEALTHY', 'HEALTHY')
HealthStatus değeri UNHEALTHY olan kaynaklar, Defender for Cloud'da uyumlu olmayan bulgular olarak görünür.
HealthStatus öğesinin HEALTHY olduğu kaynaklar uyumludur ve bulgularda görünmez.
Önemli
HealthStatus değerini her zaman 'UNHEALTHY' veya 'HEALTHY' olarak ayarlayın. Kapsam dahilindeki tüm kaynakları döndürün. Defender for Cloud uyumluluğu belirlemek için HealthStatus sütununu kullanır. Sonuç kümesinden kaynakların atlanması, sağlıklı olarak değil, veri yok olarak kabul edilir.
Genel hatalar ve düzeltmeler:
-
Gerekli sütunlar eksik: Gerekli yedi sütundan herhangi biri eksikse sorgu başarısız olur. Her zaman
| project Id, Name, Environment, Identifiers, AdditionalData, Record, HealthStatusile bitirin. -
Yanlış
HealthStatusdeğerler: Yalnızca'UNHEALTHY've'HEALTHY'geçerli değerlerdir (büyük/küçük harfe duyarlı). Diğer değerler veya null, ayrıştırma hatalarına neden olur. -
Yanlış özellik yolları: Özelliklere doğrudan değil,
Record.properties.*aracılığıyla erişilir. Örneğin,Record.properties.httpsOnlydeğilproperties.httpsOnlykullanın. -
Kaynak türü büyük/küçük harf duyarlılığı: Karşılaştırmalar için
=~(büyük/küçük harfe duyarsız eşleşme) kullanınIdentifiers.Type. Örneğin,Identifiers.Type =~ 'Microsoft.Storage/storageAccounts'. -
Abonelikler genelinde boş özellikler: Sorgunuzu farklı yapılandırmalara sahip aboneliklerde test edin. Özelliklerin bulunmayabileceği durumlarda
isnull()kontrollerini kullanın.
Uygun ölçekte özel öneriler kullanma
Azure portalında özel öneriler oluşturmak çoğu kullanıcı için en iyisidir. Arabirim, kullanışlı bir KQL düzenleyicisi ve yerleşik doğrulama araçları sağlar. Birçok ortamda veya abonelikte öneriler dağıtmanız gerektiğinde programlı bir yaklaşım da yararlı olabilir.
API aracılığıyla otomatikleştirme
KQL sorgularını önceden doğruladıysanız ve özel öneriler oluşturmayı otomatikleştirmek istiyorsanız Microsoft Defender for Cloud API'sini kullanabilirsiniz. Bu yöntem, bulut ortamlarınızda tutarlı ve ölçeklenebilir olduklarından emin olarak önerileri hızla dağıtmanıza olanak tanır.
- Avantajlar: Özel önerilerin dağıtımını otomatikleştirebilir ve ölçeklendikleyebilirsiniz.
- Ne zaman kullanılır: Bu yöntem, önerileri birden çok ortamda tutarlı bir şekilde uygulamanız gereken büyük ölçekli uygulamalar için idealdir.
Özel önerileri yönetmek için API'yi kullanma hakkında daha fazla bilgi için bkz. Defender for Cloud Bileşik API başvurusu.
Özel bir standart oluşturun
Özel öneriler bir veya daha fazla özel standarda atanabilir.
Özel bir standart oluşturmak için:
Azure portalınaoturum açın.
Microsoft Defender for Cloud>Environment settings> ilgili aboneliğe gidin.
Güvenlik ilkeleri>+ Oluştur>Standart seçeneğini belirleyin.
Özel standarda eklemek istediğiniz önerileri seçin.
(İsteğe bağlı) Azure abonelikler için Kaynak sütununu gözden geçirin.
Oluştur'i seçin.
Azure İlkesi (eski) ile özel öneriler oluşturma ve geliştirme
Azure abonelikleri için özel öneriler ve standartlar oluşturabilir ve Azure İlkesi kullanarak bunları geliştirebilirsiniz. Bu eski bir özelliktir ve yeni özel öneriler özelliğini kullanmanızı öneririz.
Özel öneri ve standart (eski) oluşturma
Azure İlkesi’de ilke tanımları ve inisiyatifler oluşturarak ve bunları Defender for Cloud’a dahil ederek, Defender for Cloud içinde özel öneriler ve standartlar oluşturabilirsiniz.
Azure İlkesi (eski) ile özel öneri veya standart oluşturmak için:
- Azure İlkesi portalında bir veya daha fazla politika tanımı oluşturun veya politika tanımlarını programatik olarak oluşturun.
- Özel ilke tanımlarını içeren bir ilke girişimi oluşturun.
Girişimi özel standart olarak ekleme (eski)
İlke atamaları, azure kaynaklarını bir ilkeye veya girişime atamak için Azure İlkesi tarafından kullanılır.
bir girişimi Defender for Cloud özel bir güvenlik standardına eklemek için, burada gösterildiği gibi istek gövdesine "ASC":"true" eklemeniz gerekir.
ASC alanı, girişimi Microsoft Defender for Cloud’a ekler.
Özel bir inisiyatifi sisteme dahil etmek için:
Özel bir girişimi sisteme dahil etme örneği
Özel Defender for Cloud standardınızı destekleyen Azure İlkesi girişimini oluşturmak veya güncellemek için aşağıdaki REST isteğini kullanın:
PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}?api-version=2021-06-01
İstek gövdesi (JSON):
{
"properties": {
"displayName": "Cost Management",
"description": "Policies to enforce low cost storage SKUs",
"metadata": {
"category": "Cost Management",
"ASC":"true"
},
"parameters": {
"namePrefix": {
"type": "String",
"defaultValue": "myPrefix",
"metadata": {
"displayName": "Prefix to enforce on resource names"
}
}
},
"policyDefinitions": [
{
"policyDefinitionId": "/subscriptions/<Subscription ID>/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1",
"policyDefinitionReferenceId": "Limit_Skus",
"parameters": {
"listOfAllowedSKUs": {
"value": [
"Standard_GRS",
"Standard_LRS"
]
}
}
},
{
"policyDefinitionId": "/subscriptions/<Subscription ID>/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
"policyDefinitionReferenceId": "Resource_Naming",
"parameters": {
"prefix": {
"value": "[parameters('namePrefix')]"
},
"suffix": {
"value": "-LC"
}
}
}
]
}
}
Atamayı kaldırma örneği
Bir abonelikten eski özel standardı kaldırmak için, politika atamasını silmek için aşağıdaki REST isteğini kullanın:
DELETE https://management.azure.com/{subscription}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}?api-version=2018-05-01
Özel önerileri geliştir (eski sürüm)
Bulut için Microsoft Defender ile sağlanan yerleşik öneriler önem derecesi düzeyleri ve düzeltme yönergeleri gibi ayrıntıları içerir. Bu tür bilgileri Azure için özel önerilere eklemek istiyorsanız REST API'sini kullanın.
Ekleyebileceğiniz iki bilgi türü şunlardır:
- RemediationDescription – Dize
- Önem Derecesi – Numaralandırma [Düşük, Orta, Yüksek]
Meta veriler, özel girişimin parçası olan bir ilke için ilke tanımına eklenmelidir. Meta veriler, gösterildiği gibi 'securityCenter' özelliğinde olmalıdır:
{
"metadata": {
"securityCenter": {
"RemediationDescription": "Custom description goes here",
"Severity": "High"
}
}
}
Aşağıdaki örnek, metaveri özelliğini iyileştirme ve şiddet detaylarıyla birlikte securityCenter içeren tam bir özel politika tanımını gösterir:
{
"properties": {
"displayName": "Security - ERvNet - AuditRGLock",
"policyType": "Custom",
"mode": "All",
"description": "Audit required resource groups lock",
"metadata": {
"securityCenter": {
"RemediationDescription": "Resource Group locks can be set via Azure Portal -> Resource Group -> Locks",
"Severity": "High"
}
},
"parameters": {
"expressRouteLockLevel": {
"type": "String",
"metadata": {
"displayName": "Lock level",
"description": "Required lock level for ExpressRoute resource groups."
},
"allowedValues": [
"CanNotDelete",
"ReadOnly"
]
}
},
"policyRule": {
"if": {
"field": "type",
"equals": "Microsoft.Resources/subscriptions/resourceGroups"
},
"then": {
"effect": "auditIfNotExists",
"details": {
"type": "Microsoft.Authorization/locks",
"existenceCondition": {
"field": "Microsoft.Authorization/locks/level",
"equals": "[parameters('expressRouteLockLevel')]"
}
}
}
}
}
}
Başka bir securityCenter özellik örneği için bkz. Değerlendirme meta verileri için REST API örnekleri.
Sonraki Adımlar
Kusto sorguları hakkında daha fazla bilgi edinmek için aşağıdaki bağlantıları kullanabilirsiniz: