SQL Server数据库是最经常使用的内部数据库,它不但用于管理大型企业数据,而且还提供安全功能来保护数据免受歹意干扰。为了保证企业的数据安全,需要对SQL Server数据库采取适当的渗透技术。
在启动SQL Server之前,首先要根据安全政策,肯定每一个帐户具有访问数据库的许可权。一般来讲,帐户可以分为“全局管理员”、“安全管理员”、“数据库管理员”和“普通用户”等几种区别级别。如果设置帐户具有区别级别的权限,可以有效地禁止用户滥用数据库。
另外,可使用行级安全技术来有效地增加数据库的安全性。行级安全可让数据库管理员控制哪些用户可以访问哪些数据行,这样可以禁止未经授权的用户查看和更改数据。
另外,还可利用SQL Server本身提供的安全功能来限制对数据库的访问。例如,可使用数据库密码,对数据库的访问进行严格的限制,只有输入正确的密码才能访问数据库。另外,还可设置区别IP地址的客户端登录,以防未经授权的用户登录数据库。另外,还可使用存储进程和触发器机制,限制特定用户对表或存储进程的操作。
另外,SQL Server还可以使用脱机文件和加密技术来保证数据库安全。脱机文件可让数据库管理员只能在特定环境中读取数据库,限制了未经授权的访问。另外,SQL Server还支持使用高级的加密算法来保护数据库,避免非法用户查看和更改数据。
为了确保SQL Server数据库的安全,建议采取上述技术,结合一定的安全政策,以保护企业数据免受歹意侵害。
例:
–添加建表语句以限制特定用户对表的操作
CREATE TABLE [myTable](
[pID] int IDENTITY(1,1) NOT NULL,
[name] NVARCHAR(50) NOT NULL,
[allow] bit NOT NULL)
–表行级安全
GRANT SELECT ON [myTable] TO [UserName] WHERE [allow] = 1
–添加存储进程的加密
CREATE PROCEDURE [dba].[MyProc]
WITH ENCRYPTION
AS
BEGIN
— 正常的SQL语句
END
–限制区别IP地址的客户端登录
EXEC sp_configure ‘remote access’, 1
RECONFIGURE
EXEC sp_configure ‘remote query timeout’, 900
RECONFIGURE
EXEC sp_configure ‘remote login timeout’, 900
RECONFIGURE
EXEC master.dbo.sp_configure ‘remote login access’, ‘restricted’
RECONFIGURE
本文来源:https://www.yuntue.com/post/230185.html | 云服务器网,转载请注明出处!

微信扫一扫打赏
支付宝扫一扫打赏