Kategoriler
SQL Windows Server Yazılar

SQL Server da TLS destekleri nelerdir?

SQL Server, farklı sürümlerde farklı TLS (Transport Layer Security) sürümlerini destekleyebilir. SQL Server’ın desteklediği TLS sürümleri, SQL Server sürümüne ve kullanılan Windows işletim sistemi sürümüne bağlı olarak değişebilir.

Genel olarak, SQL Server 2008 ve sonraki sürümler TLS 1.0, TLS 1.1 ve TLS 1.2’yi destekler. Ancak, güvenlik güncellemeleri ve yama güncellemeleri, özellikle güvenlik açıklarını düzeltmek amacıyla yapıldığı için, en güncel bilgileri Microsoft’un resmi kaynaklarından almanız önemlidir.

Aşağıda, tipik olarak desteklenen TLS sürümlerini gösteren bir tablo bulunmaktadır, ancak bu bilgiler zaman içinde değişebilir:

SQL Server SürümüMin. TLS SürümüMax. TLS Sürümü
SQL Server 2008TLS 1.0TLS 1.2
SQL Server 2008 R2TLS 1.0TLS 1.2
SQL Server 2012TLS 1.0TLS 1.2
SQL Server 2014TLS 1.0TLS 1.2
SQL Server 2016TLS 1.0TLS 1.2
SQL Server 2017TLS 1.0TLS 1.2
SQL Server 2019TLS 1.2TLS 1.3*
  • SQL Server 2019, TLS 1.3’ü destekleyebilir, ancak destek işletim sistemi ve konfigürasyona bağlı olarak değişebilir.

Güvenlik açısından, mümkünse en güncel SQL Server sürümünü ve işletim sistemini kullanmanız önerilir. Ayrıca, desteklenmeyen TLS sürümlerini kullanmaktan kaçınılmalıdır, çünkü bu durum güvenlik açıklarına neden olabilir.


Herhangi bir sorunuz veya eklemek istediğiniz detaylar varsa bana yazmaktan çekinmeyin.

Kategoriler
Windows Windows Server Yazılar

SSL/TLS Protokollerinin Evrimi ve Windows Sunucularda TLS 1.0 ve TLS 1.1’in Devre Dışı Bırakılması ile TLS 1.2’nin Aktive Edilmesi

SSL/TLS Tarihçesi

SSL (Secure Sockets Layer) ve TLS (Transport Layer Security), internet üzerindeki iletişimi güvenli hale getirmek için kullanılan kriptografik protokollerdir. İkisi de benzer ama farklı güvenlik protokolleridir ve genellikle “SSL/TLS” olarak bir arada anılırlar.

  1. SSL (Secure Sockets Layer):
  • SSL, Netscape Communications Corporation tarafından 1994 yılında geliştirilmeye başlandı.
  • İlk sürümü SSL 1.0 hiçbir zaman halka sunulmadı çünkü birçok güvenlik açığı içeriyordu.
  • SSL 2.0, 1995 yılında ortaya çıktı ve daha yaygın olarak kullanıldı, ancak güvenlik açıkları nedeniyle kısa bir ömre sahipti.
  • SSL 3.0, 1996 yılında tanıtıldı ve daha güvenliydi. Ancak, zamanla çeşitli güvenlik açıkları keşfedildi ve SSL 3.0’nın kullanımı terk edildi.

2. TLS (Transport Layer Security):

  • TLS, SSL’in geliştirilmiş ve güvenli bir versiyonu olarak kabul edilebilir.
  • TLS 1.0, SSL 3.0’ın güvenlik açıkları düzeltilerek geliştirilmiş bir sürümüdür ve 1999 yılında tanıtıldı.
  • TLS 1.1, 2006 yılında, TLS 1.2 ise 2008 yılında geldi ve her ikisi de protokolün güvenliğini artırdı.
  • TLS 1.3, 2018 yılında yayınlandı ve birçok güvenlik ve performans iyileştirmesi getirdi. TLS 1.3, önceki sürümlere göre daha hızlı ve daha güvenlidir.

SSL ve TLS, internet trafiğini şifreleyerek, veri alışverişini güvence altına alarak ve güvenlik protokollerini güncelleyerek internet üzerindeki iletişimi korur. Ancak, güvenlik açıkları ve zayıflıklar ortaya çıktıkça, bu protokoller sürekli olarak güncellenir ve iyileştirilir.


TLS 1.2 mi TLS 1.3 mü kullanmalıyız ?

TLS 1.0 ve TLS 1.1’in de 2021’de resmi olarak kullanımdan kaldırılmıştır.
Kaynak

TLS 1.2:

  • Daha önceki bir sürümdür ve birçok uygulama ve sistem tarafından desteklenir.
  • Güvenli bir bağlantı sağlamak için iyi bir seçenektir, ancak bazı güvenlik açıkları içerebilir.
  • Güvenlik uzmanları, mümkünse TLS 1.2 yerine TLS 1.3’ü kullanmayı önerir.

TLS 1.3:

  • Daha yeni bir sürümdür ve bir dizi güvenlik geliştirmesi sunar.
  • Daha hızlı bağlantı kurma süreleri ve daha güvenli şifreleme algoritmaları içerir.
  • Güvenlik açıklarıyla mücadele etmek için tasarlanmıştır ve birçok modern tarayıcı ve sunucu tarafından desteklenir.

Hangi sürümü kullanmanız gerektiği, kullanılan sistemlere, uygulamalara ve gereksinimlere bağlıdır. Ancak genel olarak, mümkünse TLS 1.3’ü tercih etmek isteyebilirsiniz çünkü daha güvenli ve performans açısından daha iyidir. Ancak, eski sistemlerle uyumluluk sorunları veya spesifik gereksinimler nedeniyle TLS 1.2 kullanmak zorunda kalabilirsiniz.

Web sunucuları ve tarayıcılar genellikle güncel ve desteklenen TLS sürümlerini otomatik olarak kullanır. Eğer bir web sunucusu yönetiyorsanız, en güncel ve desteklenen TLS sürümünü kullanmanız önerilir. Kullanıcılar olarak, güvenliği artırmak ve en iyi performansı sağlamak için tarayıcılarınızı ve sistemlerinizi güncel tutmalısınız.


Web yayını yaptığımız platformların SSL/TLS güvenlik seviyelerini kontrol etmek ve bir puanlama yapmak için kullanılan https://www.ssllabs.com/ssltest adresinin sunduğu genel SSL/TLS uyarılarına nasıl çözüm getireceğimizi inceleyeceğiz. Ayrıca, test amaçlı kullanılan https://ahmetorhan.xyz adresinde bu kontrolleri gerçekleştireceğiz. Makalede, sistemimizde RC4 protokolü ile TLS 1.0 ve TLS 1.1’i devre dışı bırakma adımlarını özellikle Windows Sunucularda nasıl uygulayacağımızı basitleştirerek ele alacağız. Çıktılarda belirtildiği gibi, bu protokollerin devre dışı bırakılması gerektiğini göreceğiz.

Buradaki amacımız aşağıdaki bölümleri yani desteği kaldırılan TLS 1.0 ve TLS 1.1 kapatmak.

SSL Güvenliği için Registry konfigürasyonu

Verdiğim kodları “security_enable.txt” adlı bir metin belgesine yapıştırın. Dosyanın adını “security_enable.reg” olarak değiştirin ve “.txt” uzantısını silin.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"Enabled"=dword:00000001
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"Enabled"=dword:00000001
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client]
"Enabled"=dword:00000000
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]
"Enabled"=dword:00000000
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client]
"Enabled"=dword:00000000
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server]
"Enabled"=dword:00000000
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\KeyExchangeAlgorithms\Diffie-Hellman]
"ServerMinKeyBitLength"=dword:00000800

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128]
"Enabled"=dword:00000000
  • security_enable.reg dosyamızı çalıştırdığımızda yukarıdaki tüm kayıtlar register ye otomatik olarak eklenecek ve aşağıdaki gibi eklendiğini görebilirsiniz.
  •  Başlat–>Çalıştır yolunu izleyerek regedit’i açıyoruz.

  • Bu işlemlerden sonra yaptığımız değişiklerin aktif olabilmesi için sunucumuzu restart etmemiz gerekiyor.
  • Restart işlemi tamamlandıktan sonra https://ahmetorhan.xyz domainimiz için test işlemini tekrar başlatıyorum. İlk başta B olarak sınıflandırmıştı şuan A olarak görmekteyiz.

  • TLS 1.0 ve TLS 1.1 protokollerinin devre dışı bırakıldığını görebilirsiniz.

  • Yaptığımız regedit değişiklerini geri almak isterseniz aşağıdaki kayıtları çalıştırıp tekrar restart etmeniz yeterli olacaktır.
Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2]
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1]
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0]
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0]

[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\KeyExchangeAlgorithms\Diffie-Hellman]
"ServerMinKeyBitLength"=dword:00000800

[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128]
"Enabled"=dword:00000000

[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128]
"Enabled"=dword:00000000

[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128]
"Enabled"=dword:00000000

Herhangi bir sorunuz veya eklemek istediğiniz detaylar varsa bana yazmaktan çekinmeyin.

Kategoriler
SQL Yazılar Yedekleme

SQL Server’da kaç türlü backup alınır?

SQL Server’da genellikle dört farklı türde yedekleme (backup) alınabilir:

  1. Tam Yedekleme (Full Backup)
  2. Diferansiyel Yedekleme (Differential Backup)
  3. İşlem Yedeklemesi (Transaction Log Backup)
  4. Dosya veya Dosya Grubu Yedeklemesi (File or Filegroup Backup)

Şimdi bunları detayına inelim;

1.Tam Yedekleme (Full Backup):
— Tam yedekleme, veri tabanının bütününü yedekler. Bu, veri tabanının anlık bir görüntüsünü çekmek anlamına gelir.
Neden Kullanmalısınız?:
— Güvenilir ve kapsamlı bir yedekleme sağlar. Özellikle büyük veri tabanları için idealdir, ancak depolama gereksinimleri yüksektir.

2.Diferansiyel Yedekleme (Differential Backup):
— Son tam yedeklemenin ardından yapılan değişiklikleri içerir. Yani, son tam yedekleme ile bu arasındaki farkı yakalar.
Neden Kullanmalısınız?:
— Depolama alanı tasarrufu sağlar ve geri yükleme sürelerini kısaltabilir. Ancak, her geçen sürede dosya boyutu artabilir.

3.İşlem Yedeklemesi (Transaction Log Backup):
— İşlem yedeklemesi, veri tabanındaki her bir işlemi kaydeder. Bu, belirli bir anın ardındaki tüm işlemleri içerir.
Neden Kullanmalısınız?:
— Veri kaybını minimumda tutar ve felaket durumlarına karşı güçlü bir koruma sağlar. Ancak, işlem yedekleme dosyaları hızla büyüyebilir.

4.Dosya veya Dosya Grubu Yedeklemesi (File or Filegroup Backup):
— Belirli dosyalar veya dosya grupları için yedekleme yapılmasını sağlar. Bu, özellikle büyük veri tabanları için özelleştirilmiş bir strateji sunar.
Neden Kullanmalısınız?:
— İhtiyaca göre özelleştirilebilir ancak yönetimi biraz karmaşık olabilir. Belirli dosyaların geri yüklenmesi durumunda kullanışlıdır.

İyi bir yedekleme stratejisi oluşturmak, veri güvenliğini ve hızlı geri yükleme yeteneklerini sağlamak için önemlidir. Tipik bir yaklaşım, düzenli tam yedeklemeler, ara sıra diferansiyel yedeklemeler ve sık işlem yedeklemelerini içermelidir. Bu strateji, iş sürekliliğini sağlama ve veri kaybını en aza indirme açısından kritiktir. Sizde senaryolarınıza göre yedeklemelerden en uygun olanı seçip ilerleyebilirsiniz.


Herhangi bir sorunuz veya eklemek istediğiniz detaylar varsa bana yazmaktan çekinmeyin.

Kategoriler
Azure Windows Yazılar

Azure CLI nedir? Nasıl Kullanılır?

Azure Command-Line Interface (Azure CLI), Microsoft’un bulut hizmeti platformu olan Microsoft Azure’ı yönetmek için kullanılan bir komut satırı aracıdır. Azure CLI, Azure kaynaklarını oluşturmak, yapılandırmak, yönetmek ve izlemek için kullanılır. Azure CLI, Windows, macOS ve Linux işletim sistemlerinde çalışabilir.

Azure CLI’nin temel özellikleri şunlardır:

  1. Çoklu Platform Desteği: Azure CLI, Windows, macOS ve Linux işletim sistemlerinde kullanılabilir.
  2. Azure Kaynak Yönetimi: Azure CLI, Azure Resource Manager (ARM) tarafından desteklenen kaynakların yönetimini sağlar. Bu, sanal makineler, depolama hesapları, ağlar, uygulama hizmetleri ve diğer birçok Azure kaynağını içerir.
  3. Komut Satırı Arayüzü: Azure CLI, komut satırında çalışan bir araçtır ve bu nedenle yazılım geliştiriciler ve sistem yöneticileri tarafından otomasyon ve betikleme işlemlerinde kullanılabilir.

1. Azure Hesabı ve Azure CLI Kurulumu

Azure CLI ile ilgili temel bilgileri öğrendik şimdide windows işletim sistemine nasıl yüklenir bunu inceleyelim;

Not : Azure CLI, Windows, macOS ve Linux işletim sistemlerinde kullanılabilir.

Öncelikle aşağıda bulunan linke gideriz ve burada yükleme için kullanacağımız seçenekler gösterilmekte;

  • “.msi” seçerek 64-bit olanı indiriyoruz

https://learn.microsoft.com/en-us/cli/azure/install-azure-cli-windows?tabs=azure-cli

  • İndirmiş olduğumuz setup dosyasını çalıştırıyoruz ve ilgili adımlarını takip ederek yükleme işlemini bitiriyoruz.

  • Daha sonra PowerShell’i administrator olarak açıyoruz.

  • `Set-ExecutionPolicy Unrestricted`, PowerShell’da betik dosyalarının (script files) çalıştırılmasına olanak tanıyan en düşük güvenlik düzeyini ayarlar. Bu, bilgisayarınızda veya bir skripte gelen hemen her türlü betik dosyasını çalıştırmanıza izin verir.

  • Yes to All yani “A” seçerek gerekli izini veriyoruz.
  • daha sonra “az” komutunu çalıştırıp “Azure Cli” kurulumumuzu tamamlamış oluyoruz.


2.Oturum Açma ve Abonelik Seçimi

Azure CLI’yi kullanmak için, az login komutu ile Azure hesabınıza oturum açmanız gerekmektedir. Oturum açtıktan sonra, kullanmak istediğiniz aboneliği seçebilirsiniz.

3. Kaynak Grubu Oluşturma ve Yönetme

Azure’da kaynakları düzenli bir şekilde yönetmek için, kaynak grupları kullanılır. İşte bir kaynak grubu oluşturma ve yönetme örneği:

4. Sanal Makine Yönetimi

Azure CLI, sanal makineleri oluşturmak ve yönetmek için kapsamlı bir dizi komut sunar. Örneğin, yeni bir Ubuntu sanal makine oluşturmak için:

5. Diğer Azure Kaynakları

Azure CLI ile ağlar, depolama hesapları, veri tabanları ve diğer birçok Azure kaynağını yönetebilirsiniz. Her kaynağın belirli bir komut seti bulunur.

6. Otomasyon ve Betikleme

Azure CLI, iş akışlarınızı otomatikleştirmek için mükemmel bir araçtır. Bash veya PowerShell betikleri oluşturarak tekrarlayan görevleri hızlıca gerçekleştirebilirsiniz.

7. Güncel Dokümantasyon ve Yardım

Azure CLI’nin güncel ve kapsamlı dokümantasyonuna her zaman başvurun. Ayrıca, her komutun kullanımını görmek için az [command] --help komutunu kullanabilirsiniz.

 

Herhangi bir sorunuz veya eklemek istediğiniz detaylar varsa bana yazmaktan çekinmeyin.

Kategoriler
Azure Yazılar

Azure Repos Nedir?

Azure Repos, Microsoft’un Azure DevOps hizmet ailesinin bir parçası olan bir versiyon kontrol sistemidir. Bu hizmet, yazılım geliştirme projelerinde kaynak kodu yönetimini sağlamak için kullanılır. Azure Repos, takım tabanlı yazılım geliştirme süreçlerini destekleyerek, geliştiricilere işbirliği yapmaları, kod değişikliklerini takip etmeleri ve sürüm geçmişini yönetmeleri için bir platform sunar.

Azure Repos’un ana özellikleri şunlardır:

1. Git ve Team Foundation Version Control (TFVC): Azure Repos, hem Git hem de Team Foundation Version Control (TFVC) gibi popüler versiyon kontrol sistemlerini destekler. Geliştiriciler, projelerine uygun olan versiyon kontrol sistemini seçebilirler.

2. İşbirliği ve Takım Çalışması: Azure Repos, çoklu geliştirici takımları arasında etkili bir işbirliği sağlar. Projelerde birlikte çalışma, kod inceleme süreçleri ve geri bildirim mekanizmaları gibi özelliklerle takım çalışmasını destekler.

3. Branch ve Merge İşlemleri: Geliştiriciler, projelerinde paralel geliştirmeler yapmak için branch’leri kullanabilir ve daha sonra bu branch’leri ana projeye birleştirebilir (merge). Bu, kodun düzenli bir şekilde yönetilmesini sağlar.

4. Entegrasyon: Azure Repos, diğer Azure DevOps hizmetleriyle entegre edilebilir. Bu, takımın gereksinimlerine uygun olarak projelerini planlamalarını, izlemelerini ve dağıtmalarını sağlar.

5. Web Tabanlı Arayüz: Azure Repos, web tabanlı bir kullanıcı arayüzü sunar, bu da geliştiricilerin kodlarına, geçmiş değişikliklere ve takım üyelerinin geri bildirimlerine kolayca erişmelerini sağlar.

Azure Repos, genellikle yazılım geliştirme süreçlerini daha verimli hale getirmek ve ekip içinde işbirliğini artırmak isteyen geliştirici takımları tarafından kullanılır.


Herhangi bir sorunuz veya eklemek istediğiniz detaylar varsa bana yazmaktan çekinmeyin.