在上一篇文章中,我们讨论了通过监视SQL Server活动来保护数据库等相关知识。通过配置数据库访问身份验证和授权机制,可以进一步增强数据库安全性。在本篇文章中,笔者将简要说明SQL Server的各种授权和身份验证机制以及您可以借鉴的一些方法。
如何在SQL中进行身份验证?
SQL Server中的身份验证通常使用Active Directory(AD)凭据进行,当SQL Server验证SQL数据库引擎中的AD凭据时,它会授予用户数据库的访问权限。
当来自不受信任域的用户想要访问数据库时,他们必须使用SQL Server凭据进行身份验证。这样才可以确保只有授权的用户才能访问数据库。记录所有身份验证活动,每次有不受信任的域用户尝试登录时,IT管理员都可以配置警报。
在SQL Server中如何进行授权?
在SQL数据库中配置不同的访问级别时,将优先考虑以下三个组成部分(主体,安全性和权限)。
主体是被授予对SQL Server资源访问权限的实体(用户,组或进程)。如,您的AD凭据可以配置访问SQL数据库的主体。SQL Server包含三种不同的主体:登录名,用户和角色。
安全性使您可以通过配置不同的授权级别来保护SQL Server资源,安全对象可以处于服务器级别(例如服务器角色),数据库级别(例如应用程序角色)或架构级别(例如表)。
权限是授予委托人特定安全的访问类型。例如,您可以授予用户的AD登录名(主体)并授予查看数据库中数据的权限。
保护SQL Server和数据库的最佳实践:
实行最低特权原则。仅向用户提供必要的权限。
定期检查主体,如安全组,并从组中删除不需要的用户。
查看对关键安全对象的权限。
持续审核用户访问。
SQL Server审核如何确保数据库安全?
如果恶意的内部人员试图对安全对象执行未经授权的操作,由于权限不足,将会操作失败
。在SQL Server审核期间发现类似异常活动,并且可以防止***者进一步的任何操作。
诸如安全信息和事件管理(SIEM)解决方案之类的工具,通过关联来自威胁源和行为分析模块的数据,进行异常检测。