Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği ile ortak güvenlik gereksinimlerini karşılamaya yönelik playbook

Şunlar için geçerlidir: Azure SQL Veritabanı Azure SQL Yönetilen Örneği

Bu makalede, yaygın güvenlik gereksinimlerini çözmeye yönelik en iyi yöntemler sağlanmaktadır. Tüm gereksinimler tüm ortamlar için geçerli değildir ve hangi özelliklerin uygulandığı konusunda veritabanınıza ve güvenlik ekibinize başvurmalısınız.

Yaygın güvenlik gereksinimlerini çözme

Bu belge, Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği kullanarak yeni veya mevcut uygulamalar için genel güvenlik gereksinimlerini çözme konusunda rehberlik sağlar. Üst düzey güvenlik alanlarına göre düzenlenmiştir. Belirli tehditleri ele almak için Ortak güvenlik tehditleri ve olası risk azaltmalar bölümüne bakın. Sunulan önerilerden bazıları uygulamaları şirket içinden Azure'a geçirirken geçerli olsa da, bu belgenin odak noktası geçiş senaryoları değildir.

Azure SQL Veritabanı dağıtım teklifleri bu kılavuzda ele alınmıştır

Bu kılavuzda ele alınmayan dağıtım teklifleri

  • Azure Synapse Analytics
  • Azure SQL VM'ler (IaaS)
  • SQL Server

Hedef kitle

Bu kılavuzun hedef kitleleri, müşteriler Azure SQL Veritabanının güvenliğini sağlama konusunda sorularla karşılaşıyor. Bu en iyi uygulama makalesi ile ilgilenen roller şunlardır ancak bunlarla sınırlı değildir:

  • Güvenlik Mimarları
  • Güvenlik Yöneticileri
  • Uyumluluk Memurları
  • Gizlilik Yetkilileri
  • Güvenlik Mühendisleri

Bu kılavuz nasıl kullanılır?

Bu belge, mevcut Azure SQL Veritabanı güvenlik belgelerimize yardımcı olarak tasarlanmıştır.

Aksi belirtilmedikçe, ilgili hedefe veya gereksinime ulaşmak için her bölümde listelenen tüm en iyi yöntemleri izlemenizi öneririz. Belirli güvenlik uyumluluk standartlarını veya en iyi uygulamaları karşılamak için, önemli mevzuat uyumluluğu denetimleri uygun olan her yerde Gereksinimler veya Hedefler bölümünde listelenir. Bu makalede belirtilen güvenlik standartları ve düzenlemeleri şunlardır:

Burada listelenen önerileri ve en iyi yöntemleri güncelleştirmeyi planlıyoruz. Bu makalenin altındaki Geri Bildirim bağlantısını kullanarak bu belge için giriş veya düzeltmeler sağlayın.

Kimlik Doğrulaması

Kimlik doğrulaması , kullanıcının iddia ettiği kişi olduğunu kanıtlama işlemidir. Azure SQL Veritabanı ve SQL Yönetilen Örneği iki kimlik doğrulama türünü destekler:

  • SQL kimlik doğrulaması
  • Azure Active Directory kimlik doğrulaması

Not

Azure Active Directory kimlik doğrulaması tüm araçlar ve üçüncü taraf uygulamalar için desteklenmeyebilir.

Kimlikler için merkezi yönetim

Merkezi kimlik yönetimi aşağıdaki avantajları sunar:

  • Sunucular, veritabanları ve yönetilen örnekler arasında oturum açma bilgilerini yinelemeden grup hesaplarını yönetin ve kullanıcı izinlerini denetleyin.
  • Basitleştirilmiş ve esnek izin yönetimi.
  • Büyük ölçekte uygulamaların yönetimi.

Uygulama

  • Merkezi kimlik yönetimi için Azure Active Directory (Azure AD) kimlik doğrulamasını kullanın.

En iyi uygulamalar

Not

  • Azure AD kimlik doğrulaması Azure SQL denetim günlüklerine kaydedilir ancak Azure AD oturum açma günlüklerine kaydedilmez.
  • Azure'da verilen Azure RBAC izinleri Azure SQL Veritabanı veya SQL Yönetilen Örneği izinleri için geçerli değildir. Bu tür izinler mevcut SQL izinleri kullanılarak el ile oluşturulmalıdır/eşlenmelidir.
  • İstemci tarafında, Azure AD kimlik doğrulamasının İnternet'e veya bir sanal ağa Kullanıcı Tanımlı Yol (UDR) üzerinden erişmesi gerekir.
  • Azure AD erişim belirteci istemci tarafında önbelleğe alınır ve yaşam süresi belirteç yapılandırmasına bağlıdır. Azure Active Directory'de yapılandırılabilir belirteç ömrü makalesine bakın
  • Azure AD Kimlik Doğrulaması sorunlarını giderme konusunda rehberlik için şu bloga bakın: Sorun giderme Azure AD.

Azure AD Multi-Factor Authentication

Bahsedilenler: OSA Uygulaması #2, ISO Access Control (AC)

Azure AD Multi-Factor Authentication, birden fazla kimlik doğrulama biçimi gerektirerek ek güvenlik sağlamaya yardımcı olur.

Uygulama

  • Koşullu Erişim kullanarak Azure AD'de Multi-Factor Authentication'ı etkinleştirin ve etkileşimli kimlik doğrulaması kullanın.

  • Alternatif olarak, Azure AD veya AD etki alanının tamamı için Multi-Factor Authentication'ı etkinleştirebilirsiniz.

En iyi uygulamalar

Kullanıcılar için parola tabanlı kimlik doğrulaması kullanımını en aza indirme

Bahsedilenler: OSA Uygulaması #4, ISO Access Control (AC)

Parola tabanlı kimlik doğrulama yöntemleri daha zayıf bir kimlik doğrulama biçimidir. Kimlik bilgileri tehlikeye girebilir veya yanlışlıkla verilebilir.

Uygulama

  • Parola kullanımını ortadan kaldıran Azure AD tümleşik kimlik doğrulaması kullanın.

En iyi uygulamalar

  • Windows kimlik bilgilerini kullanarak çoklu oturum açma kimlik doğrulaması kullanın. Şirket içi AD etki alanını Azure AD ile birleştirin ve tümleşik Windows kimlik doğrulamasını kullanın (Azure AD ile etki alanına katılmış makineler için).

Uygulamalar için parola tabanlı kimlik doğrulaması kullanımını en aza indirme

Bahsedilenler: OSA Uygulaması #4, ISO Access Control (AC)

Uygulama

  • Azure Yönetilen Kimlik'i etkinleştirin. Tümleşik veya sertifika tabanlı kimlik doğrulamayı da kullanabilirsiniz.

En iyi uygulamalar

Parolaları ve gizli dizileri koruma

Parolaların engellenemez olduğu durumlarda, bunların güvenli olduğundan emin olun.

Uygulama

  • Parolaları ve gizli dizileri depolamak için Azure Key Vault kullanın. Uygun olduğunda, Azure AD kullanıcılarla Azure SQL Veritabanı için Multi-Factor Authentication kullanın.

En iyi uygulamalar

  • Parolalardan veya gizli dizilerden kaçınmak mümkün değilse, kullanıcı parolalarını ve uygulama gizli dizilerini Azure Key Vault'de depolayın ve Key Vault erişim ilkeleri aracılığıyla erişimi yönetin.

  • Çeşitli uygulama geliştirme çerçeveleri, uygulamadaki gizli dizileri korumaya yönelik çerçeveye özgü mekanizmalar da sunabilir. Örneğin: ASP.NET çekirdek uygulama.

Eski uygulamalar için SQL kimlik doğrulamasını kullanma

SQL kimlik doğrulaması, kullanıcı adı ve parola kullanarak Azure SQL Veritabanına veya SQL Yönetilen Örneği bağlanırken kullanıcının kimlik doğrulamasını ifade eder. Her sunucuda veya yönetilen örnekte bir oturum açmanın ve her veritabanında bir kullanıcının oluşturulması gerekir.

Uygulama

  • SQL kimlik doğrulamayı kullanın.

En iyi uygulamalar

Erişim yönetimi

Erişim yönetimi (Yetkilendirme olarak da adlandırılır), Azure SQL Veritabanı veya SQL Yönetilen Örneği yetkili kullanıcıların erişimini ve ayrıcalıklarını denetleme ve yönetme işlemidir.

En az ayrıcalık ilkesini uygulama

Belirtilenler: FedRamp, AC-06' yı denetler, NIST: AC-6, OSA Uygulaması #3

En az ayrıcalık ilkesi, kullanıcıların görevlerini tamamlamak için gerekenden daha fazla ayrıcalığı olmaması gerektiğini belirtir. Daha fazla bilgi için Yeterli yönetim makalesine bakın.

Uygulama

Gerekli görevleri tamamlamak için yalnızca gerekli izinleri atayın:

En iyi uygulamalar

Aşağıdaki en iyi yöntemler isteğe bağlıdır, ancak güvenlik stratejinizin daha iyi yönetilebilirliği ve desteklenebilirliğiyle sonuçlanır:

  • Mümkünse, mümkün olan en az izin kümesiyle başlayın ve gerçek bir gereklilik (ve gerekçe) varsa izinleri tek tek eklemeye başlayın; bunun tersi bir yaklaşım değil: izinleri adım adım ortadan kaldırarak.

  • Tek tek kullanıcılara izin atamaktan kaçının. Bunun yerine rolleri (veritabanı veya sunucu rolleri) tutarlı bir şekilde kullanın. Roller, izin raporlama ve sorun giderme konusunda büyük ölçüde yardımcı olur. (Azure RBAC yalnızca roller aracılığıyla izin atamayı destekler.)

  • Tam olarak gereken izinlerle özel roller oluşturun ve kullanın. Uygulamada kullanılan tipik roller:

    • Güvenlik dağıtımı
    • Yönetici
    • Geliştirici
    • Destek personeli
    • Denetleyici
    • Otomatik işlemler
    • Son kullanıcı
  • Yerleşik rolleri yalnızca rollerin izinleri kullanıcı için gerekli izinlerle tam olarak eşleştiğinde kullanın. Kullanıcıları birden çok rollere atayabilirsiniz.

  • Veritabanı altyapısındaki izinlerin aşağıdaki kapsamlar içinde uygulanabileceğini unutmayın (kapsam ne kadar küçükse, verilen izinlerin etkisi de o kadar küçüktür):

    Not

    Bu düzey genel uygulamaya gereksiz karmaşıklık kattığı için nesne düzeyinde izinlerin uygulanması önerilmez. Nesne düzeyi izinleri kullanmaya karar verirseniz, bunlar açıkça belgelenmelidir. Aynı durum sütun düzeyi izinler için de geçerlidir ve bu da aynı nedenlerden dolayı daha az önerilir. Ayrıca, varsayılan olarak tablo düzeyi DENY'in sütun düzeyi GRANT'i geçersiz kılmadığını unutmayın. Bu, ortak ölçüt uyumluluğu Sunucu Yapılandırması'nın etkinleştirilmesini gerektirir.

  • Çok fazla izin için test etmek için Güvenlik Açığı Değerlendirmesi'ne (VA) göre düzenli denetimler gerçekleştirin.

Görev Ayrımını Uygulama

Bahsedilen: FedRamp: AC-04, NIST: AC-5, ISO: A.6.1.2, PCI 6.4.2, SOC: CM-3, SDL-3

Görevlerin Ayrımı olarak da adlandırılan Görevlerin Ayrılması, hassas görevleri farklı kullanıcılara atanmış birden çok göreve bölme gereksinimini açıklar. Görev Ayrımı, veri ihlallerini önlemeye yardımcı olur.

Uygulama

  • Gerekli Görev Ayrımı düzeyini belirleyin. Örnekler:

    • Geliştirme/Test ve Üretim ortamları arasında
    • Güvenlik açısından hassas görevler ile Veritabanı Yöneticisi (DBA) yönetim düzeyi görevleri ve geliştirici görevleri karşılaştırması.
      • Örnekler: Denetçi, Rol Düzeyi Güvenlik (RLS) için güvenlik ilkesi oluşturma, DDL izinleriyle SQL Veritabanı nesneleri uygulama.
  • Sisteme erişen kapsamlı bir kullanıcı hiyerarşisi (ve otomatik süreçler) belirleyin.

  • Gerekli kullanıcı gruplarına göre roller oluşturun ve rollere izinler atayın.

    • Azure portal veya PowerShell otomasyonu aracılığıyla yönetim düzeyinde görevler için Azure rollerini kullanın. Gereksinimle eşleşen yerleşik bir rol bulun veya kullanılabilir izinleri kullanarak bir Azure özel rolü oluşturun
    • Yönetilen örnekte sunucu genelindeki görevler (yeni oturum açma bilgileri, veritabanları oluşturma) için Sunucu rolleri oluşturun.
    • Veritabanı düzeyinde görevler için Veritabanı Rolleri oluşturun.
  • Belirli hassas görevler için, kullanıcılar adına görevleri yürütmek üzere bir sertifika tarafından imzalanan özel saklı yordamlar oluşturmayı göz önünde bulundurun. Dijital olarak imzalanan saklı yordamların önemli avantajlarından biri, yordam değiştirilirse, yordamın önceki sürümüne verilen izinlerin hemen kaldırılmasıdır.

  • Veri sahibi ile güvenlik sahibi arasında Görev Ayrımı'nı etkinleştirmek için Azure Key Vault'de müşteri tarafından yönetilen anahtarlarla Saydam Veri Şifrelemesi (TDE) uygulayın.

  • Bir DBA'nın son derece hassas olarak kabul edilen ve DBA görevlerini yine de gerçekleştirebilen verileri göremesini sağlamak için rol ayrımı ile Always Encrypted kullanabilirsiniz.

  • Always Encrypted kullanımının uygun olmadığı veya en azından sistemi kullanılamaz hale getirebilecek büyük maliyetler ve çabalar olmadan olmadığı durumlarda, aşağıdakiler gibi telafi denetimleri kullanarak riskler oluşabilir ve risk azaltılabilir:

En iyi uygulamalar

  • Geliştirme/Test ve Üretim ortamları için farklı hesapların kullanıldığından emin olun. Farklı hesaplar, Test ve Üretim sistemlerinin ayrılmasına uyum sağlamaya yardımcı olur.

  • Tek tek kullanıcılara izin atamaktan kaçınma. Bunun yerine rolleri (veritabanı veya sunucu rolleri) tutarlı bir şekilde kullanın. Rollerin olması, izinlerin bildirilmesine ve sorun gidermeye büyük ölçüde yardımcı olur.

  • İzinler tam olarak gerekli izinlerle eşleştiğinde yerleşik rolleri kullanın. Birden çok yerleşik roldeki tüm izinlerin birleşimi %100 eşleşmeye yol açıyorsa, aynı anda birden çok rol de atayabilirsiniz.

  • Yerleşik roller çok fazla izin veya yetersiz izin verdiğinde kullanıcı tanımlı roller oluşturun ve kullanın.

  • Rol atamaları, T-SQL'deki SQL Aracısı İşi adımları içinde veya Azure rolleri için Azure PIM kullanılarak geçici olarak da yapılabilir.

  • DTA'ların şifreleme anahtarlarına veya anahtar depolarına erişimi olmadığından ve anahtarlara erişimi olan Güvenlik Yöneticilerinin veritabanına sırayla erişimi olmadığından emin olun. Genişletilebilir Anahtar Yönetimi'nin (EKM) kullanılması bu ayrımı daha kolay hale getirebilir. EkM'yi uygulamak için Azure Key Vault kullanılabilir.

  • Güvenlikle ilgili eylemler için her zaman denetim izine sahip olduğundan emin olun.

  • Kullanılan izinleri görmek için Azure yerleşik rollerinin tanımını alabilir ve PowerShell aracılığıyla bunların alıntılarını ve birikmesini temel alan özel bir rol oluşturabilirsiniz.

  • db_owner veritabanı rolünün herhangi bir üyesi Saydam Veri Şifrelemesi (TDE) gibi güvenlik ayarlarını veya SLO'sunu değiştirebileceğinden, bu üyelik dikkatle verilmelidir. Ancak, db_owner ayrıcalıkları gerektiren birçok görev vardır. Veritabanı seçeneklerini değiştirme gibi herhangi bir veritabanı ayarını değiştirme gibi görev. Denetim, herhangi bir çözümde önemli bir rol oynar.

  • Bir db_owner izinlerini kısıtlamak ve bu nedenle bir yönetim hesabının kullanıcı verilerini görüntülemesini engellemek mümkün değildir. Veritabanında son derece hassas veriler varsa Always Encrypted db_owners veya diğer DBA'ların bunları görüntülemesini güvenle önlemek için kullanılabilir.

Not

Görev Ayrımı (SoD) elde etmek, güvenlikle ilgili veya sorun giderme görevleri için zordur. Geliştirme ve son kullanıcı rolleri gibi diğer alanların toplanması daha kolaydır. Uyumlulukla ilgili denetimlerin çoğu, diğer çözümler pratik olmadığında Denetim gibi alternatif denetim işlevlerinin kullanılmasına olanak tanır.

SoD'ye daha ayrıntılı bir şekilde girmek isteyen okuyucular için aşağıdaki kaynakları öneririz:

Normal kod incelemeleri gerçekleştirme

Bahsedilenler: PCI: 6.3.2, SOC: SDL-3

Görevlerin Ayrılması, veritabanındaki verilerle sınırlı değildir, uygulama kodunu içerir. Kötü amaçlı kod, güvenlik denetimlerini aşabilir. Özel kodu üretime dağıtmadan önce dağıtılanları gözden geçirmek önemlidir.

Uygulama

  • Kaynak denetimini destekleyen Azure Data Studio gibi bir veritabanı aracı kullanın.

  • Ayrılmış bir kod dağıtım işlemi uygulayın.

  • Ana dala bağlanmadan önce, bir kişinin (kodun yazarının kendisi dışında) kodu ayrıcalıkların yükseltilmesi risklerinin yanı sıra dolandırıcılık ve hileli erişime karşı korumak için kötü amaçlı veri değişiklikleri açısından incelemesi gerekir. Bu, kaynak denetim mekanizmaları kullanılarak yapılabilir.

En iyi uygulamalar

  • Standartlaştırma: Tüm kod güncelleştirmeleri için izlenecek standart bir yordamın uygulanmasına yardımcı olur.

  • Güvenlik Açığı Değerlendirmesi aşırı izinleri, eski şifreleme algoritmalarının kullanımını ve veritabanı şemasındaki diğer güvenlik sorunlarını denetleen kurallar içerir.

  • Sql eklemeye açık kodu tararken Gelişmiş Tehdit Koruması kullanılarak bir soru-cevap veya test ortamında daha fazla denetim gerçekleştirilebilir.

  • Nelere dikkat etmek istediğinize ilişkin örnekler:

    • Otomatik sql kod güncelleştirme dağıtımının içinden kullanıcı oluşturma veya güvenlik ayarlarını değiştirme.
    • Sağlanan parametrelere bağlı olarak, bir hücredeki parasal değeri uyumsuz bir şekilde güncelleştiren saklı yordam.
  • İncelemeyi yürüten kişinin, kaynak kod yazarı dışında bir kişi olduğundan ve kod incelemelerinde ve güvenli kodlamada bilgi sahibi olduğundan emin olun.

  • Kod değişikliklerinin tüm kaynaklarını bildiğinizden emin olun. Kod, T-SQL Betikleri'nde olabilir. Yürütülecek veya Görünümler, İşlevler, Tetikleyiciler ve Saklı Yordamlar biçiminde dağıtılacak geçici komutlar olabilir. SQL Aracısı İş tanımlarının (Adımlar) bir parçası olabilir. Ayrıca SSIS paketleri, Azure Data Factory ve diğer hizmetler içinden de yürütülebilir.

Veri koruma

Veri koruması, önemli bilgileri şifreleme veya gizleme yoluyla tehlikeye atılmasına karşı korumaya yönelik bir dizi özelliktir.

Not

Microsoft, Azure SQL Veritabanı ve SQL Yönetilen Örneği'nin FIPS 140-2 Düzey 1 uyumlu olduğunu onaylar. Bu, FIPS 140-2 Düzey 1 kabul edilebilir algoritmaların ve gerekli anahtar uzunluklarıyla tutarlılık, anahtar yönetimi, anahtar oluşturma ve anahtar depolama gibi bu algoritmaların FIPS 140-2 Düzey 1 doğrulanmış örneklerinin katı kullanımı doğrulandıktan sonra yapılır. Bu kanıtlama, müşterilerimizin verilerin işlenmesinde veya sistemlerin veya uygulamaların tesliminde FIPS 140-2 Düzey 1 doğrulanmış örneklerinin kullanımına yönelik ihtiyaç veya gereksinime yanıt vermelerini sağlamak için tasarlanmıştır. Yukarıdaki bildirimde kullanılan "FIPS 140-2 Düzey 1 uyumlu" ve "FIPS 140-2 Düzey 1 uyumluluğu" terimlerini tanımlayarak ABD ve Kanada hükümeti tarafından farklı "FIPS 140-2 Düzey 1 doğrulandı" teriminin kullanılabileceğini gösteriyoruz.

Aktarımdaki verileri şifreleme

Bahsedilenler: OSA Uygulaması #6, ISO Denetim Ailesi: Şifreleme

Veriler istemciniz ve sunucunuz arasında taşınırken verilerinizi korur. Ağ Güvenliği'ne bakın.

Bekleyen verileri şifreleme

Bahsedilenler: OSA Uygulaması #6, ISO Denetim Ailesi: Şifreleme

Bekleyen şifreleme, veritabanı, günlük ve yedekleme dosyalarında kalıcı hale getirildiğinde verilerin şifreleme korumasıdır.

Uygulama

  • Hizmet tarafından yönetilen anahtarlara sahip Saydam Veritabanı Şifrelemesi (TDE), Azure SQL Veritabanı ve SQL Yönetilen Örneği 2017'nin ardından oluşturulan tüm veritabanları için varsayılan olarak etkindir.
  • Yönetilen örnekte, veritabanı bir şirket içi sunucu kullanılarak geri yükleme işleminden oluşturulduysa, özgün veritabanının TDE ayarı kabul edilir. Özgün veritabanında TDE etkin değilse, yönetilen örnek için TDE'nin el ile açılmasını öneririz.

En iyi uygulamalar

  • Bekleyen şifreleme gerektiren verileri veritabanında depolamayın master . Veritabanı master TDE ile şifrelenemez.

  • TDE koruması üzerinde daha fazla saydamlık ve ayrıntılı denetime ihtiyacınız varsa Azure Key Vault müşteri tarafından yönetilen anahtarları kullanın. Azure Key Vault, veritabanını erişilemez hale getirmek için izinleri istediğiniz zaman iptal etme olanağı sağlar. TDE koruyucularını diğer anahtarlarla birlikte merkezi olarak yönetebilir veya Azure Key Vault kullanarak TDE koruyucuyu kendi zamanlamanızda döndürebilirsiniz.

  • Azure Key Vault'da müşteri tarafından yönetilen anahtarlar kullanıyorsanız Azure Key Vault ile TDE yapılandırma yönergeleri ve Azure Key Vault ileCoğrafi DR'yi yapılandırma makalelerini izleyin.

Not

Tablo adları, nesne adları ve dizin adları gibi müşteri içeriği olarak kabul edilen bazı öğeler Microsoft tarafından destek ve sorun giderme amacıyla günlük dosyalarına iletilebilir.

Kullanımdaki hassas verileri yüksek ayrıcalıklı, yetkisiz kullanıcılardan koruma

Kullanımdaki veriler, SQL sorgularının yürütülmesi sırasında veritabanı sisteminin belleğinde depolanan verilerdir. Veritabanınız hassas verileri depolarsa, yüksek ayrıcalıklı kullanıcıların veritabanınızdaki hassas verileri görüntülemelerinin engellenmesini sağlamak için kuruluşunuzun gerekli olması gerekebilir. Kuruluşunuzdaki Microsoft işleçleri veya DTA'lar gibi yüksek ayrıcalıklı kullanıcıların veritabanını yönetebilmesi gerekir, ancak hassas verileri SQL işleminin belleğinden veya veritabanını sorgulayarak görüntülemesi ve çıkarma olasılığı engellenmelidir.

Hangi verilerin hassas olduğunu ve hassas verilerin bellekte şifrelenip şifrelenmemesi ve yöneticiler tarafından düz metin olarak erişilmemesi gerektiğini belirleyen ilkeler, bağlı kalmanız gereken kuruluşunuza ve uyumluluk düzenlemelerine özgüdür. Lütfen ilgili gereksinime bakın: Hassas verileri tanımlama ve etiketleme.

Uygulama

  • Hassas verilerin bellekte/kullanımda bile Azure SQL Veritabanında veya SQL Yönetilen Örneği düz metinde gösterilmemesini sağlamak için Always Encrypted kullanın. Always Encrypted, Verileri Veritabanı Yöneticileri 'nden (DTA' lar) ve bulut yöneticilerinden (veya yüksek ayrıcalıklı ama yetkisiz kullanıcıların kimliğine bürünebilen kötü aktörlerden) korur ve verilerinize kimlerin erişebileceği üzerinde daha fazla denetim sağlar.

En iyi uygulamalar

  • Always Encrypted bekleyen veya aktarımdaki (SSL/TLS) verileri şifrelemenin yerini tutmaz. Always Encrypted, performansı ve işlevselliği en aza indirmek için hassas olmayan veriler için kullanılmamalıdır. Always Encrypted TDE ve Aktarım Katmanı Güvenliği (TLS) ile birlikte kullanılması, bekleyen, aktarımdaki ve kullanımdaki verilerin kapsamlı bir şekilde korunması için önerilir.

  • Üretim veritabanında Always Encrypted dağıtmadan önce tanımlanan hassas veri sütunlarını şifrelemenin etkisini değerlendirin. Genel olarak, Always Encrypted şifrelenmiş sütunlardaki sorguların işlevselliğini azaltır ve Always Encrypted - Özellik Ayrıntıları bölümünde listelenen başka sınırlamaları vardır. Bu nedenle, istemci tarafında veya/ve saklı yordamların, işlevlerin, görünümlerin ve tetikleyicilerin tanımları dahil olmak üzere veritabanı şemanızı yeniden düzenlemeyi desteklemeyen bir sorgunun desteklemediği işlevleri yeniden oluşturmak için uygulamanızı yeniden tasarlamanız gerekebilir. Mevcut uygulamalar, Always Encrypted kısıtlamalarına ve sınırlamalarına uymazlarsa şifrelenmiş sütunlarla çalışmayabilir. Always Encrypted destekleyen Microsoft araçlarının, ürünlerinin ve hizmetlerinin ekosistemi artarken, bunların bir kısmı şifrelenmiş sütunlarla çalışmaz. Bir sütunu şifrelemek, iş yükünüzün özelliklerine bağlı olarak sorgu performansını da etkileyebilir.

  • Verileri kötü amaçlı DTA'lardan korumak için Always Encrypted kullanıyorsanız Always Encrypted anahtarlarını rol ayrımı ile yönetin. Rol ayrımı ile, güvenlik yöneticisi fiziksel anahtarları oluşturur. DBA, veritabanındaki fiziksel anahtarları açıklayan sütun ana anahtarı ve sütun şifreleme anahtarı meta veri nesnelerini oluşturur. Bu işlem sırasında güvenlik yöneticisinin veritabanına ve DBA'nın düz metin olarak fiziksel anahtarlara erişmesi gerekmez.

  • Yönetim kolaylığı için sütun ana anahtarlarınızı Azure Key Vault'da depolayın. Anahtar yönetimini zorlaştıran Windows Sertifika Deposu(ve genel olarak, merkezi anahtar yönetimi çözümlerinin aksine dağıtılmış anahtar deposu çözümleri) kullanmaktan kaçının.

  • Birden çok anahtar (sütun ana anahtarı veya sütun şifreleme anahtarları) kullanmanın dezavantajlarını dikkatle düşünün. Anahtar yönetimi maliyetini azaltmak için anahtar sayısını küçük tutun. Veritabanı başına bir sütun ana anahtarı ve bir sütun şifreleme anahtarı genellikle sabit durumdaki ortamlarda (anahtar döndürmenin ortasında değil) yeterlidir. Her birinde farklı anahtarlar kullanan ve farklı verilere erişen farklı kullanıcı gruplarınız varsa ek anahtarlara ihtiyacınız olabilir.

  • Uyumluluk gereksinimlerinize göre sütun ana anahtarlarını döndürün. Sütun şifreleme anahtarlarını da döndürmeniz gerekiyorsa, uygulama kapalı kalma süresini en aza indirmek için çevrimiçi şifreleme kullanmayı göz önünde bulundurun.

  • Verilerdeki hesaplamaların (eşitlik) desteklenmesi gerekiyorsa belirlenimci şifrelemeyi kullanın. Aksi takdirde rastgele şifreleme kullanın. Düşük entropi veri kümeleri veya genel olarak bilinen dağıtıma sahip veri kümeleri için belirlenimci şifreleme kullanmaktan kaçının.

  • Üçüncü tarafların izniniz olmadan verilerinize yasal olarak erişmesi konusunda endişeleriniz varsa anahtarlara ve verilere düz metin olarak erişimi olan tüm uygulama ve araçların Microsoft Azure Cloud dışında çalıştığından emin olun. Anahtarlara erişim olmadan, üçüncü tarafın şifrelemeyi atlamadığı sürece verilerin şifresini çözme yolu yoktur.

  • Always Encrypted anahtarlara (ve korunan verilere) geçici erişim verilmesini kolayca desteklemez. Örneğin, DBA'nın hassas ve şifrelenmiş veriler üzerinde bazı temizleme işlemleri gerçekleştirmesine izin vermek için anahtarları bir DBA ile paylaşmanız gerekiyorsa. DBA'dan verilere erişimi güvenilir bir şekilde iptal etmenin tek yolu hem sütun şifreleme anahtarlarını hem de verileri koruyan sütun ana anahtarlarını döndürmektir ve bu pahalı bir işlemdir.

  • Şifrelenmiş sütunlardaki düz metin değerlerine erişmek için, kullanıcının CMK'yi tutan anahtar deposunda yapılandırılan sütunları koruyan Sütun Ana Anahtarına (CMK) erişimi olmalıdır. Kullanıcının ayrıca HERHANGI BIR SÜTUN ANA ANAHTAR TANıMıNı GÖRÜNTÜLE ve SÜTUN ŞIFRELEME ANAHTARı TANıMı VERITABANı IZINLERINI GÖRÜNTÜLE iznine sahip olması gerekir.

Şifreleme aracılığıyla uygulama kullanıcılarının hassas verilere erişimini denetleme

Şifreleme, yalnızca şifreleme anahtarlarına erişimi olan belirli uygulama kullanıcılarının verileri görüntüleyebilmesini veya güncelleştirebilmesini sağlamanın bir yolu olarak kullanılabilir.

Uygulama

  • Hücre düzeyinde Şifreleme (CLE) kullanın. Ayrıntılar için Veri Sütununu Şifreleme makalesine bakın.
  • Always Encrypted kullanın, ancak sınırlamasının farkında olun. Sınırlamalar aşağıda listelenmiştir.

En iyi yöntemler:

CLE kullanırken:

  • SQL izinleri ve rolleri aracılığıyla anahtarlara erişimi denetleyin.

  • Veri şifrelemesi için AES (AES 256 önerilir) kullanın. RC4, DES ve TripleDES gibi algoritmalar kullanım dışıdır ve bilinen güvenlik açıkları nedeniyle kullanılmamalıdır.

  • 3DES kullanmaktan kaçınmak için simetrik anahtarları asimetrik anahtarlarla/sertifikalarla (parolalarla değil) koruyun.

  • Dışarı/içeri aktarma (bacpac dosyaları) aracılığıyla Cell-Level Şifreleme kullanarak veritabanını geçirirken dikkatli olun.

Always Encrypted öncelikli olarak Azure SQL Veritabanının yüksek ayrıcalıklı kullanıcılarından (bulut operatörleri, DTA'lar) kullanımdaki hassas verileri korumak için tasarlandığını unutmayın. Bkz. Kullanımdaki hassas verileri yüksek ayrıcalıklı, yetkisiz kullanıcılardan koruma. Verileri uygulama kullanıcılarından korumak için Always Encrypted kullanırken aşağıdaki güçlüklere dikkat edin:

  • Varsayılan olarak, Always Encrypted destekleyen tüm Microsoft istemci sürücüleri sütun şifreleme anahtarlarının genel (uygulama başına bir adet) önbelleğini tutar. İstemci sürücüsü, bir sütun ana anahtarının bulunduğu bir anahtar deposuna başvurarak düz metin sütun şifreleme anahtarı aldıktan sonra düz metin sütun şifreleme anahtarı önbelleğe alınır. Bu, çok kullanıcılı bir uygulamanın kullanıcılarından veri yalıtma işlemini zorlaştırır. Uygulamanız bir anahtar deposuyla (Azure Key Vault gibi) etkileşim kurarken son kullanıcıların kimliğine büründüyse, kullanıcının sorgusu önbelleği bir sütun şifreleme anahtarıyla doldurduktan sonra, aynı anahtarı gerektiren ancak başka bir kullanıcı tarafından tetiklenen sonraki bir sorgu önbelleğe alınmış anahtarı kullanır. Sürücü anahtar depoyu çağırmaz ve ikinci kullanıcının sütun şifreleme anahtarına erişim izni olup olmadığını denetlemez. Sonuç olarak, kullanıcı anahtarlara erişimi olmasa bile şifrelenmiş verileri görebilir. Çok kullanıcılı bir uygulama içindeki kullanıcıların yalıtımını sağlamak için sütun şifreleme anahtarı önbelleğini devre dışı bırakabilirsiniz. Sürücünün her veri şifreleme veya şifre çözme işlemi için anahtar deposuna başvurması gerekeceğinden, önbelleğe alma devre dışı bırakıldıktan sonra ek performans ek yükleri olur.

Veri biçimini korurken, verileri uygulama kullanıcıları tarafından yetkisiz görüntülemeye karşı koruma

Yetkisiz kullanıcıların verileri görüntülemesini önlemeye yönelik bir diğer teknik de, kullanıcı uygulamalarının verileri işlemeye ve görüntülemeye devam etmesini sağlamak için veri türlerini ve biçimlerini korurken verileri karartmak veya maskelemektir.

Uygulama

Not

Always Encrypted Dinamik Veri Maskeleme ile çalışmaz. Aynı sütunu şifrelemek ve maskelemek mümkün değildir. Bu, kullanımdaki verilerin korunmasına ve Dinamik Veri Maskeleme yoluyla uygulama kullanıcılarınız için verilerin maskelenmesine öncelik vermeniz gerektiği anlamına gelir.

En iyi uygulamalar

Not

Dinamik Veri Maskeleme, verileri yüksek ayrıcalıklı kullanıcılardan korumak için kullanılamaz. Maskeleme ilkeleri, db_owner gibi yönetim erişimi olan kullanıcılar için geçerli değildir.

  • Uygulama kullanıcılarının geçici sorgular çalıştırmasına izin verme (Dinamik Veri Maskeleme'yi geçici olarak kullanabilecekleri için).

  • Maskelenmiş sütunlarda güncelleştirme yapmak için kullanıcı izinlerini sınırlamak için uygun bir erişim denetimi ilkesi (SQL izinleri, roller, RLS aracılığıyla) kullanın. Bir sütunda maske oluşturmak, bu sütunda yapılan güncelleştirmeleri engellemez. Maskelenmiş sütunu sorgularken maskelenmiş verileri alan kullanıcılar, yazma izinleri varsa verileri güncelleştirebilir.

  • Dinamik Veri Maskeleme, maskelenmiş değerlerin istatistiksel özelliklerini korumaz. Bu, sorgu sonuçlarını etkileyebilir (örneğin, maskelenmiş verilerde filtreleme koşullarını veya birleştirmeleri içeren sorgular).

Ağ güvenliği

Ağ güvenliği, Azure SQL Veritabanına aktarım sırasında verilerinizin güvenliğini sağlamak için erişim denetimlerini ve en iyi yöntemleri ifade eder.

İstemcimi SQL Veritabanı/SQL Yönetilen Örneği güvenli bir şekilde bağlanacak şekilde yapılandırma

İyi bilinen güvenlik açıklarına sahip istemci makinelerinin ve uygulamaların (örneğin, eski TLS protokollerini ve şifre paketlerini kullanma) Azure SQL Veritabanı ve SQL Yönetilen Örneği bağlanmasını önlemeye yönelik en iyi yöntemler.

Uygulama

En iyi uygulamalar

  • En düşük TLS sürümü ayarını kullanarak SQL Veritabanı sunucusunda veya SQL Yönetilen Örneği düzeyinde en düşük TLS sürümünü zorunlu kılma. Uygulamalarınızın desteklediğini doğrulamak için test ettikten sonra en düşük TLS sürümünü 1.2 olarak ayarlamanızı öneririz. TLS 1.2, önceki sürümlerde bulunan güvenlik açıklarına yönelik düzeltmeler içerir.

  • Şifreleme etkinken SQL Veritabanı bağlanmak için tüm uygulamalarınızı ve araçlarınızı yapılandırma

    • Encrypt = On, TrustServerCertificate = Off (veya Microsoft dışı sürücülerle eşdeğer).
  • Uygulamanız TLS'yi desteklemeyen veya TLS'nin eski bir sürümünü destekleyen bir sürücü kullanıyorsa, mümkünse sürücüyü değiştirin. Mümkün değilse güvenlik risklerini dikkatle değerlendirin.

Saldırı yüzeyini simge durumuna küçültme

Kötü amaçlı bir kullanıcı tarafından saldırıya uğrayabilecek özellik sayısını en aza indirin. Azure SQL Veritabanı için ağ erişim denetimleri uygulayın.

Bahsedilenler: OSA Uygulaması #5

Uygulama

SQL Veritabanı'da:

  • Azure hizmetlerine erişime izin ver'i sunucu düzeyinde KAPALI olarak ayarlayın
  • Sanal Ağ Hizmeti uç noktalarını ve Sanal Ağ Güvenlik Duvarı Kurallarını kullanın.
  • Özel Bağlantı kullanın.

SQL Yönetilen Örneği:

En iyi uygulamalar

  • Özel uç noktaya bağlanarak (örneğin, özel veri yolu kullanarak) Azure SQL Veritabanı ve SQL Yönetilen Örneği erişimini kısıtlama:

    • Yönetilen örnek, dış erişimi önlemek için sanal ağ içinde yalıtılabilir. Aynı bölgedeki aynı veya eşlenmiş sanal ağda bulunan uygulamalar ve araçlar bu ağa doğrudan erişebilir. Farklı bölgedeki uygulamalar ve araçlar, bağlantı kurmak için sanal ağdan sanal ağa bağlantı veya ExpressRoute bağlantı hattı eşlemesi kullanabilir. Müşterinin ağ güvenlik gruplarını (NSG) kullanarak 1433 numaralı bağlantı noktası üzerinden erişimi yalnızca yönetilen örneğe erişim gerektiren kaynaklarla kısıtlaması gerekir.
    • SQL Veritabanı için, sanal ağınızdaki sunucu için ayrılmış bir özel IP sağlayan Özel Bağlantı özelliğini kullanın. Sunucularınıza erişimi kısıtlamak için Sanal ağ hizmet uç noktalarını sanal ağ güvenlik duvarı kurallarıyla da kullanabilirsiniz.
    • Mobil kullanıcılar, veri yolu üzerinden bağlanmak için noktadan siteye VPN bağlantılarını kullanmalıdır.
    • Şirket içi ağlarına bağlı kullanıcılar, veri yolu üzerinden bağlanmak için siteden siteye VPN bağlantısı veya ExpressRoute kullanmalıdır.
  • Azure SQL Veritabanı'na ve SQL Yönetilen Örneği genel uç noktaya bağlanarak erişebilirsiniz (örneğin, genel veri yolu kullanarak). Aşağıdaki en iyi yöntemler göz önünde bulundurulmalıdır:

    Not

    SQL Yönetilen Örneği genel uç noktası varsayılan olarak etkin değildir ve açıkça etkinleştirilmesi gerekir. Şirket ilkesi genel uç noktaların kullanılmasına izin vermediyse, ilk etapta genel uç noktaların etkinleştirilmesini önlemek için Azure İlkesi kullanın.

  • Azure Ağ bileşenlerini ayarlama:

SQL Veritabanı/SQL Yönetilen Örneği güvenli bağlantılar için Power BI'ı yapılandırma

En iyi uygulamalar

SQL Veritabanı/SQL Yönetilen Örneği güvenli bağlantılar için App Service yapılandırma

En iyi uygulamalar

SQL Veritabanı/SQL Yönetilen Örneği güvenli bağlantılar için Azure Sanal Makine barındırmayı yapılandırma

En iyi uygulamalar

  • VM'den hangi bölgelere erişilebileceğini denetlemek için Azure sanal makinelerinin NSG'lerinde İzin Ver ve Reddet kurallarının bir bileşimini kullanın.

  • Vm'nizin Azure'daki IaaS iş yükleri için en iyi güvenlik uygulamaları makalesine göre yapılandırıldığından emin olun.

  • Tüm VM'lerin belirli bir sanal ağ ve alt ağ ile ilişkilendirildiğinden emin olun.

  • Zorlamalı tünel hakkında yönergelerine göre varsayılan 0.0.0.0/Internet yoluna ihtiyacınız olup olmadığını değerlendirin.

    • Evet ise (örneğin, ön uç alt ağı) varsayılan yolu koruyun.
    • Orta katman veya arka uç alt ağı gibi hayır ise, trafiğin İnternet üzerinden şirket içi (yani şirket içi ağlar arası) üzerinden gitmesini önlemek için zorlamalı tünel oluşturmayı etkinleştirin.
  • Eşleme kullanıyorsanız veya şirket içi bağlantı kuruyorsanız isteğe bağlı varsayılan yolları uygulayın.

  • Paket incelemesi için sanal ağdaki tüm trafiği bir Ağ Sanal Gereci'ne göndermeniz gerekiyorsa Kullanıcı Tanımlı Yolları uygulayın.

  • Azure omurga ağı üzerinden Azure Depolama gibi PaaS hizmetlerine güvenli erişim için sanal ağ hizmet uç noktalarını kullanın.

Dağıtılmış Hizmet Reddi (DDoS) saldırılarına karşı koruma

Dağıtılmış Hizmet Reddi (DDoS) saldırıları, kötü amaçlı bir kullanıcının Azure altyapısını bunaltmak ve geçerli oturum açma bilgilerini ve iş yükünü reddetmesini sağlamak amacıyla Azure SQL Veritabanına ağ trafiği akışı gönderme girişimidir.

Bahsedilenler: OSA Uygulaması #9

Uygulama

DDoS koruması, Azure Platformu'nun bir parçası olarak otomatik olarak etkinleştirilir. Her zaman açık trafik izleme ve genel uç noktalarda ağ düzeyinde saldırıların gerçek zamanlı olarak azaltılmasını içerir.

En iyi uygulamalar

  • Saldırı yüzeyini en aza indirme DDoS saldırı tehditlerini en aza indirmeye yardımcı olur başlığı altında açıklanan uygulamaları izleyin.

  • Gelişmiş Tehdit Koruması Deneme Yanılma SQL kimlik bilgileri uyarısı deneme yanılma saldırılarını algılamaya yardımcı olur. Bazı durumlarda, uyarı sızma testi iş yüklerini bile ayırt edebilir.

  • SQL Veritabanı bağlanan Azure VM barındırma uygulamaları için:

    • Bulut için Microsoft Defender'da İnternet'e yönelik uç noktalar üzerinden erişimi kısıtlama önerisini izleyin.
    • Azure VM'lerinde uygulamanızın birden çok örneğini çalıştırmak için sanal makine ölçek kümelerini kullanın.
    • Deneme yanılma saldırısını önlemek için İnternet'ten RDP ve SSH'yi devre dışı bırakın.

İzleme, günlük kaydı ve denetim

Bu bölüm, veritabanlarına erişmeye veya veritabanlarını yararlanmaya yönelik olağan dışı ve zararlı olabilecek girişimleri gösteren anormal etkinlikleri algılamanıza yardımcı olan özellikleri ifade eder. Ayrıca veritabanı olaylarını izlemek ve yakalamak için veritabanı denetimini yapılandırmak için en iyi yöntemleri açıklar.

Veritabanlarını saldırılara karşı koruma

Gelişmiş tehdit koruması, anormal etkinliklerde güvenlik uyarıları sağlayarak olası tehditleri oluştukları anda algılamanızı ve yanıtlamanızı sağlar.

Uygulama

  • Aşağıdakiler dahil olmak üzere veritabanlarına erişmeye veya veritabanlarını kötüye kullanmaya yönelik olağan dışı ve zararlı olabilecek girişimleri algılamak için SQL için Gelişmiş Tehdit Koruması'ni kullanın:
    • SQL ekleme saldırısı.
    • Kimlik bilgileri hırsızlığı/sızıntısı.
    • Ayrıcalık kötüye kullanımı.
    • Veri sızdırma.

En iyi uygulamalar

  • Sql için Microsoft Defender'ı belirli bir sunucu veya yönetilen örnek için yapılandırın. Ayrıca Bulut için Microsoft Defender'ı etkinleştirerek bir abonelikteki tüm sunucular ve yönetilen örnekler için SQL için Microsoft Defender'ı yapılandırabilirsiniz.

  • Tam bir araştırma deneyimi için SQL Veritabanı Denetimi'nin etkinleştirilmesi önerilir. Denetim sayesinde veritabanı olaylarını izleyebilir ve bunları Bir Azure Depolama hesabında veya Azure Log Analytics çalışma alanında bir denetim günlüğüne yazabilirsiniz.

Kritik güvenlik olaylarını denetleme

Veritabanı olaylarının izlenmesi, veritabanı etkinliğini anlamanıza yardımcı olur. İşle ilgili endişeleri veya şüpheli güvenlik ihlallerini gösterebilecek tutarsızlıklar ve anomaliler hakkında içgörü elde edebilirsiniz. Ayrıca uyumluluk standartlarına uyumu sağlar ve kolaylaştırır.

Uygulama

  • Veritabanı olaylarını izlemek ve Bunları Azure Depolama hesabınızda, Log Analytics çalışma alanınızda (önizleme) veya Event Hubs'ta (önizleme) bir denetim günlüğüne yazmak için SQL Veritabanı Denetimi veya Yönetilen Örnek Denetimini etkinleştirin.

  • Denetim günlükleri bir Azure Depolama hesabına, Azure İzleyici günlükleri tarafından kullanılmak üzere Log Analytics çalışma alanına veya olay hub'ı kullanılarak kullanılmak üzere olay hub'ına yazılabilir. Bu seçeneklerin herhangi bir bileşimini yapılandırabilirsiniz ve denetim günlükleri her birine yazılır.

En iyi uygulamalar

  • Olayları denetlemek için sunucunuzda veyaYönetilen Örnek Denetiminde SQL Veritabanı Denetimi yapılandırılarak, söz konusu sunucuda var olan ve yeni oluşturulan tüm veritabanları denetlenecektir.
  • Varsayılan olarak denetim ilkesi veritabanlarına yönelik tüm eylemleri (sorgular, saklı yordamlar ve başarılı ve başarısız oturum açma işlemleri) içerir ve bu da yüksek miktarda denetim günlüğüyle sonuçlanabilir. Müşterilerin PowerShell kullanarak farklı eylem ve eylem grupları için denetimi yapılandırmaları önerilir. Bunu yapılandırmak, denetlenen eylemlerin sayısını denetlemeye ve olay kaybı riskini en aza indirmeye yardımcı olur. Özel denetim yapılandırmaları müşterilerin yalnızca gerekli olan denetim verilerini yakalamasına olanak tanır.
  • Denetim günlükleri doğrudan Azure portal veya yapılandırılan depolama konumundan kullanılabilir.

Not

Log Analytics'te denetimin etkinleştirilmesi, alım oranlarına göre maliyet doğuracaktır. Lütfen bu seçeneğin kullanımıyla ilişkili maliyeti unutmayın veya denetim günlüklerini bir Azure depolama hesabında depolamayı göz önünde bulundurun.

Diğer kaynaklar

Denetim günlüklerinin güvenliğini sağlama

Görev Ayrımını desteklemek ve DBA'yı Denetçilerden ayırmak için depolama hesabına erişimi kısıtlayın.

Uygulama

  • Denetim günlüklerini Azure Depolama'ya kaydederken, Depolama Hesabına erişimin en düşük güvenlik ilkeleriyle sınırlı olduğundan emin olun. Depolama hesabına kimlerin erişebileceklerini denetleme.
  • Daha fazla bilgi için bkz. Azure Depolama'ya erişimi yetkilendirme.

En iyi uygulamalar

Güvenlik Yönetimi

Bu bölümde veritabanlarınızın güvenlik duruşunu yönetmek için farklı yönler ve en iyi yöntemler açıklanmaktadır. Veritabanlarınızın güvenlik standartlarını karşılayacak şekilde yapılandırıldığından emin olmak, veritabanlarınızdaki hassas olabilecek verileri bulmak ve sınıflandırmak ve bunlara erişimi izlemek için en iyi yöntemleri içerir.

Veritabanlarının en iyi güvenlik yöntemlerini karşılayacak şekilde yapılandırıldığından emin olun

Olası veritabanı güvenlik açıklarını keşfedip düzelterek veritabanı güvenliğinizi proaktif olarak geliştirin.

Uygulama

  • Veritabanınızı güvenlik sorunlarına karşı taramak ve veritabanlarınızda düzenli aralıklarla otomatik olarak çalıştırmak için SQL Güvenlik Açığı Değerlendirmesi'nin (VA) etkinleştirilmesini sağlayın.

En iyi uygulamalar

  • Başlangıçta veritabanlarınızda VA'yı çalıştırın ve güvenlikle ilgili en iyi yöntemlere karşı olan başarısız denetimleri düzelterek yineleyin. Tarama temiz çıkana veya tüm denetimler geçene kadar kabul edilebilir yapılandırmalar için temelleri ayarlayın.

  • Düzenli yinelenen taramaları haftada bir kez çalışacak şekilde yapılandırın ve ilgili kişiyi özet e-posta alacak şekilde yapılandırın.

  • Her haftalık taramadan sonra VA özetini gözden geçirin. Bulunan tüm güvenlik açıkları için önceki tarama sonucundan kaymayı değerlendirin ve denetimin çözümlenip çözümlenmediğini belirleyin. Yapılandırma değişikliğinin geçerli bir nedeni olup olmadığını gözden geçirin.

  • uygun olduğunda denetimleri çözün ve temelleri güncelleştirin. Eylemleri çözümlemek için bilet öğeleri oluşturun ve çözümlenene kadar bunları izleyin.

Diğer kaynaklar

Hassas verileri tanımlama ve etiketleme

Hassas veriler içerebilecek sütunları keşfedin. Hassas veriler olarak kabul edilenler büyük ölçüde müşteriye, uyumluluk düzenlemesine vb. bağlıdır ve bu verilerin sorumlusu olan kullanıcılar tarafından değerlendirilmesi gerekir. Gelişmiş duyarlılık tabanlı denetim ve koruma senaryolarını kullanmak için sütunları sınıflandırın.

Uygulama

  • Veritabanlarınızdaki hassas verileri bulmak, sınıflandırmak, etiketlemek ve korumak için SQL Veri Bulma ve Sınıflandırma'yı kullanın.
    • SQL Veri Bulma ve Sınıflandırma panosundaki otomatik bulma tarafından oluşturulan sınıflandırma önerilerini görüntüleyin. Hassas verilerinizin kalıcı olarak sınıflandırma etiketleriyle etiketlenmiş olması için ilgili sınıflandırmaları kabul edin.
    • Otomatik mekanizma tarafından keşfedilmemiş ek hassas veri alanları için sınıflandırmaları el ile ekleyin.
  • Daha fazla bilgi için bkz . SQL Veri Bulma ve Sınıflandırma.

En iyi uygulamalar

  • Veritabanının sınıflandırma durumunun doğru bir değerlendirmesi için sınıflandırma panosunu düzenli olarak izleyin. Veritabanı sınıflandırma durumuyla ilgili bir rapor, uyumluluk ve denetim amacıyla paylaşmak üzere dışarı aktarılabilir veya yazdırılabilir.

  • SQL Güvenlik Açığı Değerlendirmesi'nde önerilen hassas verilerin durumunu sürekli izleyin. Hassas veri bulma kuralını izleyin ve sınıflandırma için önerilen sütunlardaki kaymaları belirleyin.

  • Sınıflandırmayı, kuruluşunuzun belirli ihtiyaçlarına göre uyarlanmış bir şekilde kullanın. Bulut için Microsoft Defender'daki SQL Information Protection ilkesinde Information Protection ilkenizi (duyarlılık etiketleri, bilgi türleri, bulma mantığı) özelleştirin.

Hassas verilere erişimi izleme

Hassas verilere kimlerin eriştiğine bakın ve denetim günlüklerindeki hassas veriler üzerinde sorgular yakalayın.

Uygulama

En iyi uygulamalar

Güvenlik ve uyumluluk durumunu görselleştirme

Veri merkezlerinizin (SQL Veritabanı veritabanları dahil) güvenlik duruşunu güçlendiren birleşik bir altyapı güvenlik yönetim sistemi kullanın. Veritabanlarınızın güvenliği ve uyumluluk durumuyla ilgili önerilerin listesini görüntüleyin.

Uygulama

Yaygın güvenlik tehditleri ve olası risk azaltmaları

Bu bölüm, belirli saldırı vektörlerine karşı koruma sağlamak için güvenlik önlemleri bulmanıza yardımcı olur. Yukarıdaki güvenlik yönergelerinden biri veya daha fazlası izlenerek çoğu azaltma işleminin gerçekleştirilebileceği beklenir.

Güvenlik tehdidi: Veri sızdırma

Veri sızdırma, bir bilgisayardan veya sunucudan yetkisiz veri kopyalama, aktarma veya alma işlemidir. Wikipedia'da veri sızdırma tanımına bakın.

Genel uç nokta üzerinden sunucuya bağlanmak, müşterilerin güvenlik duvarlarını genel IP'lere açmasını gerektirdiği için veri sızdırma riski oluşturur.

Senaryo 1: Azure VM'sindeki bir uygulama Azure SQL Veritabanı'ndaki bir veritabanına bağlanır. Düzenbaz bir aktör VM'ye erişim elde eder ve vm'nin güvenliğini ihlal eder. Bu senaryoda veri sızdırma, hatalı VM kullanan bir dış varlığın veritabanına bağlanıp kişisel verileri kopyalayıp blob depolama alanında veya farklı bir abonelikteki farklı bir SQL Veritabanı depolaması anlamına gelir.

Senaryo 2: Sahte bir DBA. Bu senaryo genellikle denetime tabi sektörlerden güvenlik konusunda hassas müşteriler tarafından oluşturulur. Bu senaryoda, yüksek ayrıcalıklı bir kullanıcı verileri Azure SQL Veritabanından veri sahibi tarafından denetlenmeyen başka bir aboneliğe kopyalayabilir.

Olası risk azaltmaları

Bugün Azure SQL Veritabanı ve SQL Yönetilen Örneği, veri sızdırma tehditlerini azaltmak için aşağıdaki teknikleri sunar:

  • Vm'den hangi bölgelere erişilebileceğini denetlemek için Azure VM'lerinin NSG'lerinde İzin Ver ve Reddet kurallarının bir bileşimini kullanın.
  • SQL Veritabanı'da sunucu kullanıyorsanız aşağıdaki seçenekleri ayarlayın:
    • Azure Hizmetleri'nin KAPALI olarak çalıştırılmasına izin verin.
    • Sanal Ağ Güvenlik Duvarı kuralı ayarlayarak yalnızca Azure VM'nizi içeren alt ağdan gelen trafiğe izin verin.
    • Özel Bağlantı kullanma
  • SQL Yönetilen Örneği için, varsayılan olarak özel IP erişiminin kullanılması, standart dışı bir VM'nin ilk veri sızdırma endişesini giderir. SQL Yönetilen Örneği bir alt ağda en kısıtlayıcı ilkeyi otomatik olarak ayarlamak için alt ağda alt ağ temsilcisi özelliğini açın.
  • Daha geniş bir yüzey alanına sahip olduğundan ve ağ gereksinimleri müşteriler tarafından görülediğinden, Rogue DBA endişesi SQL Yönetilen Örneği daha fazla ortaya çıkar. Bunun için en iyi azaltma, bu güvenlik kılavuzundaki tüm yöntemlerin ilk etapta Standart Dışı DBA senaryolarını önlemek için uygulanmasıdır (yalnızca veri sızdırma için değil). Always Encrypted, hassas verileri şifreleyerek ve anahtarı DBA için erişilemez durumda tutarak korumanın bir yöntemidir.

İş sürekliliğinin ve kullanılabilirliğin güvenlik yönleri

Çoğu güvenlik standardı, tek hata noktalarından kaçınmak için yedeklilik ve yük devretme özellikleri uygulanarak elde edilen işletimsel süreklilik açısından veri kullanılabilirliğini ele alır. Olağanüstü durum senaryolarında, Veri ve Günlük dosyalarının yedeklerini tutmak yaygın bir uygulamadır. Aşağıdaki bölümde, Azure'da yerleşik olarak bulunan özelliklere üst düzey bir genel bakış sağlanmaktadır. Ayrıca belirli gereksinimleri karşılayacak şekilde yapılandırılabilir ek seçenekler de sağlar:

Sonraki adımlar