Share via


SQL Server'da depolanan güvenli duruma getirme DTS Paketleri

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 endişeyi bu dts paketleri için en yaygın görevleri yerine sistem saklı yordamları odaklanır.(Örnek olarak bir sistem saklı yordamı , ortak bir gerçekleştiren bir görev sp_enum_dtspackages saklı yordamı depolanan dts paketlerini listeler, msdb veritabanı.Diğer bir örnek ise sp_get_dtspackage sistem saklı yordamı , bir dts paketini bir istemci uygulaması. yükler) SQL Server 2000 Enterprise Manager, SQL Server Management Studiove dts. ortak görevleri gerçekleştirmek için bu saklı yordamları kullanmak API tüm

dts ile ilişkili olası güvenlik sorunu anlamak gibi sistem saklı yordamları, sonra o sorununa azaltmak için gereken işlemleri gerçekleştirin.

Önemli notÖnemli

Veri Dönüştürme Hizmetleri (dts) kaldırılmıştır.Daha fazla bilgi için bkz: Veri Dönüştürme Hizmetleri (dts).

Olası güvenlik sorunu anlama

Sürümlerinde 'denSQL Server ealier SQL Server 2008, Execute sağa dts sistem saklı yordamları bazıları verilen ortak.Bu ayarı, oturum herkes kullanarak msdb veritabanı, aşağıdaki görevleri yapabilirsiniz:

  • dts paketlerini listesini alın.

  • Paketleri almak.

  • Yeni paketler kaydedin.

Ancak, yalnızca bir paket sahibinin varolan bir paketi yeni bir paket sürüm kaydederek değiştirmek veya varolan bir paketi silmek.(dts paketi yeni bir paket sürüm kaydederek değiştirir.dts paket geçerli sürüm üzerine yazmaz.)

Bir uygulamanın bağlandığı olası güvenlik sorunu ortaya SQL Server kullanarak bir oturum sahibi dts paketleri.Bu senaryoda, bir sql ekleme saldırısı değiştirmek veya varolan paketler silmek riski yoktur.

Etkilenen dts sistem saklı yordamları

Aşağıdaki listede, Execute sağ ortak olarak verilir ve hangi güvenlik açısından sorun 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 saklı yordamları, etkilenmez

Aşağıdaki listede, Execute sağ ortak olarak verilen dts sistem saklı yordamları tanımlar:

  • sp_add_dtscategory

  • sp_drop_dtscategory

  • sp_enum_dtscategories

  • sp_modify_dtscategory

  • sp_reassign_dtspackagecategory

Ancak bu sistem saklı yordamları "dts" olan bir kişinin adını, bu yordamları, bu konuda açıklanan güvenlik açısından sorun teşkil.

Olası güvenlik sorunu azaltma

dts paketlerinin güvenliğini artırmak için SQL Server 2008 aşağıdaki durumlarda varsayılan ayarları değişti:

  • Yeni yükleme.Yeni bir yüklemesini gerçekleştirdiğinizde SQL Server 2008, Execute dts üzerinde sağ sistem saklı yordamları için ortak. iptaldts paketlerini çalıştırmak ve yönetmek için izin verilen yalnızca ve aşağıdaki üzerinden Integration Services veritabanı düzey roller:

    • db_ssisadmin

    • db_ssisltduser

    • db_ssisoperator

    Daha sonra içine dts paketleri içe aktarıyorsanız, msdb Bu veritabanı örnek , SQL Server 2008, bunlara ait yalnızca hesapları Integration Services rolleri başarıyla dts paketlerini çalıştırmak ve yönetmek mümkün olacaktır.

  • Yükseltme.Daha önceki bir sürüm yükseltme zamanı SQL Server için SQL Server 2008, Execute dts üzerinde sağ sistem saklı yordamları için ortak. iptal edilmemiş olduğunuBu, varolan uygulamalarla uyumluluğu korur.Yükseltme ayrıca üç Execute izinleri verir Integration Services veritabanı düzey roller listelenen daha önce bu konuda.Olabildiğince çabuk, sistem yöneticisinin çalışması gerektiğini saklı yordam sağa karşı ortak yürütme iptal etmek için aşağıdaki bölümde anlatılan.

Hakkında bilgi için Integration Services rolleri Bkz: Tümleştirme Hizmetleri rolleri kullanma.

Yeni saklı yordam sp_dts_secure kullanma

SQL Server 2008içeren yeni bir sistem saklı yordamı, sp_dts_secure, dts paketlerinin. güvenliğini yönetmeBu yordam gerekli bir giriş parametresi vardır.Bu parametreyi iptal eder veya dts sistem saklı pocedures ortak Execute izinleri verir:

  • Ortak yürütme izinleri iptal etmek ve yalnızca ve aracılığıyla erişim vermek için Integration Services veritabanı düzey roller çalıştırmak, sp_dts_secure yordam parametresi 1:

    sp_dts_secure 1

    Saklı yordamları yetkili kullanıcılara, en kısa zamanda yükseltme ve uyguladıktan sonra bu yordamı çalıştırmak için dts erişimi sınırlamak için Integration Services veritabanı düzey roller.

    Not

    Yeni bir yüklemesini gerçekleştirdiğinizde SQL Server 2008, Kur dts üzerinde iki eylem gerçekleştiren sistem saklı yordamları.Kur önce sağ için ortak yürütme iptal eder.Ardından, Kur çalıştırma hakkı verir Integration Services veritabanı düzey roller listelenen daha önce bu konuda.Ancak, el ile çalıştırdığınızda sp_dts_secure 1, bu saklı yordam, yalnızca Execute dts üzerinde sağa iptal eder sistem saklı yordamları için ortak.Uygulamanız gerekir Integration Services veritabanı rolleri ayrı ayrı düzey.

  • dts ortak yürütme izinlerini vermek için saklı yordam, çalışma sp_dts_secure yordam parametresi 0 olarak ayarlayın:

    sp_dts_secure 0

    Güvenlik kısıtlamaları yeniden etkinleştirmek hazırlık yaparken, mevcut uygulamalarla uyumluluğu korumak varsa, yeni bir yükleme senaryosunda bu yordamı kullanabilirsiniz.

Integration Services simgesi (küçük)Integration Services ile güncel kalın

En son karşıdan yüklemeler, makaleler, örnekler ve seçilen topluluk çözümleri yanı sıra Microsoft videolar için ziyaret Integration Services sayfa msdn veya TechNet:

Bu güncelleştirmelerle ilgili otomatik bildirim almak için, sayfadaki RSS akışlarına abone olun.