SQL Server'da depolanan güvenli duruma getirme DTS Packages
For packages that were created in Microsoft SQL Server 2000 Data Transformation Services (DTS) and that are stored in the msdb database, there is a potential security issue.Bu sorun, sistem saklı yordamları, en yaygın görevleri için bu DTS paketlerini odaklanır.(Örnek olarak bir sistemi saklı yordam, ortak bir gerçekleştirir sp_enum_dtspackages görev, saklı yordam, msdb veritabanında depolanan bir DTS paketlerini listeler.Başka bir istemci uygulamasına bir DTS paketini yükleyen sp_get_dtspackage sistem saklı yordamı örnektir.) SQL Server 2000 Enterprise Manager, SQL Server Management Studiove DTS ortak görevleri gerçekleştirmek için bu saklı yordamları kullanma APı'SI tüm.
DTS sistem saklı yordamları ile ilgili olası bir güvenlik sorunu anlamak hemen sonra önemli azaltmak için uygun eylemleri alabilir.
Important Note: |
---|
Veri Dönüştürme Hizmetleri (DTS) önerilmiyor.Daha fazla bilgi için bkz:Veri Dönüştürme Hizmetleri (DTS). |
Olası bir güvenlik sorunu anlama
Sürümlerinde SQL Server ' den ealier SQL Server 2008, the yürütmek üzerinde sağ DTS sistem saklı yordamları bazıları verilen PUBLIC için. Bu ayarı kullanarak, için msdb veritabanını oturum açabilen herkesin aşağıdaki görevleri gerçekleştirebilirsiniz:
DTS paketlerini listesini alın.
Paketleri kendilerini alın.
Yeni paketler kaydedin.
Ancak, yalnızca bir paketin sahibi paket yeni sürüm kaydederek varolan bir paket değiştirebilir veya varolan bir paket silin.(DTS paket paket yeni sürüm kaydederek değiştirir.DTS paket geçerli sürüm üzerine yazmaz.)
Bir uygulama bağlanıyorsa, olası bir güvenlik sorunu oluşuyor SQL Server DTS paketlerini sahibi olan bir oturumu tarafından kullanılıyor. Bu senaryoda, bir SQL ekleme saldırısı değiştirme veya varolan paketler için silme riski yoktur.
DTS etkilenen sistem saklı yordamları
Aşağıdaki liste, sağ, yürütmek için PUBLIC verilir ve olası bir güvenlik sorunu neden olabilir DTS sistem saklı yordamları tanımlar:
sp_add_dtspackage
sp_drop_dtspackage
sp_dump_dtslog_all
sp_dump_dtspackagelog
sp_dump_dtssteplog
sp_dump_dtstasklog
sp_enum_dtspackagelog
sp_enum_dtspackages
sp_enum_dtssteplog
sp_enum_dtstasklog
sp_get_dtspackage
sp_get_dtsversion
sp_log_dtspackage_begin
sp_log_dtspackage_end
sp_log_dtsstep_begin
sp_log_dtsstep_end
sp_log_dtstask
sp_make_dtspackagename
sp_reassign_dtspackageowner
DTS sistem etkilenen değil yordamlar saklı...
Aşağıdaki liste, sağ, yürütmek PUBLIC için verilen DTS sistem saklı yordamları tanımlar:
sp_add_dtscategory
sp_drop_dtscategory
sp_enum_dtscategories
sp_modify_dtscategory
sp_reassign_dtspackagecategory
Bu sistem saklı yordamları, adında "dts" sahip, bu yordamları bu konuda açıklanan olası bir güvenlik sorunu oluşturur.
Olası bir güvenlik sorunu azaltma
DTS paketlerini, güvenliği artırmak için SQL Server 2008 Aşağıdaki durumlarda varsayılan ayarları değiştirildi:
Yeni yükleme.Yeni bir kurulumunu gerçekleştirdiğiniz SQL Server 2008, doğrudan DTS üzerinde yürütmek sistem saklı yordamları PUBLIC için iptal edildi. DTS paketlerini yönetmek ve izinler, yalnızca ile aşağıdaki verilir. Integration Services Veritabanı düzey roller:
db_ssisadmin
db_ssisltduser
db_ssisoperator
Daha sonra DTS paketlerini bu örnek, msdb veritabanını almak için SQL Server 2008, yalnızca bu ait hesap Integration Services Roller, yönetmek ve DTS paketlerini başarıyla çalıştırabilmesi yeniden görebilirsiniz.
Yükseltme.Önceki bir sürüm yükseltmeniz SQL Server için SQL Server 2008, doğrudan DTS üzerinde yürütmek sistem saklı yordamları PUBLIC için iptal edildi. Bu, varolan uygulamaların uyumluluğu korur.Yükseltme üç yürütmek izni de verir. Integration Services Bu konuda daha önce listelenen veritabanı düzey rollerini. Bir Sistem Yöneticisi iptal etmek için aşağıdaki bölümde açıklanan saklı yordam olabildiğince kısa sürede, çalıştırmalısınız yürütmek sağ PUBLIC gelen.
Hakkında bilgi için Integration Services roller Bkz: Tümleştirme Hizmetleri rollerini kullanma.
Yeni bir saklı yordam sp_dts_secure kullanma
SQL Server 2008 Yeni bir sistem içerir saklı yordam, sp_dts_secure, DTS paketlerini güvenliğini yönetme.Bu yordam, gerekli bir giriş parametresi vardır.Bu parametre iptal eder veya DTS Sistem saklı pocedures ortak yürütmek izinleri verir:
Ortak yürütmek izinleri'ni iptal etmek ve yalnızca ve aracılığıyla erişim için Integration Services Parametre 1 ile sp_dts_secure yordamı çalıştırmak, veritabanı düzey roller:
sp_dts_secure 1
Saklı yordamları, yetkili kullanıcılara, en kısa zamanda yükselttikten ve uyguladıktan sonra bu yordamın çalışması için DTS erişimi kısıtlamak için Integration Services Veritabanı düzey rollerini.
Not
Yeni bir kurulumunu gerçekleştirdiğiniz SQL Server 2008Kur, DTS sistem saklı yordamları iki eylem yapar. Kur, sağ PUBLIC için yürütmek önce iptal eder.Ardından, Kur yürütmek hakkı verir. Integration Services Bu konuda daha önce listelenen veritabanı düzey rollerini. Ancak, el ile çalıştırdığınızda sp_dts_secure 1, bu saklı yordam yalnızca PUBLIC için doğrudan DTS sistem saklı yordam s üzerinde'yürütmek iptal eder.Uygulamanız gerekir Integration Services veritabanı rolleri ayrı ayrı düzey.
Ortak yürütmek izni vermek için izinleri DTS sp_dts_secure yordamı parametresiyle birlikte çalıştırmak, saklı yordamını küme 0:
sp_dts_secure 0
Güvenlik kısıtlamaları'nı yeniden etkinleştirmek hazırlama işlemi sırasında varolan uygulamaların uyumluluğu korumak, varsa, yeni bir yükleme senaryosunda bu yordamı kullanabilirsiniz.
|