Ci sono dei rischi nel concedere agli utenti l'autorizzazione SHOWPLAN per SQL Server?


23

Sto eseguendo alcune ottimizzazioni delle prestazioni su un grande database SQL Server 2008 e il gruppo IT non è disposto a concedere l'autorizzazione SHOWPLAN. In passato, "Mostra piano di esecuzione" è stato il modo più efficace per comprendere le prestazioni delle singole query e procedure.

Quali sono i rischi inerenti alla concessione di questa autorizzazione? Esiste una giustificazione legittima per questa limitazione su una copia di sviluppo del database?

Nota: questo gruppo IT SQL ha oltre 200 database in una singola istanza di SQL Server. Grazie.

Risposta : sto prendendo la mancanza di risposta per indicare che non ci sono rischi significativi per la sicurezza, oltre a quello indicato di seguito. Fondamentalmente, limitare questo su un database di sviluppo è controproducente.

Lo aggiornerò se qualcuno troverà una risposta migliore. Grazie per i tuoi commenti!

Risposte:


19

Dai un'occhiata a Showplan Security in Books Online, che dice:

Gli utenti che hanno SHOWPLAN, ALTER TRACEo VIEW SERVER STATEl'autorizzazione possono visualizzare le query che vengono catturati in Showplan. Queste query possono contenere informazioni riservate come password. Pertanto, si consiglia di concedere queste autorizzazioni solo agli utenti autorizzati a visualizzare informazioni riservate, ad esempio membri del ruolo predefinito del database db_owner o membri del ruolo predefinito del server sysadmin . Si consiglia inoltre di salvare i file Showplan o di tracciare i file che contengono eventi correlati a Showplan in un percorso che utilizza il file system NTFS e di limitare l'accesso agli utenti autorizzati a visualizzare informazioni riservate.

Ad esempio, considera la seguente query:

SELECT COUNT(*)  FROM table_1  WHERE column_1 < 10 

Se un utente malintenzionato produce output Showplan per un set di query come questo esempio e sostituisce ogni volta il valore "10" nel predicato con costanti diverse, l'utente può dedurre una distribuzione approssimativa dei dati dei valori di colonna per column_1 nella tabella_1 leggendo la riga stimata conta.

Questo rischio sembra trascurabile, soprattutto dato che si tratta di un server di sviluppo, in cui tutte le richieste verrebbero dagli sviluppatori e dalle persone IT, non dagli utenti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.