安全的SQL Server配置

时间:2018-04-02 21:12:24

标签: sql-server security

默认情况下应该使用哪些配置来强化SQL Server 2016(作用域为实例配置)?

我们希望加强SQL Server 2016实例的安全性。作为其中的一部分,我们计划限制“公共”成员对程序的访问:

  1. xp_regaddmultistring
  2. xp_regdeletekey
  3. xp_regdeletevalue
  4. xp_regenumvalues
  5. xp_regread
  6. xp_regremovemultistring
  7. xp_regwrite
  8. xp_regenumkeys
  9. 由sp_OACreate
  10. sp_OADestroy的
  11. sp_OAGetErrorInfo会
  12. 的sp_OAGetProperty
  13. sp_OAMethod将向
  14. 使用sp_OASetProperty
  15. sp_OAStop
  16. xp_cmdshell的
  17. xp_availablemedia
  18. xp_loginconfig
  19. xp_logininfo
  20. xp_fixeddrives
  21. xp_fileexist
  22. xp_getnetname
  23. xp_subdirs
  24. xp_enumerrorlogs
  25. xp_ReadErrorLog
  26. xp_EnumGroups
  27. xp_LogEvent
  28. xp_MsVer
  29. xp_sprintf
  30. xp_sscanf
  31. xp_ServiceControl
  32. xp_GrantLogin
  33. xp_RevokeLogin
  34. xp_instance_regaddmultistring
  35. xp_instance_regdeletekey
  36. xp_instance_regdeletevalue
  37. xp_instance_regenumvalues
  38. xp_instance_regread
  39. xp_instance_regremovemultistring
  40. xp_instance_regwrite
  41. 我们正在撤消对以下服务器权限的访问权限:

    1. 查看任何数据库

1 个答案:

答案 0 :(得分:1)

遵循最小特权的做法。使用组并通过AD将用户分配到组。从那里,您可以为每个对象分配单独的权限。这比使用db_reader和db_writer更精细。我相信这就是你要找的东西。

另外,请注意,当您对对象进行更改(例如,DROP AND RECREATE)时,可能会重置组权限。

关于这个主题的一些好的阅读:

https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/authorization-and-permissions-in-sql-server

https://www.beyondtrust.com/blog/what-is-least-privilege/