De manera predeterminada, en SQL Server, el [public]
rol tiene EXECUTE
derechos sp_executesql
.
Sin embargo, heredé un servidor de base de datos donde el DBA anterior revocó el EXECUTE
derecho sp_executesql
.
Como solución temporal, he estado otorgando EXECUTE
derechos sp_executesql
según sea necesario (a través de un rol en la base de datos maestra). Pero esto está comenzando a ser un dolor de mantenimiento.
Si devuelvo EXECUTE
al público, ¿hay alguna repercusión que deba tener en cuenta?
sql-server
security
permissions
AlexLostDba
fuente
fuente
sp_executesql
. Asumir un requisito de SQL dinámico y luego deshabilitarlosp_executesql
podría aumentar el riesgo, ya que al menos eso le permite parametrizar las consultas (a diferenciaEXEC
)sp_executesql
no es la mitigación adecuada. La abrumadora mayoría de los errores de inyección SQL ocurren en el cliente cuando la declaración SQL se construye 'a mano' mediante la concatenación de piezas de SQL con variables de entrada y luego se ejecuta 'tal cual'. Para todos esos casos, lasp_executesql
desactivación no ayuda en nada.