Abdulaziz Akyol

USB depolama aygıtlarını engellemek: kayıt defteri, Grup İlkesi ve PowerShell

Sistem yönetimi · PowerShell
3 Aralık 2018 · 6 dk okuma · Abdulaziz Akyol

USB depolama aygıtlarını engellemek, Windows bilgisayarlarda USB bellek ve harici disklerin okunmasını, yazılmasını ya da hiç tanınmamasını önlemek demektir; amaç veri sızıntısını ve taşınabilir medyayla gelen zararlı yazılımı sınırlamaktır. En eski yöntem kayıt defterindeki USBSTOR sürücüsünü kapatmaktır, ama bugün kurumsal ortamda doğru araçlar Grup İlkesi, Intune ve Microsoft Defender for Endpoint cihaz denetimidir.

Bu yazı 2018’de paylaştığım iki satırlık VBScript notunun güncellenmiş hâli. Önce kayıt defteri yönteminin tam olarak ne yaptığını ve nerede yetersiz kaldığını anlatıyorum, sonra Grup İlkesi ve modern seçeneklere geçiyorum. Eski betiğin düzeltilmiş hâli de aşağıda.

USBSTOR Start değeri ne yapar?

HKLM\SYSTEM\CurrentControlSet\Services\USBSTOR anahtarı, USB yığın depolama (mass storage) sınıf sürücüsü usbstor.sys’nin hizmet kaydıdır. Buradaki Start değeri sürücünün ne zaman yükleneceğini belirler. Microsoft’un sürücü belgelerindeki tanımlar:

Start Sabit Anlamı
3 SERVICE_DEMAND_START Varsayılan. Tak ve Kullan yöneticisi aygıtı algıladığında sürücüyü yükler.
4 SERVICE_DISABLED Sürücü başlatılamaz; USB bellek takılsa da sürücü harfi almaz.

Değeri 4 yapmak, USB belleği fiziksel olarak takılı olsa bile işlevsiz bırakır. Microsoft’un çıkarılabilir aygıt sorun giderme belgesi de bu yöntemi, Grup İlkesi olmayan Home sürümleri için kayıt defteri yolu olarak veriyor.

Eski VBScript, düzeltilmiş hâliyle

Orijinal nottaki iki betik de “USB Enable Script” başlığını taşıyordu; oysa ilki (değer 4) USB’yi kapatıyor, ikincisi (değer 3) açıyordu. Ayrıca metin editöründen gelen akıllı tırnaklar (“ ”) VBScript’te geçersiz olduğu için betikler kopyalandığı hâliyle çalışmıyordu. Tek dosyada parametreyle çalışan düzeltilmiş sürüm:

' usb-depolama.vbs  -  yonetici komut isteminde: cscript //nologo usb-depolama.vbs kapat | ac
Option Explicit
Const REG_PATH = "HKLM\SYSTEM\CurrentControlSet\Services\USBSTOR\Start"
Dim objShell, strMode, intValue

If WScript.Arguments.Count <> 1 Then
    WScript.Echo "Kullanim: cscript //nologo usb-depolama.vbs kapat|ac"
    WScript.Quit 2
End If

strMode = LCase(WScript.Arguments(0))
Select Case strMode
    Case "kapat": intValue = 4     ' SERVICE_DISABLED
    Case "ac":    intValue = 3     ' SERVICE_DEMAND_START (varsayilan)
    Case Else
        WScript.Echo "Gecersiz parametre: " & strMode
        WScript.Quit 2
End Select

Set objShell = CreateObject("WScript.Shell")
On Error Resume Next
objShell.RegWrite REG_PATH, intValue, "REG_DWORD"
If Err.Number <> 0 Then
    WScript.Echo "Yazilamadi (yonetici olarak mi calistirdiniz?): " & Err.Description
    WScript.Quit 1
End If
On Error GoTo 0
WScript.Echo "USBSTOR Start = " & objShell.RegRead(REG_PATH)

VBScript’in Windows’ta isteğe bağlı özelliğe dönüştüğünü ve ileride kaldırılacağını unutmayın; ayrıntılar ve kullanıcı yönetimi betiklerinin geçişi için VBScript’ten PowerShell’e rehberine bakın.

PowerShell ile kayıt defteri ayarı ve doğrulama

Aynı işin PowerShell karşılığı iki satırdır. Yükseltilmiş oturumda çalıştırın:

#Requires -RunAsAdministrator
$usbstor = 'HKLM:\SYSTEM\CurrentControlSet\Services\USBSTOR'

Set-ItemProperty -Path $usbstor -Name Start -Value 4 -Type DWord   # 4 = kapalı, 3 = varsayılan
Get-ItemPropertyValue -Path $usbstor -Name Start

Ayarı yazmak yetmez; hangi aygıtın hangi sürücüyle çalıştığını da görmek gerekir. Şu sorgu, takılı depolama aygıtlarını ve onlara hizmet eden sürücüyü listeler:

Get-PnpDevice -PresentOnly |
    Where-Object Service -in 'USBSTOR', 'UASPStor' |
    Select-Object FriendlyName, Service, Status, InstanceId

Get-Disk | Where-Object BusType -eq 'USB' |
    Select-Object Number, FriendlyName, OperationalStatus, Size

İkinci sorguda görünen ama USBSTOR hizmetini kullanmayan bir disk, kayıt defteri yönteminin onu durdurmayacağının işaretidir.

Kayıt defteri yönteminin sınırları

Sahada en sık gördüğüm hata, USBSTOR değerini 4 yapıp işin bittiğini düşünmek. Bu yöntemin sınırları şunlar:

  • Yalnızca tek sürücüyü durdurur. USB Attached SCSI (UAS) protokolüyle çalışan bazı hızlı harici diskler usbstor.sys yerine ayrı bir sürücü (UASPStor) kullanır. Telefonlar gibi Windows taşınabilir aygıtları (WPD/MTP), CD/DVD sürücüleri ve bazı kart okuyucular da bu ayardan etkilenmez.
  • İlk kurulumda geri dönebilir. Microsoft’un sürücü belgelerine göre bir sürücü paketi kurulurken hizmetin başlangıç türü yeniden yazılabilir. Bilgisayara ilk kez takılan bir aygıttan sonra değerin 3’e döndüğü bildiriliyor; yöntem en güvenilir, sürücü daha önce kurulmuşsa çalışır.
  • Yönetici geri alabilir. Yerel yönetici haklarına sahip her kullanıcı değeri tek komutla değiştirebilir.
  • İz bırakmaz. Kimin ne zaman aygıt taktığına dair merkezi bir kayıt üretmez.
  • Önyüklemeyi engellemez. Birisi bilgisayarı USB’den başlatırsa Windows ayarlarının hiçbiri devrede değildir. Firmware (UEFI) parolası ve USB’den önyüklemenin kapatılması ayrıca gerekir; disk şifrelemesi (BitLocker) bu senaryonun asıl korumasıdır.

Bu yüzden kayıt defteri yöntemini yalnızca Grup İlkesi olmayan tek bir makinede ya da geçici önlem olarak kullanıyorum.

Grup İlkesi: Removable Storage Access

Domain ortamında temel araç, Bilgisayar Yapılandırması (ya da Kullanıcı Yapılandırması) > Yönetim Şablonları > Sistem > Removable Storage Access altındaki ilkelerdir. En çok kullanılanlar:

  • All Removable Storage classes: Deny all access – Tüm çıkarılabilir depolama sınıflarına erişimi kapatır ve sınıf bazındaki ayarların önüne geçer.
  • Removable Disks: Deny read access / Deny write access / Deny execute access – USB bellek ve harici diskler için okuma, yazma ve çalıştırmayı ayrı ayrı engeller. Yalnızca yazmayı kapatmak, “okuyabilir ama kopyalayamaz” politikası için idealdir.
  • CD and DVD, WPD Devices ve diğer sınıflar için aynı biçimde ayrı ilkeler.
  • Set time (in seconds) to force reboot – Microsoft’un belgesine göre yeniden başlatma zorlanmazsa erişim hakkı değişikliği işletim sistemi yeniden başlatılana kadar etkinleşmeyebilir.

“Deny all access” ilkesini dikkatli kullanın. Microsoft’un sorun giderme belgesi, yalnızca USB engellenmek istenirken bu ilkenin CD/DVD sürücülerini de kapattığını ve üst OU’da uygulandığında alt OU’daki istisnaları da ezdiğini not ediyor. Yalnızca USB hedefleniyorsa “Removable Disks” ilkelerini tercih edin.

Bu ilkeler kayıt defterinde HKLM\SOFTWARE\Policies\Microsoft\Windows\RemovableStorageDevices altına yazılır; çıkarılabilir diskler sınıfının anahtarı {53f5630d-b6bf-11d0-94f2-00a0c91efb8b}’dir. Etkin durumu PowerShell ile okuyabilirsiniz:

$politika = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\RemovableStorageDevices'
if (Test-Path $politika) {
    Get-ItemProperty -Path $politika | Select-Object Deny_All
    Get-ChildItem -Path $politika | ForEach-Object {
        [pscustomobject]@{
            Sinif        = $_.PSChildName
            Deny_Read    = $_.GetValue('Deny_Read')
            Deny_Write   = $_.GetValue('Deny_Write')
            Deny_Execute = $_.GetValue('Deny_Execute')
        }
    }
} else {
    'Removable Storage Access ilkesi uygulanmamis.'
}

İlkenin gerçekten uygulanıp uygulanmadığını gpresult /h rapor.html ile kontrol edin. Politika anahtarına elle yazılan değerler bir sonraki Grup İlkesi yenilemesinde ezilebilir; kalıcı ayarı her zaman ilkeden verin.

Belirli aygıtlara izin vermek: Device Installation Restrictions

“Her şey kapalı, yalnızca şirketin şifreli USB belleği açık” gibi bir senaryo için Sistem > Device Installation > Device Installation Restrictions altındaki ilkeler kullanılır. Bu ilkeler yalnızca bilgisayar düzeyinde uygulanır; aygıt kimliği, aygıt örnek kimliği ya da kurulum sınıfına göre kurulumu engeller veya izin verir. İstisna tanımlamak için “Apply layered order of evaluation for Allow and Prevent device installation policies across all device match criteria” ilkesini açın. “Also apply to matching devices that are already installed” seçeneğini dikkatle kullanın: Microsoft, “Disk Drive” sınıfını geriye dönük engellemenin dahili diski de kullanılamaz hâle getirebileceği konusunda uyarıyor.

Intune ve Microsoft Defender for Endpoint cihaz denetimi

Intune ile yönetilen cihazlarda aynı Removable Storage Access ve Device Installation ayarları ADMX tabanlı ilkeler olarak dağıtılabilir. Daha ayrıntılı kontrol için Microsoft Defender for Endpoint cihaz denetimi (device control) devreye girer:

  • Erişimi aygıta, aygıt türüne, işleme (okuma, yazma, çalıştırma), kullanıcı grubuna, ağ konumuna ve dosya türüne göre kısıtlar.
  • Kuralları Intune, Grup İlkesi ya da Defender portalından yönetirsiniz.
  • Denetim (audit) girdileri gelişmiş avcılıkta RemovableStoragePolicyTriggered olay türüyle görünür; kimin hangi aygıtı taktığını raporlayabilirsiniz.
  • BitLocker ile şifrelenmiş ve şifrelenmemiş aygıtlar için ayrı kural yazılabilir.

Microsoft’un belgesine göre cihaz denetimi, kötü amaçlı yazılımdan koruma istemcisi 4.18.2103.3 ve sonrası olan Windows 10 ve Windows 11 cihazlarda çalışıyor; sunucular şu an desteklenmiyor. Ayrıca yalnızca Windows’ta sürücü harfi oluşturan aygıtları “çıkarılabilir medya” sayıyor. Dosya içeriğine göre (ör. gizli etiketli belgelerin kopyalanmasını) engellemek gerekiyorsa bunun aracı Microsoft Purview uç nokta veri kaybı önleme (Endpoint DLP) çözümüdür.

Hangi yöntemi ne zaman seçmeli?

Yöntem Kapsam Ayrıntı Merkezi yönetim ve kayıt
USBSTOR Start = 4 Yalnızca USB yığın depolama sürücüsü Aç / kapat Yok
Removable Storage Access Çıkarılabilir disk, CD/DVD, WPD ve diğer sınıflar Okuma, yazma, çalıştırma ayrı Grup İlkesi, Intune
Device Installation Restrictions Aygıt kimliği, örnek kimliği, kurulum sınıfı İzin listesi mümkün Grup İlkesi, Intune
Defender for Endpoint cihaz denetimi Çıkarılabilir medya, WPD, CD/DVD, yazıcı Kullanıcı, aygıt, işlem, dosya türü Intune, GPO, portal; gelişmiş avcılık

Kontrol listesi

  • Hedefi netleştirin: tamamen kapatmak mı, salt okunur mu, yalnızca şirket aygıtlarına izin mi?
  • Domain ortamında Removable Storage Access ilkeleriyle başlayın; “Deny all access” yerine sınıf bazlı ilkeleri tercih edin.
  • İstisna gerekiyorsa Device Installation Restrictions’ı katmanlı değerlendirmeyle ya da Defender cihaz denetimini kullanın.
  • Kullanıcılardan yerel yönetici hakkını kaldırın; aksi hâlde her ayar geri alınabilir.
  • Ayarı PowerShell ile okuyun, gpresult ile doğrulayın ve yeniden başlatma sonrası gerçek bir USB bellekle test edin.
  • UEFI parolası, USB’den önyüklemenin kapatılması ve BitLocker ile fiziksel erişim senaryosunu da kapatın.

PowerShell komutlarına yabancıysanız PowerShell’e giriş rehberi iyi bir başlangıç; bilgisayar USB’den önyüklemeyle kurtarma gerektirecek hâle gelirse Windows önyükleme onarımı rehberine bakabilirsiniz.

Sık sorulan sorular

USBSTOR Start değeri 3 ve 4 ne anlama gelir?

Start, Windows hizmet ve sürücülerinin ne zaman yükleneceğini belirler. 3 (SERVICE_DEMAND_START) varsayılan değerdir; USB yığın depolama sürücüsü bir USB bellek takıldığında Tak ve Kullan yöneticisi tarafından yüklenir. 4 (SERVICE_DISABLED) sürücünün başlatılamayacağı anlamına gelir; bu durumda USB bellekler ve harici diskler sürücü harfi almaz.

USB belleği tamamen kapatmadan salt okunur yapabilir miyim?

Evet. Grup İlkesi'nde Bilgisayar Yapılandırması > Yönetim Şablonları > Sistem > Removable Storage Access altındaki 'Removable Disks: Deny write access' ilkesi yazmayı engeller, okumaya izin verir. Alternatif olarak BitLocker'ın 'Deny write access to removable drives not protected by BitLocker' ilkesiyle yalnızca şifreli aygıtlara yazmaya izin verebilirsiniz.

Kayıt defterinde USBSTOR değerini 4 yaptım ama ayar geri döndü, neden?

Kayıt defteri yöntemi en iyi, USB depolama sürücüsü bilgisayarda daha önce kurulmuşsa çalışır; bilgisayara ilk kez takılan bir aygıtta sürücü kurulumunun başlangıç türünü yeniden 3 yaptığı bildiriliyor. Ayrıca yerel yönetici haklarına sahip her kullanıcı değeri değiştirebilir. Kalıcı ve merkezi kontrol için Grup İlkesi ya da Intune kullanın.

USB depolamayı engellemek klavye, fare ve yazıcıları da etkiler mi?

USBSTOR ve Removable Storage Access ilkeleri yalnızca depolama sınıflarını etkiler; klavye, fare gibi HID aygıtlar çalışmaya devam eder. Ancak Device Installation Restrictions ile yanlış kurulum sınıfı ya da 'All Removable Storage classes: Deny all access' gibi geniş bir ilke seçilirse CD/DVD, tarayıcı ya da yazıcı da istemeden engellenebilir.

Kaynaklar

  1. Managing Removable Devices Through Group Policy Troubleshooting Guidance (Microsoft Learn) learn.microsoft.com
  2. ADMX_RemovableStorage Policy CSP (Microsoft Learn) learn.microsoft.com
  3. Manage Device Installation with Group Policy (Microsoft Learn) learn.microsoft.com
  4. Device control in Microsoft Defender for Endpoint (Microsoft Learn) learn.microsoft.com
  5. INF AddService Directive: StartType değerleri (Microsoft Learn) learn.microsoft.com

USBUSBSTORGrup İlkesiIntuneMicrosoft Defender for EndpointPowerShellMarkdown sürümü

İletişim

Konuşalım.