Alıştırma - Aktarım, bekleme ve görüntüleme aşamalarında verilerinizin güvenliğini sağlama
marketplaceDb veritabanında fiziksel adresler, e-posta adresleri ve telefon numaraları gibi hassas bilgiler depolanmaktadır. Kötü amaçlı saldırganlar bu bilgileri kullanıma sunulursa işletmenize veya müşterilerinize zarar vermek için kullanabilir. Veritabanınızın güvenliğini artırmak için şifreleme ve veri maskelemeyi nasıl kullanabileceğinize bakın.
TLS ağ şifrelemesi
Azure SQL Veritabanı, her zaman tüm bağlantılar için Aktarım Katmanı Güvenliği (TLS) şifrelemesini zorunlu kılar ve bu da veritabanı ile istemci arasındaki aktarım sırasında tüm verilerin şifrelenmesini sağlar. TLS şifrelemesini kullanarak, uygulama sunucusu ile veritabanı arasındaki trafiği kesebilecek herkesin verileri okuyamayacağından emin olabilirsiniz. TLS şifrelemesi internet üzerinden gönderilen trafiğin güvenliğini sağlamak için kullanılan standart bir yöntemdir ve bu durumda Azure SQL veritabanınızla ağınız arasındaki trafiğin varsayılan olarak güvenli olmasını sağlar.
Saydam veri şifrelemesi
Azure SQL Veritabanı, bekleyen verilerinizi saydam veri şifrelemesi (TDE) yöntemiyle korur. TDE bütün bir veritabanı, yedekleri ve işlem günlüğü dosyaları için gerçek zamanlı şifreleme ve şifre çözme işlemlerini gerçekleştirir ve uygulamada değişiklik yapmayı gerektirmez. Saydam veri şifrelemesi, veritabanı şifreleme anahtarı kullanarak verilerin sayfa düzeyinde gerçek zamanlı G/Ç şifrelemesini ve şifre çözmesini gerçekleştirir. Okunarak belleğe alınan her sayfanın şifresi çözülür ve sayfalar diske yazılmadan önce şifrelenir.
TDE varsayılan olarak yeni dağıtılan tüm Azure SQL veritabanlarında etkindir. Veri şifrelemenin kapalı olup olmadığını denetlemek önemlidir. Eski Azure SQL Server veritabanlarında TDE etkinleştirilmemiş olabilir.
Azure portalında marketplaceDb veritabanınızda TDE'nin yapılandırıldığı yere göz atın.
Korumalı alanı etkinleştirmek için kullandığınız hesapla Azure portalında oturum açın.
Azure portalının üst kısmındaki arama çubuğunda marketplaceDb araması yapın ve veritabanını seçin.
Sol menü bölmesindeki Güvenlik'in altında Veri şifreleme'yi seçin.
Veri şifreleme seçeneğinde Veri şifreleme ayarının Açık olduğundan emin olun. Şifreleme durumunun da Şifrelendi olması gerekir.
Yeni veritabanları varsayılan olarak şifrelendiğinden, veritabanını oluşturur oluşturmaz verilerinizin diskte şifrelendiğinden emin olabilirsiniz.
Dekont
Azure, Azure SQL veritabanları da dahil olmak üzere ortamınızın güvenliğine ilişkin görünürlük sağlayan Bulut için Microsoft Defender adlı yerleşik bir hizmet içerir. Bulut için Microsoft Defender, TDE etkinleştirilmemiş veritabanlarını bayrakla işaretleyerek verilerinizin güvenliğini sağlamak için raporlama ve eylem gerçekleştirme olanağı sunar.
Dinamik veri maskeleme
Önceki ünitede sorgunuzu çalıştırdığınızda veritabanındaki bazı bilgilerin hassas olduğunu fark edebilirsiniz. Verilere erişimi olan herkese tam olarak görüntülenmesini istemediğiniz telefon numaraları, e-posta adresleri ve diğer bilgiler vardır.
Kullanıcılarınızın tam telefon numarasını veya e-posta adresini görebilmesini istemiyor olabilirsiniz, ancak yine de verilerin bir kısmını müşteriyi tanımlamak için müşteri hizmetleri temsilcilerinin kullanımına açmak istiyorsunuz. Azure SQL Veritabanı dinamik veri maskeleme özelliğini kullanarak, kullanıcıya görüntülenen verileri sınırlayabilirsiniz. Dinamik veri maskeleme, belirlenen veritabanı alanları üzerinde sorgunun sonuç kümesindeki hassas verileri gizleyen, ancak veritabanındaki veriler değiştirilmeyen ilke tabanlı bir güvenlik özelliğidir.
Veri maskeleme kuralları, maskenin uygulanacağı sütun ile veri maskeleme yöntemini kapsar. Kendi maskeleme biçiminizi oluşturabilir veya aşağıdakiler gibi standart maskelerden birini kullanabilirsiniz:
- Varsayılan değer: Değer yerine ilgili veri türünün varsayılan değerini görüntüler.
- Kredi kartı değeri, sayının yalnızca son dört basamağını gösterir ve diğer tüm sayıları küçük harf x'lere dönüştürür.
- E-posta: Etki alanı ve e-posta hesabı adının ilk karakteri hariç tamamını gizler.
- Sayı: Bir değer aralığındaki rastgele bir sayıyı belirtir. Örneğin kredi kartı son kullanma ayı ve yılı için 1 ile 12 arasında rastgele bir ay ve 2018 ile 3000 arasında rastgele bir yıl seçebilirsiniz.
- Özel dize: Verinin başından itibaren gösterilen karakter sayısını ve verinin sonundan önce gösterilen karakter sayısını ve verinin geri kalanında tekrarlanacak karakterleri belirtmenizi sağlar.
Veritabanı yöneticileri sütunları sorguladığında özgün değerleri görmeye devam eder. Yönetici olmayanlar maskelenmiş değerleri görür. Maskeleme listesinden dışlanan SQL kullanıcılarına ekleyerek diğer kullanıcıların maskelenmemiş sürümleri görmesine izin vekleyebilirsiniz.
MarketplaceDb veritabanınızda veri maskelemenin nasıl çalışacağına göz atın.
Portalda marketplaceDb veritabanı panelindeyken, sol menü bölmesindeki Güvenlik'in altında Dinamik Veri Maskeleme'yi seçin.
Maskeleme kuralları ekranında var olan dinamik veri maskelerinin yanı sıra dinamik veri maskesi uygulanması önerilen sütunlar bulunur.
Telefon numarası için yalnızca son dört rakamı görüntüleyen bir maske ekleyin. Maskeleme kuralı ekle iletişim kutusunu açmak için üstteki Maske ekle düğmesini seçin.
Aşağıdaki değerleri seçin.
Ayar Value Şema SalesLT Table Müşteri Sütun Phone (nvarchar) Maskeleme alanı biçimi Özel dize (ön ek [doldurma] son ek) Sunulan Ön Ek 0 Doldurma Dizesi XXX-XXX- Sunulan Son Ek 4 Maskeleme kuralını eklemek için Ekle’yi seçin.
E-posta adresi için bir tane daha ekleyin. Maskeleme kuralı ekle iletişim kutusunu açmak için üst kısımdaki Maske ekle düğmesini yeniden seçin.
Ayar Value Şema SalesLT Table Müşteri Sütun EmailAddress (nvarchar) Maskeleme alanı biçimi E-posta (aXXX@XXX.com) Maskeleme kuralını eklemek için Ekle’yi seçin.
Her yeni maske, maskeleme kuralları listesine eklenir. Maskeleri uygulamak için Kaydet'i seçin.
Veri maskelemenin sorgunuzu nasıl değiştiriyor olduğunu inceleyin.
Şimdi veritabanında yeniden oturum açın, ancak ApplicationUser kullanıcısı olarak oturum açın.
sqlcmd -S tcp:[server-name].database.windows.net,1433 -d marketplaceDb -U 'ApplicationUser' -P '[password]' -N -l 30
Aşağıdaki sorguyu çalıştırın.
SELECT FirstName, LastName, EmailAddress, Phone FROM SalesLT.Customer; GO
Çıkışın nasıl maskelendiğine bakın.
FirstName LastName EmailAddress Phone ------------- ------------- -------------------- ------------ Orlando Gee oXXX@XXXX.com XXX-XXX-0173 Keith Harris kXXX@XXXX.com XXX-XXX-0127 Donna Carreras dXXX@XXXX.com XXX-XXX-0130 Janet Gates jXXX@XXXX.com XXX-XXX-0173 ...
Oluşturduğunuz maskeleme kurallarıyla verileriniz belirttiğiniz biçimde maskelenmiş durumdadır. Bu kurallar, müşteri hizmetleri temsilcilerinizin bir müşteriyi telefon numarasının son dört rakamıyla doğrulamasını sağlar, ancak tam numarayı ve müşterinin e-posta adresini görünümden gizler.