Aracılığıyla paylaş


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 noteImportant 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.

Integration Services icon (small) Tümleştirme Hizmetleri ile güncel kalın

Karşıdan yüklemeler, makaleleri, örnekler ve en son Microsoft video yanı sıra, seçili topluluğun çözümleri için ziyaret Integration Services sayfa MSDN veya TechNet:

Bu güncelleştirmelerin otomatik bildirim için kullanılabilir RSS akışlarına abone olmak sayfa.