BitLocker ile Disk Şifreleme ve Yönetimi
Kurumsal ortamlarda veri güvenliğinin en kritik katmanlarından biri disk şifrelemedir. Bir dizüstü bilgisayar çalındığında, bir sunucuya fiziksel erişim sağlandığında ya da bir depolama birimi hurda olarak atıldığında, şifrelenmemiş diskler üzerindeki veriler kolayca ele geçirilebilir. Windows ekosisteminde bu probleme Microsoft’un yanıtı BitLocker’dır. Doğru yapılandırılmış bir BitLocker politikası, bu senaryolarda verilerinizi fiilen korur. Bu yazıda BitLocker’ı sıfırdan yapılandırmaktan, kurumsal yönetimine, sorun gidermeye kadar her şeyi ele alacağız.
BitLocker Nedir ve Nasıl Çalışır?
BitLocker, Windows Vista’dan bu yana Microsoft’un işletim sistemine dahil ettiği tam disk şifreleme teknolojisidir. AES-128 veya AES-256 algoritmasıyla çalışır ve teorik olarak anahtara sahip olmadan şifreli diske erişim imkansızdır.
BitLocker’ın çalışma mantığını anlamak için birkaç kavramı netleştirmek gerekir:
- TPM (Trusted Platform Module): Şifreleme anahtarlarını güvenli bir donanım yongasında saklayan mikrodenetleyici. Modern anakartların büyük çoğunluğunda bulunur. TPM olmadan BitLocker çalışabilir ama kullanım kolaylığı azalır.
- Recovery Key: 48 haneli kurtarma anahtarı. Sistem TPM’yi tanımadığında veya önyükleme ortamı değiştiğinde bu anahtar devreye girer.
- Protector: BitLocker’ın şifreleme anahtarını koruyan mekanizma. TPM, PIN, USB anahtarı veya bunların kombinasyonu olabilir.
- FVEK (Full Volume Encryption Key): Asıl diskin şifrelenmesinde kullanılan anahtar. Bu anahtar da VMK ile şifrelenir, katmanlı bir yapı oluşur.
Ön Gereksinimler ve Sistem Kontrolü
BitLocker’ı devreye almadan önce sistemin uygunluğunu kontrol etmek gerekir. Aşağıdaki PowerShell komutu TPM durumunu ve BitLocker uyumluluğunu raporlar:
# TPM durumunu kontrol et
Get-Tpm
# BitLocker uyumlu sürücüleri listele
Get-BitLockerVolume
# Sistem gereksinimlerini kontrol et
manage-bde -status
Çıktıda TpmPresent: True ve TpmReady: True görüyorsanız yolunuz açık demektir. Eğer TPM yoksa veya devre dışıysa, BIOS/UEFI ayarlarına girip TPM’yi etkinleştirmeniz gerekir. Dell sistemlerde genellikle Security > TPM Security altında, HP’de Security > TPM Embedded Security altında bulunur.
Bir diğer önemli kontrol: Diskin GPT mi MBR mi olduğunu anlamak. BitLocker modern UEFI sistemlerde GPT ile çok daha iyi çalışır.
# Disk bölümleme stilini kontrol et
Get-Disk | Select-Object Number, PartitionStyle, Size, FriendlyName
# Ayrıca diskpart ile de bakabilirsiniz
diskpart
list disk
BitLocker’ı Etkinleştirme: Farklı Senaryolar
Senaryo 1: TPM ile Otomatik Kilit Açma (En Yaygın Kurumsal Kullanım)
Bu yapılandırmada kullanıcı hiçbir şey yapmadan oturum açar, TPM yongası önyükleme sürecini doğrular ve disk otomatik olarak açılır. Fiziksel hırsızlığa karşı koruma sağlar ama aynı donanım üzerinde Windows dışından yapılan erişimleri de engeller.
# C: sürücüsünde BitLocker'ı TPM ile etkinleştir
Enable-BitLocker -MountPoint "C:" -EncryptionMethod Aes256 -TpmProtector
# Recovery key'i dosyaya yedekle (kritik adım!)
$recoveryKey = (Get-BitLockerVolume -MountPoint "C:").KeyProtector |
Where-Object {$_.KeyProtectorType -eq "RecoveryPassword"}
$recoveryKey.RecoveryPassword | Out-File "\fileserverbitlocker-keys$(hostname)-recovery.txt"
Senaryo 2: TPM + PIN Kombinasyonu (Daha Yüksek Güvenlik)
Yönetici veya üst düzey çalışan bilgisayarları için tercih edilen yöntem. Hem TPM hem de başlangıç PIN’i gerektirir. Fiziksel erişim artı PIN bilgisi olmadan sistem açılmaz.
# TPM + PIN ile etkinleştir
$securePin = ConvertTo-SecureString "123456" -AsPlainText -Force
Enable-BitLocker -MountPoint "C:" -EncryptionMethod Aes256 -TpmAndPinProtector -Pin $securePin
# Mevcut bir sürücüye PIN ekle
Add-BitLockerKeyProtector -MountPoint "C:" -TpmAndPinProtector -Pin $securePin
Gerçek dünyada PIN’i script içine yazmak güvenlik açığıdır. Üretim ortamında bunu interaktif olarak alın veya PAM (Privileged Access Management) çözümleriyle entegre edin.
Senaryo 3: Veri Sürücüsü Şifreleme
Sistem sürücüsü dışındaki D:, E: gibi veri sürücülerini şifrelemek için otomatik kilit açma genellikle tercih edilir; sistem açıldığında bu sürücüler de otomatik mount olur.
# Veri sürücüsünü şifrele
Enable-BitLocker -MountPoint "D:" -EncryptionMethod Aes256 -RecoveryPasswordProtector
# Sistem sürücüsüne bağlı otomatik kilit açmayı etkinleştir
Enable-BitLockerAutoUnlock -MountPoint "D:"
# Durumu doğrula
Get-BitLockerVolume -MountPoint "D:" | Select-Object MountPoint, VolumeStatus, EncryptionPercentage
Şifreleme Sürecini İzlemek
BitLocker başlatıldıktan sonra şifreleme arka planda devam eder, sistemi yeniden başlatmanıza gerek yoktur. İlerlemeyi takip etmek için:
# Tüm sürücülerin şifreleme durumunu izle
while ($true) {
Get-BitLockerVolume | Select-Object MountPoint, VolumeStatus, EncryptionPercentage, LockStatus
Start-Sleep -Seconds 30
Clear-Host
}
# Belirli bir sürücünün detaylı durumu
manage-bde -status C:
Büyük disklerde (2TB+ HDD) şifreleme 8-12 saat sürebilir. SSD’lerde bu süre çok daha kısadır. Sunucu ortamında mesai saatleri dışında başlatmanızı tavsiye ederim.
Active Directory Entegrasyonu ve Merkezi Yönetim
Kurumsal ortamda en büyük kabus, kullanıcının recovery key’ini kaybetmesidir. Bunu önlemenin yolu recovery key’leri Active Directory’e veya Microsoft Endpoint Manager (Intune) üzerine yedeklemektir.
Group Policy ile Recovery Key’leri AD’ye Yedekleme
Group Policy’de şu yola gidin: Computer Configuration > Administrative Templates > Windows Components > BitLocker Drive Encryption
Kritik politikalar:
- Store BitLocker recovery information in Active Directory Domain Services: Enabled olarak işaretleyin.
- Choose how BitLocker-protected operating system drives can be recovered: Recovery key ve recovery password’ün her ikisini de AD’ye kaydetmeyi zorunlu kılın.
- Do not enable BitLocker until recovery information is stored to AD DS: Eğer AD’ye kayıt başarısız olursa BitLocker etkinleşmesin diye bu seçeneği aktif edin.
PowerShell ile AD üzerinde saklanan recovery key’leri sorgulamak:
# Belirli bir bilgisayarın BitLocker recovery key'ini AD'den getir
$computerName = "WORKSTATION-01"
$computer = Get-ADComputer $computerName
Get-ADObject -Filter {objectClass -eq 'msFVE-RecoveryInformation'} `
-SearchBase $computer.DistinguishedName `
-Properties msFVE-RecoveryPassword |
Select-Object Name, msFVE-RecoveryPassword
# Tüm domain'deki BitLocker kayıtlarını listele
Get-ADObject -Filter {objectClass -eq 'msFVE-RecoveryInformation'} `
-SearchBase (Get-ADDomain).DistinguishedName `
-Properties msFVE-RecoveryPassword, Created |
Sort-Object Created -Descending |
Select-Object -First 20
MBAM (Microsoft BitLocker Administration and Monitoring)
Büyük kurumsal ortamlarda MBAM veya onun modern halefi olan Microsoft Endpoint Configuration Manager BitLocker yönetimi tercih edilir. MBAM ile:
- Merkezi recovery key yönetimi
- Uyumluluk raporları
- Self-service portal (kullanıcılar kendi recovery key’lerini alabilir)
- Otomatik şifreleme politikası uygulama
sağlanır. MBAM’ı ayrı bir yazıda ele alacağım ama temel agent kurulum parametresi şu şekildedir:
# MBAM client kurulumu ve agent'ı MBAM sunucusuna yönlendirme
MbamClientSetup.exe /REBOOT /AcceptEula MBAM_RECOVERY_AND_HARDWARE_SERVICE_ENDPOINT="https://mbam-server.domain.local/MBAMRecoveryAndHardwareService/CoreService.svc"
Sorun Giderme: En Sık Karşılaşılan Senaryolar
Recovery Key Gerektiren Önyükleme Döngüsü
Bir sabah kullanıcınız arar, bilgisayar açılmıyor ve 48 haneli bir kod istiyor. Paniklemeden önce kontrol listesi:
- BIOS güncellemesi mi yapıldı? TPM ölçümleri değişmiş olabilir.
- Secure Boot ayarları değişti mi?
- Donanım değişikliği mi yapıldı (yeni RAM, anakart gibi)?
# Recovery key ile açma (komut satırından test ortamında)
manage-bde -unlock C: -RecoveryPassword 123456-234567-345678-456789-567890-678901-789012-890123
# Sonrası için TPM'yi yeniden senkronize et
manage-bde -protectors -adbackup C: -id {KORUYUCU-ID}
# TPM koruyucusunu yeniden etkinleştir
Resume-BitLocker -MountPoint "C:"
BitLocker Politika Çakışmaları
Bazen Group Policy ile manuel yapılandırma çakışır ve BitLocker etkinleştirilemez. Tanı için:
# BitLocker ile ilgili tüm hata ve uyarıları event log'dan çek
Get-WinEvent -LogName "Microsoft-Windows-BitLocker/BitLocker Operational" -MaxEvents 50 |
Where-Object {$_.LevelDisplayName -eq "Error" -or $_.LevelDisplayName -eq "Warning"} |
Select-Object TimeCreated, Id, Message |
Format-List
# Uygulanan GPO'ları kontrol et
gpresult /scope computer /v | Select-String -Pattern "BitLocker" -Context 2,2
TPM Sorunları
# TPM'yi sıfırla (dikkatli kullanın! Mevcut anahtarlar silinir)
Clear-Tpm
# TPM sahibini ayarla
Initialize-Tpm
# TPM firmware versiyonu ve detayları
Get-TpmSupportedFeature
Get-TpmEndorsementKeyInfo
BitLocker Güvenlik Sertleştirmesi
Varsayılan BitLocker ayarları çoğu ortam için yeterlidir ama hassas verilerle çalışıyorsanız ek adımlar gerekir.
Şifreleme Algoritmasını Güçlendirme
Windows 10 1511 ve sonrasında XTS-AES modu desteklenmektedir. Bu mod, sabit disklerde daha güvenlidir.
# Yeni şifreleme standardıyla etkinleştir (Windows 10 1511+)
Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -TpmProtector
# Mevcut sürücünün şifreleme metodunu kontrol et
(Get-BitLockerVolume -MountPoint "C:").EncryptionMethod
# Group Policy ile varsayılan şifreleme metodunu belirle (Registry yolu)
Set-ItemProperty -Path "HKLM:SOFTWAREPoliciesMicrosoftFVE" `
-Name "EncryptionMethodWithXtsOs" -Value 7
# 3=AES-128, 4=AES-256, 6=XTS-AES-128, 7=XTS-AES-256
Pre-Boot Authentication ve Network Unlock
Sunucular için Network Unlock özelliği oldukça kullanışlıdır. Sunucu kurumsal ağa bağlıyken otomatik açılır, ağ dışındayken PIN gerektirir. Bu özellik WDS (Windows Deployment Services) sunucu rolü gerektirir.
Güvenlik sertleştirme checklist’i:
- Pre-boot PIN: Kullanıcı segmentine göre zorunlu kılın, 6 haneden az olmayan PIN politikası uygulayın.
- Used Space Only şifreleme: Yeni sistemlerde hız için kullanılabilir ama eski veri içeren disklerde tam şifreleme zorunludur.
- DMA saldırılarına karşı: Kernel DMA Protection’ı etkinleştirin (UEFI ayarlarından).
- Hibernation şifresi:
powercfg /hibernate onile hibernation’ı açık bırakıyorsanız, hibernation dosyası da şifrelendiğinden emin olun.
Toplu Dağıtım: Çok Sayıda Makineyi Yönetmek
100, 500 veya 1000 makineyi tek tek yapılandırmak mümkün değil. SCCM/Intune dışında PowerShell ile uzaktan toplu yönetim:
# Birden fazla bilgisayarda BitLocker durumunu toplu sorgula
$computers = Get-ADComputer -Filter {OperatingSystem -like "*Windows*"} |
Select-Object -ExpandProperty Name
$results = foreach ($computer in $computers) {
try {
$session = New-PSSession -ComputerName $computer -ErrorAction Stop
$status = Invoke-Command -Session $session -ScriptBlock {
Get-BitLockerVolume -MountPoint "C:" |
Select-Object MountPoint, VolumeStatus, EncryptionPercentage, LockStatus, EncryptionMethod
}
$session | Remove-PSSession
[PSCustomObject]@{
ComputerName = $computer
VolumeStatus = $status.VolumeStatus
EncryptionPercentage = $status.EncryptionPercentage
EncryptionMethod = $status.EncryptionMethod
Error = $null
}
} catch {
[PSCustomObject]@{
ComputerName = $computer
VolumeStatus = "Unreachable"
EncryptionPercentage = 0
EncryptionMethod = "N/A"
Error = $_.Exception.Message
}
}
}
# Şifrelenmemiş makineleri filtrele
$unencrypted = $results | Where-Object {$_.VolumeStatus -ne "FullyEncrypted"}
$unencrypted | Export-Csv "C:Reportsunencrypted-machines.csv" -NoTypeInformation
Write-Host "Şifrelenmemiş makine sayısı: $($unencrypted.Count)" -ForegroundColor Red
Write-Host "Tam şifreli makine sayısı: $(($results | Where-Object {$_.VolumeStatus -eq 'FullyEncrypted'}).Count)" -ForegroundColor Green
Bu scripti haftalık çalışacak şekilde Task Scheduler’a ekleyin ve çıktıyı güvenlik ekibine e-posta ile gönderin. Uyumluluk raporlaması için basit ama etkili bir yöntemdir.
Gerçek Dünya Senaryosu: Çalınan Dizüstü Olayı
Bir müşterimizin satış ekibinden bir çalışanın dizüstü bilgisayarı seyahat sırasında çalındı. Bilgisayarda müşteri sözleşmeleri, fiyat listeleri ve bir kısmı gizlilik anlaşması kapsamındaki veriler vardı.
Olayın ilk sorusunu cevaplamak için AD üzerinde kontrol yaptık:
# Çalınan bilgisayarın BitLocker kaydı var mı?
Get-ADComputer "SALES-LAPTOP-07" -Properties * |
Select-Object Name, LastLogonDate, OperatingSystem
Get-ADObject -Filter {objectClass -eq 'msFVE-RecoveryInformation'} `
-SearchBase "CN=SALES-LAPTOP-07,OU=Laptops,DC=domain,DC=local" `
-Properties msFVE-RecoveryPassword, Created |
Select-Object Created, msFVE-RecoveryPassword
AD’de kayıt vardı ve bilgisayar tam şifreliydi. XtsAes256 + TPM + PIN yapılandırması aktifti. Olay, veri ihlali değil sadece donanım kaybı olarak sınıflandırıldı. KVKK ve GDPR açısından ihlal bildirimi gerekmedi. Bu fark, kuruma hem maddi hem de itibar açısından ciddi bir yük olmaktan kurtardı.
Sertifikasyon gereksinimi duyan kurumlar için bu gibi belgeler ISO 27001 denetimleri ve PCI-DSS uyumluluk süreçlerinde kritik kanıt niteliği taşır.
BitLocker’ı Devre Dışı Bırakma ve Disk Silme
Bir makineyi hizmetten çıkardığınızda veya sattığınızda diskin güvenli şekilde temizlenmesi gerekir.
# BitLocker'ı devre dışı bırak (şifre çözme arka planda başlar)
Disable-BitLocker -MountPoint "C:"
# Tüm sürücülerde devre dışı bırak
Get-BitLockerVolume | Disable-BitLocker
# İlerlemeyi takip et
Get-BitLockerVolume | Select-Object MountPoint, VolumeStatus, EncryptionPercentage
# Recovery key protector'ü sil (anahtar rotasyonu için)
$keyId = (Get-BitLockerVolume -MountPoint "C:").KeyProtector |
Where-Object {$_.KeyProtectorType -eq "RecoveryPassword"} |
Select-Object -ExpandProperty KeyProtectorId
Remove-BitLockerKeyProtector -MountPoint "C:" -KeyProtectorId $keyId
Alternatif olarak, şifreleme anahtarını silmek de diskin içeriğini kalıcı olarak erişilemez kılar; bu yaklaşım kriptografik silme (cryptographic erase) olarak bilinir ve SSD’ler için geleneksel üzerine yazma yöntemlerinden çok daha güvenilirdir.
Sonuç
BitLocker, doğru yapılandırıldığında güçlü ve kurumsal ortamlara uygun bir şifreleme çözümüdür. Kritik noktalarda özetleyecek olursam:
- Recovery key yönetimini asla ihmal etmeyin; AD veya Intune entegrasyonu olmadan BitLocker yarım bir çözümdür.
- TPM + PIN kombinasyonu çoğu kurumsal senaryo için altın standarttır.
- Şifreleme metodu olarak XtsAes256 seçin, eski AES-128 değerlere takılı kalmayın.
- Toplu yönetim için erken dönemde yatırım yapın; 50 makinede manuel yönetim zaten zorken 500 makinede imkansız hale gelir.
- Düzenli uyumluluk raporlaması yapın; bir makine şifreli olmaktan çıkabilir (örneğin kullanıcı farkında olmadan devre dışı bırakmış olabilir).
- Olay müdahale planınıza BitLocker senaryolarını dahil edin; çalınan bir cihaza nasıl tepki vereceğinizi önceden belirleyin.
Fiziksel güvenliğin kontrol edemeyeceğiniz durumlara karşı disk şifrelemesi, savunma katmanlarınızın vazgeçilmez bir halkasıdır. BitLocker’ı kurmak birkaç saat iş ama sağladığı güvence uzun vadede paha biçilemez.
