数据库要实现高安全性就要做到以下三点:
一、 网络防御(一般会采用背靠背模型来防止***数据库)
网络外层防御设计的安全性
外层的安全性威胁最主要是来自病毒的侵犯,对此,采用防、杀、管相结合的综合管理办法,采用×××技术构建数据库系统访问的虚拟专用网来保证网络接入的安全性和数据传输的安全性,通过软硬件防火墙技术,实现网间隔离和网段隔离,从而确保系统免受病毒等的非法***。
二 、服务器载体的安全性,
外层的安全性威胁最主要是来自病毒的侵犯,对此,采用防、杀、管相结合的综合管理办法,采用×××技术构建数据库系统访问的虚拟专用网来保证网络接入的安全性和数据传输的安全性,通过软硬件防火墙技术,实现网间隔离和网段隔离,从而确保系统免受病毒等的非法***。
二 、服务器载体的安全性,
服务器载体的安全性
操作系统是数据库系统运行的平台,为数据库系统提供一定程度的安全保护。目前操作系统平台大多数是Windows server 2003和unix,安全级别都很好,平台的安全性主要体现在操作系统安全策略、安全管理策略、数据安全等。其中操作系统安全包括密码策略、用户锁定策略、审核策略、ipsec 、用户权限指派、加密数据的恢复代理等等。
三 、服务器配置的安全性 。
(一) 用户的访问控制
在SQL2000中只能通过SQL SERVER验证和SQL SERVER 、Windows验证,而SQL2005中在SQL2000的基础上新增了密码策略,更好的实现了用户访问的安全性。
1通过增强密码的强度来保证安全性
在beijing服务器上创建一个Windows 用户登录
Create login [beijingmary] from windows with default_database=master
创建一个强制实施密码策略的SQL用户
Create login mary with password=’Ccjsj1200’ must_change,default_database=master,check_expiration=on, check_policy=on
通过下面的SQL语句可以查看所有登陆的口令策略:
Select name , is_policy_checked , is_expiration_checked from sys.sql_logins
执行结果如下:
操作系统是数据库系统运行的平台,为数据库系统提供一定程度的安全保护。目前操作系统平台大多数是Windows server 2003和unix,安全级别都很好,平台的安全性主要体现在操作系统安全策略、安全管理策略、数据安全等。其中操作系统安全包括密码策略、用户锁定策略、审核策略、ipsec 、用户权限指派、加密数据的恢复代理等等。
三 、服务器配置的安全性 。
(一) 用户的访问控制
在SQL2000中只能通过SQL SERVER验证和SQL SERVER 、Windows验证,而SQL2005中在SQL2000的基础上新增了密码策略,更好的实现了用户访问的安全性。
1通过增强密码的强度来保证安全性
在beijing服务器上创建一个Windows 用户登录
Create login [beijingmary] from windows with default_database=master
创建一个强制实施密码策略的SQL用户
Create login mary with password=’Ccjsj1200’ must_change,default_database=master,check_expiration=on, check_policy=on
通过下面的SQL语句可以查看所有登陆的口令策略:
Select name , is_policy_checked , is_expiration_checked from sys.sql_logins
执行结果如下:
Is_policy_checked中的值为1表示该列上使用强制策略,is_expiration_checked的值为1表示使用了强迫口令过期
若想使刚创建的用户使用复杂性口令,但不强迫口令有过期时间,可使用:alter login dbuser with check_expiration=off
若强迫口令过期,可使用: alter login dbuser with check_expiration=on
2 禁用一些不常用的账户
如果SQL SERVER账户被***用来***数据库实例,那么禁用该账户就可以防止***通过该账户进行***,如禁用dbuser,可以使用:alter login dbuser disable
3限制指定用户对数据库的访问权限
(1)如指定用户dufeiuser 对dufei数据库只有select 权限
在命令提示符下创建用户:net user mary Ccjsj1200 /add
然后在服务器上限制访问
(2) 通过创建角色来管理用户的访问权限
A 创建角色: create role 角色名
B 在角色中添加用户:sp_addrolemember 角色名,用户名
C显示角色中用户的信息:sp_helprolemember 角色名
D 分配权限: grant delete on 角色名 to 用户名
E 删除角色中的用户:sp_droprolemember 角色名,用户名
F 删除角色:drop role 角色名
(二)数据存储的安全性
数据库的存储安全主要体现在数据的备份和恢复,数据库的备份有分为两种:硬件级的和软件级的。硬件级的备份是指通过添加硬件设备来冗余而保证系统的连续运行,软件级的备份是将数据保存到其他介质中。
软件级的备份:使用命令进行备份:
创建备份的设备exec 数据库名.dbo.sp_addmpdevice @devtype=’disk’, @logicalname=’itetbak’,@physialname=’c:sql2005itet.bak’
或者是 sp_addmpdevice ‘disk’,’itetbak’,’c:\sql2005\dufei.bak’
1完全备份
Backup databse 数据库名 to 备份目的地
2 还原
Restore database 数据库名from 备份目的地
3 差异备份
Backup database 数据库名 to备份目的地 with differential
4 查看备份状态
Restore headeronly from 备份设备
5 事务日志备份
Backup log 数据库名 to 备份目的地
硬件级的备份:通过数据库群集、数据库镜像、数据库复制、数据库日志传送等发式来达到数据库的正常运行。
(三)通过对数据的加密来确保数据传输的安全性
1口令加密:是个简单的数据加密技术,也是最弱的一种,它采用用户提供的口令字符串进行加密
2 对称加密::使用单一的密钥对数据进行加密和解密,我们也可理解为一个“暗号”
3非对称加密:它是最强的一种加密技术,因为它采用不同的密钥进行加密和解密,结合证书来实现。在一般情况下不使用这种加密技术对数据量大的数据进行加密,除非传输的数据安全性比操作数据的性能。
若想使刚创建的用户使用复杂性口令,但不强迫口令有过期时间,可使用:alter login dbuser with check_expiration=off
若强迫口令过期,可使用: alter login dbuser with check_expiration=on
2 禁用一些不常用的账户
如果SQL SERVER账户被***用来***数据库实例,那么禁用该账户就可以防止***通过该账户进行***,如禁用dbuser,可以使用:alter login dbuser disable
3限制指定用户对数据库的访问权限
(1)如指定用户dufeiuser 对dufei数据库只有select 权限
在命令提示符下创建用户:net user mary Ccjsj1200 /add
然后在服务器上限制访问
(2) 通过创建角色来管理用户的访问权限
A 创建角色: create role 角色名
B 在角色中添加用户:sp_addrolemember 角色名,用户名
C显示角色中用户的信息:sp_helprolemember 角色名
D 分配权限: grant delete on 角色名 to 用户名
E 删除角色中的用户:sp_droprolemember 角色名,用户名
F 删除角色:drop role 角色名
(二)数据存储的安全性
数据库的存储安全主要体现在数据的备份和恢复,数据库的备份有分为两种:硬件级的和软件级的。硬件级的备份是指通过添加硬件设备来冗余而保证系统的连续运行,软件级的备份是将数据保存到其他介质中。
软件级的备份:使用命令进行备份:
创建备份的设备exec 数据库名.dbo.sp_addmpdevice @devtype=’disk’, @logicalname=’itetbak’,@physialname=’c:sql2005itet.bak’
或者是 sp_addmpdevice ‘disk’,’itetbak’,’c:\sql2005\dufei.bak’
1完全备份
Backup databse 数据库名 to 备份目的地
2 还原
Restore database 数据库名from 备份目的地
3 差异备份
Backup database 数据库名 to备份目的地 with differential
4 查看备份状态
Restore headeronly from 备份设备
5 事务日志备份
Backup log 数据库名 to 备份目的地
硬件级的备份:通过数据库群集、数据库镜像、数据库复制、数据库日志传送等发式来达到数据库的正常运行。
(三)通过对数据的加密来确保数据传输的安全性
1口令加密:是个简单的数据加密技术,也是最弱的一种,它采用用户提供的口令字符串进行加密
2 对称加密::使用单一的密钥对数据进行加密和解密,我们也可理解为一个“暗号”
3非对称加密:它是最强的一种加密技术,因为它采用不同的密钥进行加密和解密,结合证书来实现。在一般情况下不使用这种加密技术对数据量大的数据进行加密,除非传输的数据安全性比操作数据的性能。
恢复MASTER数据库的方法。
很多人苦恼数据库打不开,或者数据库被******,导致服务器不能正常运作。
现在我们模拟MATER数据库被删除后,还原MATER数据库的过程。(我们这里用的是虚拟机。)
、备份数据库。 backup database master to disk='c:\master.bak' 、停止服务。停止服务后删除MASER数据库信息。 net stop mssqlserver del C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\master.mdf del C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\mastlog.ldf 再次 sql server 则失败 net start mssqlserver 失败 借此安装光盘临时生成master数据库,放入SQL 第一张安装光盘,然后执行以下代码 D:\>start /wait d:\setup.exe /qn INSTANCENAME=mssqlserver REINSTALL=SQL_Engine REBUILDDATABASE=1 sapwd=Ccjsj1200 -- 临时生成master库 注意:此命令行区分大小写,可以看到硬盘和光盘不停的在读和写 然后等待此屏幕结束,再进入单用户模式: C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn>sqlservr.exe -m 然后测试能否进行第6步, 如果不行,有错误提示可以再开一次. 使用 SSMS进入SQL SERVER 断开连接 方法在计算机名上右键---断开连接 还原master数据库
简简单单7步完成.
转载于:https://blog.51cto.com/whj0425/252355