Zabezpieczanie pakiety DTS przechowywane w programie SQL Server
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.To dotyczą koncentruje się na procedury składowane w systemie, które wykonywać najbardziej typowe zadania te pakiety DTS.(Przykład systemowa procedura składowana , wykonuje wspólnego zadania jest sp_enum_dtspackages przechowywanej procedury, zawierającą listę pakietów DTS, które są przechowywane w msdb bazy danych.Innym przykładem jest sp_get_dtspackage systemowa procedura składowana , ładuje pakiet DTS do aplikacji klient.) SQL Server 2000 Enterprise Manager, SQL Server Management Studiooraz wszystkich API DTS za pomocą tych procedur przechowywanych wykonywać typowe zadania.
Jak najszybciej zrozumieć potencjalnych problem zabezpieczeń, który jest skojarzony z DTS procedury składowane w systemie, można wtedy podjąć odpowiednie działania, aby zredukować obawy, że.
Ważne: |
---|
Usług transformacji danych (DTS) jest niezalecane.Aby uzyskać więcej informacji, zobacz Usługi przetwarzania danych (DTS). |
Opis potencjalny problem z zabezpieczeniami
W wersjach SQL Server wcześniejszego zostało niż SQL Server 2008, wykonywanie prawo na niektóre procedury składowane w systemie DTS jest przyznawana publicznego.Za pomocą tego ustawienia, każdy, kto może logować się do msdb bazy danych można wykonywać następujące zadania:
Uzyskać listę pakietów DTS.
Pobrać pakiety sami.
Zapisz nowe pakiety.
Tylko właściciel pakietu można jednak zmodyfikować istniejący pakiet przez zapisanie nowej wersja pakietu lub usunąć istniejący pakiet.(DTS modyfikuje pakiet przez zapisanie nowej wersja pakiet.DTS nie zastąpi bieżącą wersja pakiet.)
Potencjalny problem zabezpieczeń występuje, jeśli aplikacja łączy się z SQL Server przy użyciu identyfikatora logowania, który jest właścicielem pakiety DTS.W tym scenariuszu istnieje ryzyko, że ataki wykorzystujące iniekcję SQL można zmodyfikować lub usunąć istniejące pakiety.
Procedury przechowywane podlegającym DTS
Poniższa lista zawiera procedury składowane w systemie DTS przysługuje których wykonywanie prawa publicznego i mogą powodować potencjalny problem zabezpieczeń:
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 System przechowywane procedury, których nie dotyczy
Poniższa lista zawiera procedury składowane w systemie DTS nie przyznano Execute, którego prawo do publicznego:
sp_add_dtscategory
sp_drop_dtscategory
sp_enum_dtscategories
sp_modify_dtscategory
sp_reassign_dtspackagecategory
Chociaż te procedury składowane w systemie mają "dts" procedury te nie stanowią potencjalny problem zabezpieczeń, który w tym temacie opisano w ich imieniu.
Zmniejszenie potencjalny problem z zabezpieczeniami
Aby zwiększyć bezpieczeństwo pakietów DTS SQL Server 2008 zmienił ustawień domyślnych w następujących okolicznościach:
Nowa instalacja.Podczas wykonywania nowej instalacji SQL Server 2008, wykonywanie na DTS procedury składowane w systemie odwołany dla społeczeństwa.Uprawnienia do zarządzania i uruchomienia pakietów DTS są podane tylko do i poprzez następujące Integration Services role poziom bazy danych:
db_ssisadmin
db_ssisltduser
db_ssisoperator
Jeśli później zaimportować pakiety DTS do msdb bazy danych, w tym wystąpienie z SQL Server 2008, tylko konta, które należą do nich Integration Services role będą mogli zarządzać i pomyślnie uruchomić pakiety DTS.
Uaktualnienie.Po uaktualnieniu wcześniejszej wersja programu SQL Server do SQL Server 2008, wykonywanie na DTS procedury składowane w systemie nie został odwołany dla społeczeństwa.Zachowuje zgodność z istniejącymi aplikacjami.Uaktualnienie także przyznaje uprawnienia Execute do trzech Integration Services role poziom bazy danych, które są wymienione we wcześniejszej części tego tematu.Jak najszybciej administrator systemu należy uruchomić procedura składowana, opisane w poniższej sekcji odwołać wykonywanie prawa z publicznego.
Aby uzyskać informacje o Integration Services ról, zobacz Przy użyciu integracji usług ról.
Za pomocą nowej procedury przechowywane sp_dts_secure
SQL Server 2008zawiera nowy systemowa procedura składowana, sp_dts_secure, Zarządzanie zabezpieczeniami pakiety DTS.Procedura ta ma wymaganego parametru wejściowego.Ten parametr odwołuje lub dotacje publiczne uprawnienia wykonywania na pocedures systemu przechowywane DTS:
Odwołaj uprawnienia wykonywania publicznych i Udziel dostępu tylko do i poprzez Integration Services poziom bazy danych ról, uruchom sp_dts_secure procedurę z parametrem 1:
sp_dts_secure 1
Aby ograniczyć dostęp do DTS przechowywane procedury dla autoryzowanych użytkowników, uruchomić tę procedurę, po uaktualnienia i zastosować Integration Services poziom bazy danych ról.
Ostrzeżenie
Podczas wykonywania nowej instalacji SQL Server 2008, Instalator wykonuje dwie akcje na procedury składowane w systemie DTS.Instalator najpierw odwołuje Execute prawo do publicznego.Następnie Instalator udziela praw Execute do Integration Services role poziom bazy danych, które są wymienione we wcześniejszej części tego tematu.Jednak podczas ręcznego uruchamiania sp_dts_secure 1, ta procedura składowana tylko odwołuje Execute prawo na DTS procedury składowane w systemie dla społeczeństwa.Należy zastosować Integration Services bazy danych -poziom role oddzielnie.
Przyznać uprawnienia Execute publicznych DTS procedura składowana, uruchom sp_dts_secure procedurę z parametrem jest ustawiona na 0:
sp_dts_secure 0
Tej procedury można użyć w nowych scenariuszy instalacji konieczności zachowania zgodności z istniejącymi aplikacjami podczas przygotowania ponownie ograniczenia zabezpieczeń.
|