管理SQL Server数据库服务器的安全防范原则
在现实的世界中,我们不可能为每一个可能的威胁做好准备,我们只能增强自身的防护,让恶意用户更难威胁到我们的安全。SQL Server也一样,我们必须遵循一些基本的原则来保证和提高服务器的安全级别,让恶意用户更难访问到数据。
下面是个人根据实践经验总结的一些原则:
1.物理安全
我们要尽量把服务器放置在物理安全性高的地方,至少具有防盗、防破坏、不可随意接近、不可随意实地访问等特点。(本人就曾遇到过客户把数据库服务器放置在普通员工办公桌上被盗的事情)
2.网络安全
最小化数据库服务器的可见度:不要在防火墙中将数据库服务端口对公网开放,只对必须的服务器开放数据库访问端口。
安装好SQL Server后,我们应该禁用或删除所有不使用的网络协议:在SQL Server配置管理器中,可以启用或禁用SQL Server使用的协议。
3.帐户安全
尽可能使用Windows身份验证:Windows和Kerberos身份验证本身都比SQL Server身份验证更加安全,但这需要整体的网络、系统以及应用程序设计架构的支持。
不要以sa帐户登录:尽量不使用sa帐户,并且要求用户必须使用他们自己的登录名,从而可以跟踪对应用户具体执行的操作。
对SQL Server服务使用最小特权帐户:应用最小特权原则,并使用正好满足服务需要的权限的帐户。(LocalSystem>Network Service>Local Service)
LocalSystem是预设的拥有本机所有权限的本地账户,这个账户跟通常的用户账户没有任何关联,也没有用户名和密码之类的凭证。当LocalSystem访问网络资源时,它是作为计算机的域账户使用的。
Network Service账户是预设的拥有本机部分权限的本地账户,它能够以计算机的名义访问网络资源。但是他没有Local System那么多的权限,以这个账户运行的服务会根据实际环境把访问凭据提交给远程的计算机。Network Service账户通常可以访问Network Service、Everyone组,还有认证用户有权限访问的资源。
Local Service账户是预设的拥有最小权限的本地账户,并在网络凭证中具有匿名的身份。Local Service账户通常可以访问Local Service、Everyone组还有认证用户有权限访问的资源。
对SQL Server登录名应用最小权限原则:应该只给予对应登录名所需的最小权限,刚好满足应用需要即可。不同的应用,应该使用不同的登录名进行访问。
SQL Server登录名必须使用强密码:我们应当利用密码策略,要求用户创建复杂密码,并且尽量做到定期更改。
定期审核服务器帐户和SQL Server登录名:作为管理员,必须清楚知道哪些帐户和登录名是自己创建的,分别做什么用途,由谁负责这些帐户和登录名;必须按照步骤禁用和删除多余的帐户和登录名
4.数据安全
使用TDE保护休眠中的数据:加密数据库和事务日志文件可降低他人复制数据文件并卷走敏感的商业数据的可能性。
使用在线加密保护传输中的数据:只保密服务器上的数据是不够的,应使用诸如SSL和IPSec等技术在数据从客户端向服务器、从服务器向客户端或从服务器向服务器移动时保护他们。
不要对经常被搜索的列进行加密:加密经常被访问或搜索的列导致的问题可能比它解决的问题还要多。
以上仅是一些基本的原则,在实际的工作中,我们面临的应用和系统是非常复杂的,也是各不相同的,还是需要根据实际情况进行针对性的处理。
管理SQL Server数据库服务器的安全防范原则的更多相关文章
- Python监控SQL Server数据库服务器磁盘使用情况
本篇博客总结一下Python采集SQL Server数据库服务器的磁盘使用信息,其实这里也是根据需求不断推进演化的一个历程,我们监控服务器的磁盘走了大概这样一个历程: 1:使用SQL Server作业 ...
- Microsoft SQL Server 数据库服务器管理维护角色
固定服务器角色: 按照从最低级别的角色(bulkadmin)到最高级别的角色(sysadmin)的顺序进行描述: Bulkadmin:这个服务器角色的成员可以运行BULK INSERT语句.这条语句允 ...
- SQL SERVER数据库服务器CPU不能全部利用原因分析
背景 客户凌晨把HIS数据库迁移到配置更高的新服务器,上午业务高峰时应用非常缓慢,严重影响到业务运行. 1.现象 通过SQL专家云实时可视化界面看到大量的绿点,绿点表示会话在等待某项资源,绿点越大 ...
- 创建和管理SQL Server数据库
1.创建数据库 右击“数据库”,在弹出的快捷菜单中选择“新建数据库”选项 2.分离和附加数据库 分离:右击数据库"MySchool",在弹出的快捷菜单中选择“任务”—“分离”选项 ...
- MS SQL Server数据库在线管理工具
MS SQL Server数据库以其优异的性能,被广泛使用,特别是政务,医疗行业.但是远程维护挺不方便的,目前有一款基于WEB的工具TreeSoft数据库管理系统. 免安装,直接解压就可以用了.直接通 ...
- SQL Server 数据库分离与附加
一.概述 SQL Server提供了“分离/附加”数据库.“备份/还原”数据库.复制数据库等多种数据库的备份和恢复方法.这里介绍一种学习中常用的“分离/附加”方法,类似于大家熟悉的“文件拷贝”方法,即 ...
- 数据库开发基础 SQL Server 数据库的备份、还原与分离、附加
认识数据库备份和事务日志备份 数据库备份与日志备份是数据库维护的日常工作,备份的目的是 一.在于当数据库出现故障或者遭到破坏时可以根据备份的数据库及事务日志文件还原到最近的时间点将损失降到最低点 二. ...
- java连接sql server数据库(使用用户sa)
一.安装数据库相关软件 sql server management studio是管理sql server数据库的软件,想要使用需到微软官网下载安装sql server,然后再安装sql server ...
- 用分离、附加的方式实现sql server数据库的备份和还原
一.数据库分离.附加的说明 SQL Server提供了"分离/附加"数据库."备份/还原"数据库.复制数据库等多种数据库的备份和恢复方法.这里介绍一种学习中常用 ...
随机推荐
- Android 官方文档:(二)应用清单 —— 2.26 <uses-permission>标签
syntax: <uses-permission android:name="string" android:maxSdkVersion="inte ...
- Android实战技巧之十九:android studio导出jar包(Module)并获得手机信息
AS中并没有独立的Module 工程,可是能够在普通的Project中增加Module.所谓的Module就是我们通常所指的模块化的一个单元.并经常以jar包的形式存在.以下以一个获取手机信息的样例演 ...
- CSS入门教程——定位(positon)
CSS入门教程——定位(positon) CSS定位在网页布局中是起着决定性作用. 定位 CSS的定位功能是很强大的,利用它你可以做出各种各样的网页布局.本节就介绍一些CSS常用的定位语句. 1. ...
- [Manacher][HDU3613][Best Reward]
题意: 将一段字符串 分割成两个串 如果分割后的串为回文串,则该串的价值为所有字符的权值之和(字符的权值可能为负数),否则为0. 问如何分割,使得两个串权值之和最大 思路: 裸的: 枚举分割点,计算, ...
- 【模拟】【HDU1443】 Joseph
Joseph Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
- javascript模式——Decorator
Decorator 模式是一种结构型模式,他意在促进代码的复用,是塑造子类的一个方式. 这种想法是基于,新增的属性,对于对象来说不是必须的基本功能.我们为特殊的对象添加自己的方法,而不是重新创建一个类 ...
- 【IOS学习基础】归档和解档
一.归档介绍 1.归档是指用某种格式来保存一个或多个对象,以便以后还原这些对象的过程.归档是将数据持久化的一种方式(所谓数据持久化,就是指在IOS开发过程中,将数据保存到本地,能够让程序的运行更加流畅 ...
- Java的动态代理机制详解(转)
在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的 ...
- list集合接口
import java.util.ArrayList; import java.util.List; class Phone { private String brand; private doubl ...
- html基础之 表单提交方法
最普通最常用最一般的方法就是用submit type..看代码: <form name=”form” method=”post” action=”#"> <input ty ...