SQL Server Management Studio Vulnerability Assessment

MS SQL Server Management Studio 17.4 sürümü ile birlikte yeni gelen özelliklerden biri de sql server güvenlik açığı değerlendirme aracı.

Bu araç veri tabanlarınızda yer alan güvenlik açıklarını rapor ederek sizi bilgilendiriyor ve nasıl çözeceğinize dair bilgiler veriyor.

SQL server sürümünüz en az 2008 olmalıdır. Yönetim aracınınız ise mutlaka 17.4.

 

Veri tabanı bazlı kullanılan bu aracı veri tabanızın üzerine sağ tıklayarak “tasks” bölümünden erişebilirsiniz.

 

Kısa bir süre içerisinde (veri tabanının büyüklüğüne bağlı olarak) ayrıntılı bir rapor vermektedir.

 

Güvenlik açıkları yüksek, orta ve düşük olmak üzere üç risk kategorisinde incelenmektedir.

Her bir uyarıya bir kimlik numarası atanır. Bu kimlik numaraları VA ile başlar. VA1245, VA1281 gibi.

ID lere tıklayarak problem hakkınca detaylı bilgiyi alabilirsiniz. Bu bilginin sonlarında da çözüm için yapılması gereken işlemler yer alır.

Oldukça kullanışlı olan bu araç her çalıştırıldığında bilgisayarınıza json dosyaları oluşturulur. Instance ve veri tabanı bazında ayrı klasörlerde yer alır bu dosyalar. SMSS ile açıp daha sonra da inceleyebilirsiniz.

 

SQL Server 2017 Read-Scale Availability Groups

Microsoft, AlwaysOn özelliğini her yeni SQL Server sürümünde biraz daha ileriye taşıyor.

SQL 2016’da domaine dahil olmayan makineler ile de AlwaysOn yapabilirken SQL Server 2017 sürümünde Read-Scale Availability Groups özelliğini getirdi.

Read-Scale Availability Groups özelliği Windows failover cluster rolünü kullanmadan sunucuları AlwaysOn grubuna dahil etmemizi sağlıyor. Haliyle listener a da ihtyaç duymuyor bu sistem.

Fail-over rolü olmayınca high-availability ve disaster recovery amaçları içinde kullanamıyoruz veri tabanı sunucumuzu.

Peki ne için kullanılıyor bu özellik, sadece veri tabanını farklı sunucular üzerinde çoğaltmak için kullanılıyor. Bunu yaparken de yukarda belittiğim üzere failover cluster hizmetini kullanmamıza gerek kalmıyor. Quorum yok, listener yok ve haliyle otomatik failover mekanizması da devre dışı.

SQL sunucuda failover hizmeti kurulu değil iken AlwaysOn özelliğini aktif edebiliyoruz.

 

Yeni bir Availability group oluşturken “Cluster type” bölümünden NONE seçmemiz gerekmektedir.

 

Bu özellik ile grubumuzu oluşturunca failover hizmeti yüklü olmayan sunucuları gruba dahil edebiliyoruz.

Otomatik geçiş olmamasına rağmen elle geçiş imkanı sağlıyor.

Mevcut grupları daha sonradan NONE olarak değiştiremeyeceğimizden dolayı bu işlemi başta yapmamız gerekmektedir.

Windows Server 2016 Domain Yapısında Geçici Grup Üyeliği Oluşturma

Windows Server 2016 sunucularda active directory yapısında yeni gelen bir özellik ile artık kullanıcı ya da kullanıcılara daha kolay bir şekilde geçici grup üyeliği verebiliyorsunuz.

Örneğin bir kullanıcıyı geçici olarak domain admin grubuna dahil ediyorsunuz. Kullanıcı belirtilen süre sonrasında otomatik olarak kendiliğinden bu gruptan ayrılıyor.

Eskiden de bu tür işlemleri yapabiliyorduk fakat kullanımı biraz karmaşıktı. Server 2016 ile powershell üzerinden rahatlıkla yapabilmekteyiz.

İlk olarak “Privileged Access Management Feature” özelliğini domainimiz için etkin hale getiriyoruz.

Enable-ADOptionalFeature ‘Privileged Access Management Feature’ -Scope ForestOrConfigurationSet -Target ortacdemirel.com

 

Ardından da kullanıcımızı istediğimiz gruba geçici olarak eklediğimizi belirtiyoruz.

Add-ADGroupMember  -Identity  ‘Domain Admins’  -Members  ‘ortac’  -MemberTimeToLive (New-TimeSpan -Days 5)

 

Komutun sonunda yer alan “New-TimeSpan” sadece güç için değil dakika, saat gibi değişkenler içinde kullanılabilir.

Ayrıntıları:

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/new-timespan?view=powershell-5.1

 

Active Directory Users and Computers konsolundan kontrol edebiliriz.

 

Ayrıca powershell üzerinden de hem bu ayarı hem de kalan süreyi görebiliriz.

Get-ADGroup ‘Domain Admins’ -Property member -ShowMemberTimeToLive

 

Member bölümünde yazan TTL değeri kalan süreyi göstermektedir.

Exchange Server dan Email Silme İşlemi

Exchange Server da exchange powershell kullanarak email ya da emailleri uzaktan rahatlıkla aratıp silebilirsiniz.

Emailin başlığında, içerisinde ya da eklenti dosyasının isminde belirli kelimeler geçen emaillerde bu işlemi uygulayabilirisiniz.

Arama ve silme işlemini tek bir kullanıcı için yapabileceğiniz gibi tüm kullanıcılar, belirli bir veri tabanındaki tüm kullanıcılar ya da belirli bir OU altındaki tüm kullanıcılar için de yapabilirsiniz.

Bulma ve silme işleminin en önemli kısmı bu işlemi yapacak olan exchange yöneticisinin gerekli yetkilere sahip olmasıdır.  Mailbox Search ve Mailbox Import Export yetkilerini ilgili rol grubuna atayarak başlıyoruz.

Windows Sunucu İşletim Sistemlerinde Slab Consolidation Hatası

Windows XP den sonraki tüm istemci ve sunucu işletim sistemlerinde işletim sistemi disklere otomatik olarak birleştirme (defrag) işlemi uygular.  Bunu da görev zamanlayıcısına atanmış görevler ile yapar.

Windows Server 2012 ve 2012 R2 işletim sistemleri ile birlikte yeni bir defrag özelliği de gelmiş bulunmaktadır. Bu da slab consolidation özelliği. Bu özellik storage sistemlerden verilen thin-provisioned disklerin defrag edilmesini sağlar.

Thin-provisioned olarak yapılandırılmış diskleri Windows sunucunuza atadığında bu diklere format atıp bir harf vermeniz gerekmektedir. Fakat hatalı ya da eksik yapılandırma sonucunda Windows server işletim sisteminiz bu disk alanlarını defrag edemeyecektir.

Örneğin sürücü harfi vermek yerine bir ntfs klasörüne mount etmek gibi;

 

Veya disk alanın 8 mb dan daha küçük yapılması gibi.

Alınan hata ise 257 numaralı event id dir.

“The volume Index Data (F:) was not optimized because an error was encountered: The slab consolidation / trim operation cannot be performed because the volume alignment is invalid. (0x89000029)”

 

Bu tur bir durumda hatadan kurtulmak için görev zamanlayıcısına geliyoruz. Microsoft > Windows > defrag bölümünü açıyoruz.

 

Bu bölümde Windows sunucunuz tarafından otomatik olarak atanmış bir görev zamanlayıcısı bulacaksınız. Özelliklerine geliyoruz.

 

Actions bölümünden “-k” komutunu kaldırıyoruz.

SQL Server Veri Tabanı ve Backup Dosyalarının Yerinin Tespiti

MS SQL server veri tabanı, log ve yedek dosyalarını bulmayı sağlayan bir program hazırladım.

Programın dosyaları bulabilmesi için veri tabanı ve log dosyalarının bağlı olduğu sql server instance hizmeti kapalı olmalıdır.

Program girilen dizine göre veri tabanı, log ve backup (normal ve sıkıştırılmış) dosyalarını bilgisayarınızda arayabiliyor. İsterseniz tüm dizinlerde de arama yapabiliyorsunuz. Fakat bu işlem çok uzun sürebilir. Özellikle işletim sistemi yüklü olan dizinde arama yapması uzun sürecektir. Tüm dizinlerde arama yapabilmek için hızlı bir bilgisayara ihtiyaç duyabilirsiniz. Bu işlem sırasında program “cevap vermiyor” yani “not responding” durumuna geçebilir. Programı kapatmadan beklemeniz gerekmektedir.

 

SQLDataFinder

SID Numarasından Hesap Bilgilerine Erişim

Workgroup ya da active directory yapılarında SID numarasını bildiğiniz bir kullanıcının bilgilerine rahatlıkla erişebilirsiniz.

Birkaç powershell komutu ile kolayca bulunan bu bilgileri daha hızlı erişebilmek için aşağıdaki programı hazırladım.

Windows 7 ve üstü istemci ler ile Windows Server 2008 ve üstü sunucu işletim sistemlerinde kullanılabilir.

İndirmek için:

UserFromSID

 

SQL Server da Linked Server Özelliği ile Excel Dosyasından Veri Çekilmesi

SQL Server da yer alan linked server özelliği sayesinde farklı sql server lara bağlantı kurup sanki kendi sql serverımızda işlem yapıyor gibi diğer sunuculardaki veri tabanlarında rahatlıkla çalışabiliriz.

Birçok kurum ve iş yerinde kullanılan bu güzel özellik oldukça işleri kolaylaştırmaktadır.

Linked serverın bir özelliği de excel dokümanına da bağlantı sağlayıp excel deki verileri sql sorgular ile çekmemizi sağlayabilmesidir.

Bu işlem için “Microsoft Access Database Engine 2010 Redistributable” yazılımına ihtiyacımız var. Bunun sebebi de varsayılan olarak sql server da excel bağlantısı için gerekli olan sağlayıcı (provider) yer almaz.

Aşağıdaki resimde SQL server 2016 üzerindeki sağlayıcılar yer almaktadır.