Hizmetlerin isteğe bağlı erişim denetim listelerini yazanlar için en iyi uygulama örnekleri ve öneriler

Makale çevirileri Makale çevirileri
Makale numarası: 914392 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

™zet

İsteğe bağlı hizmet erişim denetim listeleri (DACL) iş istasyonunun ve sunucu güvenliğinin önemli bileşenleridir. Bu Microsoft Bilgi Bankası makalesinde hizmetlerdeki DACL'lerin nasıl yorumlanacağı açıklanmaktadır. Bu makale aynı zamanda, programlarının güvenliğini geliştiren ve üzerinde değerlendirme yapan hizmet DACL'si yazarları için en iyi uygulama önerileri sağlar.

GİRİŞ

Bu Microsoft Bilgi Bankası makalesini, isteğe bağlı hizmet erişim denetim listelerinin (DACL) güvenliğini değerlendirmeye yardımcı olan bir kılavuz olarak kullanabilirsiniz.

Daha fazla bilgi

Bir hizmetin DACL'lerini görüntülemek için, sc komutunu aşağıdaki örnekte gösterildiği gibi sdshow değişkeniyle birlikte kullanın, burada hizmet_adı DACL'lerini görüntülemek istediğiniz hizmetin adıdır:
sc sdshow hizmet_adı
Bu komut şunlara benzer sonuçlar üretir:
(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;PU)(A;;CCDCLCSWLOCRRC;;;LS)
sc komutunun bu örnek çıktısı, bir hizmetin güvenlik açıklamasını Güvenlik Tanımlayıcısı Tanım Dili (SDDL) sözdiziminde gösterir. SDDL sözdizimi hakkında bilgi için, aşağıdaki Microsoft Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/aa379567.aspx
Bir hizmet DACL'sinin savunmasız olup olmadığını belirlemek için bakılması gereken birkaç şey vardır. Aşağıdaki tablolar sc komutunun sonuçlarının nasıl okunacağını, her bir izin dizesinin ve iznin kime verildiğinin nasıl yorumlanacağını açıklar.

Aşağıdaki anahtarı kullanarak ayraç içindeki her bir karakter dizesini bağımsız olarak değerlendirebilirsiniz:
(İzin Ver/Engelle;;İzin dizesi;;;Yerleşik hesabın veya grubun SID değeri ya da kısa adı)
İzin dizesindeki iki harften oluşan her çift belirli bir hakka veya izne karşılık gelir:
Bu tabloyu kapaBu tabloyu aç
Çift Hak veya izin
CCQueryConf
DCChangeConf
LCQueryStat
SWEnumDeps
RP Start
WPStop
DTPause
LOInterrogate
CRUserDefined
GAGenericAll
GXGenericExecute
GWGenericWrite
GRGenericRead
SDDel
RCRCtl
WDWDac
WOWOwn

ChangeConf (DC) iznini çok dikkatli kullanın. Hizmetinizin ayrıcalık yükselmesi saldırısına açık olup olmadığını belirlerken ChangeConf iznine bakın. Bu izin, bir yetkilinin, hizmet başladığında çalıştırılan ikili dosyayı içerecek şekilde hizmetin yapılandırmasını değiştirmesine olanak tanır. İzinleri LocalSystem'a yükseltmede kullanılabilecekleri için WDac (WD) ve WOwn (WO) izinlerinin ikisinde de son derece dikkatli olun. Bu hakların düşük düzeyli izinleri olan bir kullanıcıya verilmediğinden emin olun. Bu tablo, SDDL sözdiziminde izin verilen kullanıcı türünü tanımlamada kullanılan kodları listeler.
Bu tabloyu kapaBu tabloyu aç
KodKullanıcı türü
DADomain Administrators (Etki Alanı Yöneticileri)
DGDomain Guests (Etki Alanı Konukları)
DUDomain Users (Etki Alanı Kullanıcıları)
EDEnterprise Domain Controllers (Kuruluş Etki Alanı Denetleyicileri)
DDDomain Controllers (Etki Alanı Denetleyicileri)
DCDomain Computers (Etki Alanı Bilgisayarları)
BABuilt-in (Local ) Administrators (Yerleşik (Yerel) Yöneticiler)
BGBuilt-in (Local ) Guests (Yerleşik (Yerel) Konuklar)
BUBuilt-in (Local ) Users (Yerleşik (Yerel) Kullanıcılar)
LALocal Administrator Account (Yerel Yönetici Hesabı)
LGLocal Guest Account (Yerel Konuk Hesabı)
AOAccount Operators (Hesap İşletmenleri)
BOBackup Operators (Yedekleme İşletmenleri)
POPrinter Operators (Yazıcı İşletmenleri)
SOServer Operators (Sunucu İşletmenleri)
AUAuthenticated Users (Kimliği Doğrulanmış Kullanıcılar)
PSPersonal Self (Kişinin Kendisi)
COCreator Owner (Oluşturan-Sahibi)
CGCreator Group (Oluşturanın Grubu)
SYLocal System (Yerel Sistem)
PUPower Users (Uzman Kullanıcılar)
WDEveryone (World) (Herkes (Dünya))
REReplicator (Çoğaltıcı)
IUInteractive Logon User (Etkileşimli Oturum Kullanıcısı)
NUNetwork Logon User (Ağ Oturumu Kullanıcısı)
SUService Logon User (Hizmet Oturumu Kullanıcısı)
RCRestricted Code (Kısıtlı Kod)
WRWrite Restricted Code (Kısıtlı Kod Yazma)
ANAnonymous Logon (Anonim Oturum)
SASchema Administrators (Şema Yöneticileri)
CACertificate Services Administrators (Sertifika Hizmetleri Yöneticileri)
RSRemote Access Servers Group (Uzaktan Erişim Hizmetleri Grubu)
EAEnterprise Administrators (Kuruluş Yöneticileri)
PAGroup Policy Administrators (Grup İlkesi Yöneticileri)
RUAlias to Allow Previous Windows 2000 (Önceki Windows 2000'e İzin Vermek için Diğer Ad)
LSLocal Service Account (for Services) (Yerel Hizmet Hesabı (Hizmetler için))
NSNetwork Service Account (for Services) (Ağ Hizmeti Hesabı (Hizmetler için))
RDRemote Desktop Users (for Terminal Services) (Uzak Masaüstü Kullanıcıları (Terminal Hizmetleri için))
NONetwork Configuration Operators (Ağ Yapılandırma İşletmenleri)
MUPerformance Monitor Users (Performans İzleyicisi Kullanıcıları)
LUPerformance Log Users (Performans Günlüğü Kullanıcıları)
ISAnonymous Internet Users (Anonim Internet Kullanıcıları)
CYCrypto Operators (Şifreleme İşletmenleri)
OWOwner Rights SID (Sahip Hakları SID'si)
RMRMS Service (RMS Hizmeti)

SDDL biçimindeki bir DACL dizesi nasıl yorumlanır

Bu bilgiler, bu makalenin başında listelenen örnek DACL dizesinin nasıl yorumlanacağını açıklar. Bu yorum, her bir erişim denetim girdisini (ACE) ayrı ayrı listeler.
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)

    Bu erişim denetim girdisi (ACE) LocalSystem'a (SY) şu hakları verir:
    • QueryConf
    • ChangeConf
    • QueryStat
    • EnumDeps
    • Start
    • Stop
    • Pause
    • Interrogate
    • UserDefined
    • Delete
    • RCtl
    • WDac
    • WOwn
    Erişim denetim girdisi (ACE) yerel sistem ile sınırlanmıştır. Yerel sistem zaten iş istasyonundaki en güçlü güvenlik içeriği olduğundan, bu güvenlik için iyidir. Bu nedenle, bir yükselme riski yoktur.
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)

    Bu erişim denetim girdisi (ACE) yerleşik yerel yöneticiler (BA) için geçerlidir. Bu erişim denetim girdisi (ACE) bir önceki erişim denetim girdisindekilerle (ACE) aynı hakları tüm yerel yöneticilere verir. Bu da iş istasyonundaki çok güçlü bir güvenlik içeriğidir. Bu nedenle, yine bir yükselme riski yoktur.
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;AU)

    Bu erişim denetim girdisi (ACE) yukarıdaki tüm hakları kimliği doğrulanmış her kullanıcıya (AU) verir.
Sonuncu erişim denetim girdisindeyse (ACE), düşük düzeyli izinleri olan grup içindeki bir kullanıcı (kimliği doğrulanmış herhangi bir kullanıcı gibi) hizmetin yapılandırmasını değiştirebilir. Bu yapılandırma, hizmet başlatıldığında çalıştırılan ikili dosyasını ve hizmetin altında çalıştığı hesabı içerir.

Aşağıdaki örnek DACL, kimliği doğrulanmış kullanıcılara ChangeConf izinleri vermez:
(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPLOCRRC;;;PU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;DT;;;LS)(A;;DT;;;NS)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;NO)

Bu DACL'de, kimliği doğrulanmış kullanıcılara (AU) yalnızca aşağıdaki izinler verilmiştir:
  • QueryConf
  • QueryStat
  • EnumDeps
  • Interrogate
  • UserDefined
  • RCtl
Bu hakların Authenticated Users (Kimliği Doğrulanmış Kullanıcılar) grubuna verilmesi yoluyla olası bir ayrıcalık yükselmesi riski yoktur. Power Users (PU, Uzman Kullanıcılar) grubu zaten LocalSystem'ı (Yerel Sistem) yükseltebileceği için, bunun bir yükselme riski olarak görülmemesi gerekir. Bu örnekte, Power Users (Uzman Kullanıcılar) grubu Authenticated Users (Kimliği Doğrulanmış Kullanıcılar) grubuyla aynı haklara sahiptir, ancak Power Users grubu ayrıca hizmeti başlatabilir (RP). Local Administrators (BA, Yerel Yöneticiler) grubu sonraki sıradadır. Bu ve sonraki grup olan Server Operators (SO, Sunucu İşletmenleri) grubunun ikisi de ChangeConf, WDac ve WOwn izinlerine sahiptir. Yalnızca en güvenilen kullanıcıların Local Administrators (Yerel Yöneticiler) veya Server Operators (Sunucu İşletmenleri) grubunda olmaları gerektiği için, bu kabul edilebilir.

LocalSystem (SY, Yerel Sistem) grubuna Power Users (Uzman Kullanıcılar) grubuyla aynı izinler verilir, ancak ayrıca Stop ve Pause izinleri de verilir. Bu uygun görünmektedir. Kısa olan sonraki iki erişim denetim girdisi, (ACE) Local Service (Yerel Hizmet) ve Network Service (Ağ Hizmeti) hesaplarına hizmeti duraklatma izinleri verir. Local Service (Yerel Hizmet) ve Network Service (Ağ Hizmeti) hesaplarının ikisi de güçlü yerel hesaplar olduğu için, bu da uygun görünmektedir.

Ancak, Network Configuration Operators (NO, Ağ Yapılandırma İşletmenleri) grubuna ChangeConf izinleri verilmektedir. Network Configuration Operators (Ağ Yapılandırma İşletmenleri) grubu, güvenilen kullanıcıların tam yönetici izinleri olmadan ağ ayarlarını değiştirmesine izin vermek için Windows XP'ye eklenmişti. Varsayılan olarak, Network Configuration Operators (Ağ Yapılandırma İşletmenleri) grubu boştur. Bu grup bazen belirli kullanıcılara ağ yapılandırma izinleri vermede kullanılır. Örneğin, taşınabilir bilgisayar sahibine bu izin verilebilir. Network Configuration Operators (Ağ Yapılandırma İşletmenleri) grubundaki kullanıcılar sıkça bilgisayarın fiziksel denetimine sahip olur. Ancak, bu grubun oluşturulmasındaki amaç, bu kullanıcılara tam yönetici izinleri vermemektir. Bu nedenle, bu hizmet DACL'si Network Configuration Operators (Ağ Yapılandırma İşletmenleri) grubuna ChangeConf izinleri vermemelidir.

En iyi uygulamalar

Hizmet DACL'lerini yalnızca belirli bir erişim türüne gerek duyan kullanıcılarla sınırlayın. Özellikle aşağıdaki hakları verirken dikkatli olun. Bu haklar düşük düzeyli izinleri olan bir kullanıcı veya gruba verilirse, bilgisayardaki LocalSystem'a (Yerel Sistem) yükselmek için kullanılabilirler:
  • ChangeConf (DC)
  • WDac (WD)
  • WOwn (WO)
Erişim hakları ve izinler hakkında daha fazla bilgi için, aşağıdaki Microsoft Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/ms685981.aspx

Özellikler

Makale numarası: 914392 - Last Review: 15 Şubat 2007 Perşembe - Gözden geçirme: 1.4
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Windows Server 2003 Web Edition
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003 Service Pack 1
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows XP Media Center Edition
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows XP Service Pack 1
  • Microsoft Windows XP Service Pack 1a
  • Microsoft Windows XP Service Pack 2
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
Anahtar Kelimeler: 
kbinfo KB914392

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com