Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Abilitazione xp_cmdshell

14 views
Skip to first unread message

lfrance

unread,
Nov 18, 2009, 5:10:17 AM11/18/09
to
Ho la necessità di far eseguire "a comando" un pacchetto SSIS.
Vorrei creare una SP a cui passare la password del pacchetto e fare in modo
di eseguire il comando xp_cmdshell seguito dal pacchetto da eseguire.
Quali rischi corro a livello di sicurezza del server abilitando l'opzione
per xp_cmdshell ?

Grazie

Luca Bianchi

unread,
Nov 18, 2009, 8:17:47 AM11/18/09
to
> Quali rischi corro a livello di sicurezza del server abilitando l'opzione
> per xp_cmdshell ?

Il fatto che dall'interno di SQL Server si possano eseguire comandi a
livello di sistema operativo è il primo fattore di rischio. Per default
soltanto gli account sysadmin possono eseguire questa istruzione una volta
abilitata la possibilità tramite la sp_configure e in queste condizioni
tutto quello che viene eseguito tramite la xp_cmdshell avviene con le
credenziali dell'account del servizio SQL Server. Nutro la speranza (ma solo
quella) che non vorrai utilizzare un account di livello sysadmin per
eseguire la tua stored procedure e in questo caso andranno definiti dei
proxy account con cui agire a livello di sistema operativo. Qualunque siano
le credenziali con cui gira il servizio SQL Server (anche qui il fatto che
non sia un account amministrativo è solo una speranza) e qualunque siano le
credenziali di questo/questi proxy account hai aperto un canale
potenzialmente pericoloso che potrebbe costituire (sia per i sysadmin che
per i non sysadmin) un modo per elevare i propri privilegi rispetto a quelli
che hanno a livello di sistema operativo.

> Grazie

Bye


--
Luca Bianchi
Microsoft MVP - SQL Server
http://community.ugiss.org/blogs/lbianchi


lfrance

unread,
Nov 18, 2009, 9:31:02 AM11/18/09
to
Grazie per la risposta.
Infatti vorrei poter non utilizzare un account sysadmin, anche perchè questa
istruzione verrebbe eseguita da un menù di una applicazione web che utilizza,
per la connessione al db, un utente con permessi minimi.
Mi puoi indicare, una volta abilitata mediante xp_configure, come posso
stabilire le GRANT di execute solo per un utente ?
Non ho mai utilizzato il concetto di Proxy Account.

Grazie

"Luca Bianchi" ha scritto:

> .
>

Luca Bianchi

unread,
Nov 18, 2009, 11:25:57 AM11/18/09
to
> Infatti vorrei poter non utilizzare un account sysadmin, anche perchè
> questa
> istruzione verrebbe eseguita da un menù di una applicazione web che
> utilizza,
> per la connessione al db, un utente con permessi minimi.

...e allora fai le cose per bene e non utilizzare neanche la xp_cmdshell.
Tanto per dirne una... perchè devi lanciare il package da una stored
procedure e non da shell?

> Mi puoi indicare, una volta abilitata mediante xp_configure, come posso
> stabilire le GRANT di execute solo per un utente ?

GRANT EXECUTE ON xp_cmdshell TO utente

> Non ho mai utilizzato il concetto di Proxy Account.

http://msdn.microsoft.com/en-us/library/ms190359.aspx

lfrance

unread,
Nov 19, 2009, 3:43:04 AM11/19/09
to
Vuoi dire che io potrei avere anche un comando BAT da lanciare il SSIS ?
Come potrei passargli la password di protezione ?
Magari sono domande ovvie, ma non mi è mai capitato di doverlo fare ...

Grazie

"Luca Bianchi" ha scritto:

> > Infatti vorrei poter non utilizzare un account sysadmin, anche perchè

> > questa
> > istruzione verrebbe eseguita da un menù di una applicazione web che
> > utilizza,
> > per la connessione al db, un utente con permessi minimi.
>

> ....e allora fai le cose per bene e non utilizzare neanche la xp_cmdshell.


> Tanto per dirne una... perchè devi lanciare il package da una stored
> procedure e non da shell?
>
> > Mi puoi indicare, una volta abilitata mediante xp_configure, come posso
> > stabilire le GRANT di execute solo per un utente ?
>
> GRANT EXECUTE ON xp_cmdshell TO utente
>
> > Non ho mai utilizzato il concetto di Proxy Account.
>
> http://msdn.microsoft.com/en-us/library/ms190359.aspx
>
> > Grazie
>
> Bye
>
> --
> Luca Bianchi
> Microsoft MVP - SQL Server
> http://community.ugiss.org/blogs/lbianchi
>
>
>
>

> .
>

Luca Bianchi

unread,
Nov 19, 2009, 4:03:04 AM11/19/09
to
> Vuoi dire che io potrei avere anche un comando BAT da lanciare il SSIS ?

Assodato che un package SSIS si esegue con il comando DTEXEC per quale
motivo non dovrebbe essere lanciabile con un bat/cmd?!?!?!?!?

> Come potrei passargli la password di protezione ?

/DECRYPT

0 new messages