如何保障SQL数据库服务器的安全(共6篇)由网友“燕子”投稿提供,以下是小编给大家整理的如何保障SQL数据库服务器的安全,欢迎大家前来参阅。
篇1:如何保障SQL数据库服务器的安全
SQL Server 的安全配置在进行SQL Server 2000数据库的安全配置之前,首先必须对操作系统进行安全配置,保证操作系统处于安全状态,然后对要使用的操作数据库软件(程序)进行必要的安全审核,比如对ASP、PHP等脚本,这是很多基于数据库的Web应用常出现的安全隐患,对于脚本主要是一个过滤问题,需要过滤一些类似“,; @ /”等字符,防止破坏者构造恶意的SQL语句。接着,安装SQL Server2000后请打上最新SQL补丁SP3。
SQL Server的安全配置
1.使用安全的密码策略
我们把密码策略摆在所有安全配置的第一步,请注意,很多数据库账号的密码过于简单,这跟系统密码过于简单是一个道理。对于sa更应该注意,同时不要让sa账号的密码写于应用程序或者脚本中。健壮的密码是安全的第一步,建议密码含有多种数字字母组合并9位以上。SQL Server2000安装的时候,如果是使用混合模式,那么就需要输入sa的密码,除非您确认必须使用空密码,这比以前的版本有所改进。同时养成定期修改密码的好习惯,数据库管理员应该定期查看是否有不符合密码要求的账号。
2.使用安全的账号策略
由于SQL Server不能更改sa用户名称,也不能删除这个超级用户,所以,我们必须对这个账号进行最强的保护,当然,包括使用一个非常强壮的密码,最好不要在数据库应用中使用sa账号,只有当没有其他方法登录到 SQL Server 实例(例如,当其他系统管理员不可用或忘记了密码)时才使用 sa。建议数据库管理员新建立个拥有与sa一样权限的超级用户来管理数据库。安全的账号策略还包括不要让管理员权限的账号泛滥。
SQL Server的认证模式有Windows身份认证和混合身份认证两种。如果数据库管理员不希望操作系统管理员来通过操作系统登录来接触数据库的话,可以在账号管理中把系统账号“BUILTIN\Administrators”删除。不过这样做的结果是一旦sa账号忘记密码的话,就没有办法来恢复了。很多主机使用数据库应用只是用来做查询、修改等简单功能的,请根据实际需要分配账号,并赋予仅仅能够满足应用要求和需要的权限。比如,只要查询功能的,那么就使用一个简单的public账号能够select就可以了。
3.加强数据库日志的记录
审核数据库登录事件的“失败和成功”,在实例属性中选择“安全性”,将其中的审核级别选定为全部,这样在数据库系统和操作系统日志里面,就详细记录了所有账号的登录事件。请定期查看SQL Server日志检查是否有可疑的登录事件发生,或者使用DOS命令。
4.管理扩展存储过程
对存储过程进行大手术,并且对账号调用扩展存储过程的权限要慎重。其实在多数应用中根本用不到多少系统的存储过程,而SQL Server的这么多系统存储过程只是用来适应广大用户需求的,所以请删除不必要的存储过程,因为有些系统的存储过程能很容易地被人利用起来提升权限或进行破坏。如果您不需要扩展存储过程Xp_cmdshell请把它去掉。使用这个SQL语句:
use master
sp_dropextendedproc 'Xp_cmdshell'
Xp_cmdshell是进入操作系统的最佳捷径,是数据库留给操作系统的一个大后门。如果您需要这个存储过程,请用这个语句也可以恢复过来,
sp_addextendedproc 'xp_cmdshell', 'xpSQL70.dll'
如果您不需要请丢弃OLE自动存储过程(会造成管理器中的某些特征不能使用)。
这些过程如下: Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty
Sp_OAMethod Sp_OASetProperty Sp_OAStop
去掉不需要的注册表访问的存储过程,注册表存储过程甚至能够读出操作系统管理员的密码来,命令如下:
Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue
Xp_regenumvalues Xp_regread Xp_regremovemultistring
Xp_regwrite
还有一些其他的扩展存储过程,也最好检查检查。在处理存储过程的时候,请确认一下,避免造成对数据库或应用程序的伤害。
5.使用协议加密
SQL Server 2000使用的Tabular Data Stream协议来进行网络数据交换,如果不加密的话,所有的网络传输都是明文的,包括密码、数据库内容等,这是一个很大的安全威胁。能被人在网络中截获到他们需要的东西,包括数据库账号和密码。所以,在条件容许情况下,最好使用SSL来加密协议,当然,您需要一个证书来支持。
6.不要让人随便探测到您的TCP/IP端口
默认情况下,SQL Server使用1433端口监听,很多人都说SQL Server配置的时候要把这个端口改变,这样别人就不会轻易地知道使用的什么端口了。可惜,通过微软未公开的1434端口的UDP探测可以很容易知道SQL Server使用的什么TCP/IP端口。不过微软还是考虑到了这个问题,毕竟公开而且开放的端口会引起不必要的麻烦。在实例属性中选择TCP/IP协议的属性。选择隐藏 SQL Server实例。如果隐藏了SQL Server实例,则将禁止对试图枚举网络上现有的 SQL Server实例的客户端所发出的广播作出响应。这样,别人就不能用1434来探测您的TCP/IP端口了(除非用Port Scan)。
7.修改TCP/IP使用的端口
请在上一步配置的基础上,更改原默认的1433端口。在实例属性中选择网络配置中的TCP/IP协议的属性,将TCP/IP使用的默认端口变为其他端口。
8.拒绝来自1434端口的探测
由于1434端口探测没有限制,能够被别人探测到一些数据库信息,而且还可能遭到DoS攻击让数据库服务器的CPU负荷增大,所以对Windows 2000操作系统来说,在IPSec过滤拒绝掉1434端口的UDP通信,可以尽可能地隐藏您的SQL Server。
9.对网络连接进行IP限制
SQL Server 2000数据库系统本身没有提供网络连接的安全解决办法,但是Windows 2000提供了这样的安全机制。使用操作系统自己的IPSec可以实现IP数据包的安全性。请对IP连接进行限制,只保证自己的IP能够访问,也拒绝其他IP进行的端口连接,对来自网络上的安全威胁进行有效的控制。
上面主要介绍的一些SQL Server的安全配置,经过以上的配置,可以让SQL Server本身具备足够的安全防范能力。当然,更主要的还是要加强内部的安全控制和管理员的安全培训,而且安全性问题是一个长期的解决过程,还需要以后进行更多的安全维护。
篇2:如何保障Web服务器安全
如何保障Web服务器安全
维护Web服务器安全是信息安全中最不讨好的差事之一,你需要在相冲突的角色中找到平衡,允许对网络资源的合法访问,同时阻止恶意破坏。
你甚至会考虑双重认证,例如RSA SecurID,来确保认证系统的高信任度,但是这对所有网站用户来说也许不实用,或者不划算。尽管存在这样相冲突的目标,仍有六个有助Web服务器安全的步骤。
对内部和外部应用分别使用单独的服务器
假设组织有两类独立的网络应用,面向外部用户的服务和面向内部用户的服务,要谨慎地将这些应用部署在不同的服务器上。这样做可以减少恶意用户突破外部服务器来获得对敏感的内部信息地访问。如果你没有可用的部署工具,你至少应该考虑使用技术控制(例如处理隔离),使内部和外部应用不会互相牵涉。
使用单独的开发服务器测试和调试应用软件
在单独的Web服务器上测试应用软件听起来像是常识——的确是。不幸的是,许多组织没有遵循这个基本规则,相反允许开发者在生产服务器上调试代码甚至开发新软件。这对安全和可靠性来说都很可怕。在生产服务器上测试代码会使用户遇到故障,当开发者提交未经测试易受攻击的代码时,引入安全漏洞。大多数现代版本控制系统(例如微软的Visual SourceSafe)有助于编码/测试/调试过程自动化。
审查网站活动,安全存储日志
每一个安全专业人员都知道维护服务器活动日志的重要性。由于大多数Web服务器是公开的,对所有互联网服务进行审核是很重要的。审核有助你检测和打击攻击,并且使你可以检修服务器性能故障,
在高级安全环境中,确保你的日志存储在物理安全的地点——最安全的(但是最不方便的`)技巧是日志一产生就打印出来,建立不能被入侵者修改的纸记录,前提是入侵者没有物理访问权限。你也许想要使用电子备份,例如登录进安全主机,用数字签名进行加密,来阻止日志被窃取和修改。
培训开发者进行可靠的安全编码
软件开发者致力于创建满足商业需求的应用软件,却常常忽略了信息安全也是重要的商业需求。作为安全专业人员,你有责任对开发者进行影响到Web服务器的安全问题的培训。你应该让开发者了解网络中的安全机制,确保他们开发的软件不会违背这些机制;还要进行概念的培训,例如内存泄漏攻击和处理隔离——这些对编码和生成安全的应用软件大有帮助。
给操作系统和Web服务器打补丁
这是另一个常识,但是当管理员因为其他任务而不堪重荷时常常忽略这一点。安全公告,像是CERT或者微软发布的公告,提醒人们软件厂商多频繁地发布某些安全漏洞的修补程序。一些工具像是微软的软件升级服务(SUS)和RedHat的升级服务有助于使这项任务自动化。总之,一旦漏洞公布,如果你不修补它,迟早会被人发现并利用。
使用应用软件扫描
如果负担地起,你也许会考虑使用应用软件扫描器来验证内部编码。像是 Watchfire公司的AppScan这样的工具有助于确保编码在生产环境里不会存在漏洞。记住,要有安全意识。设计良好的 Web服务器结构应该基于健全的安全政策。贯彻执行这六个方法会帮助你建立坚固的基础。
篇3:如何保障共享服务器安全
在Windows Server平台上搭建共享服务器简单易行,满足了企业数据、文件共享的需求,但是,如果不加强管理和安全部署其往往成为网络安全最薄弱的环节。作为管理员,根据企业对信息安全的需求制定相应的安全策略是非常必要的。保障共享服务器的安全,要做好以下几方面。
一、最基本的安全部署
1、采用NTFS分区格式
在共享服务器中采用NTFS的分区格式,利用其安全性我们可以根据需要灵活定制用户对共享文件的访问权限。另外,还可以利用EFS加密实施对共享文件的保护,防止信息数据的泄露。基于这样的考虑,建议服务器磁盘采用NTFS分区格式。
2、账户密码安全
在系统安装完成之后,就应重命名Administrator和Guest账户,然后将其密码更改为长而复杂的值。重命名管理员和来宾用户需要在组策略中进行,具体的操作步骤:“开始→运行”,在其中输入gpedit.msc打开组策略编辑器,在左侧窗格中依次展开“安全设置→本地策略→安全选项”,在右侧找到并双击打开“帐户:重命名系统管理员帐户”,然后在其中输入新的名称比如Admin即可,Guest帐户的重命名类似,
还要在每个服务器上使用不同的名称和密码,这将有效提高公司在文件访问方面的限制功能。
二、基于AD的安全部署
1、部署活动目录(AD)将共享服务器加入到域
对于客户端超过100个的企业,如果没有统一的目录服务,寻找任何网络资源都成为问题,更别说后续的文件权限划分和调整了,需要尽快升级到活动目录控制下的网络运行方式。然后将共享服务器加入到域,通过域来控制用户对服务器的访问这样其安全性将会极大地增强。
2、通过SCW增强共享服务器的安全性
Windows Server 2003通过提供安全配置向导(Security Configuration Wizard,简称SCW)之类的新安全工具增强了安全基础结构,有助于确保服务器基于角色来设置安全性,建议进行配置。
篇4:关于如何保护服务器数据库安全的两点建议
Web数据库是基于Internet/Intranet的应用系统,由于互连网开放性和通信协议的安全缺陷,以及在网络环境中数据存储和对其访问与处理的分布性特点,网上传输的数据容易受到破坏、窃取、篡改、转移和丢失,这些危害通常是对网络的攻击引起的。到现在,针对Web数据库的应用级入侵已经变得越来越猖獗,如SQL注入、跨站点脚本攻击和未经授权的用户访问等。所有这些入侵都有可能绕过前台安全系统并对数据库系统攻击。如何保证Web数据库的安全性已成为新的课题。
一、下载mdb数据,在IIS中设置一下就可以防范的,在映射文件类型中(IIS属性-->主目录-->配置-->映射),添加mdb文件类型,映射程序选中asp.dll,或者任意一个DLL文件即可,这样的MDB数据库根本就无法下载了
二、网站所在文件夹,除了几个必须要给予写权限的文件夹(data[数据库所在目录] uploadfile[上传文件所在目录] uploadface[上传头像所在目录] previewimage[使用ASPJPEG组件时需要使用到此文件夹] Dv_fourmnews[首页调用的config文件所在目录] Skins[编辑CSS和导出风格时需要使用])以后,其他文件夹及文件只给读取权,不给写入权,另个uploadfile、uploadface、data、backupdata这几个目录不要给执行脚本的权限,执行权限设置为“无”,就算传上木马也无法运行,
篇5:通过建立安全模型保障Web数据库安全运行
随着Web数据库的应用越来越广泛,Web数据库的安全问题日益突出,如何才能保证和加强数据库的安全性已成为目前必须要解决的问题,
Web数据库是数据库技术与Web技术的结合,其中存在诸多安全隐患,如通过网络传输的用户名和密码很容易被人窃取。用户读取的数据可能被截取、篡改等。如何保障Web数据库的安全运行呢?
建立安全模型
通常,安全措施是计算机系统中用户使用数据库应用程序一直到访问后台数据库要经过的安全认证过程。
当用户访问数据库时首先通过数据库应用程序进入到数据库系统,这时数据库应用程序将用户提交的用户名与口令(口令密文)交给数据库管理系统进行认证,在确定其身份合法后,才能进入下一步的操作。当要对数据库中的对象(表、视图、触发器、存储过程等)进行操作时,也必须通过数据库访问的身份认证,只有通过了数据库的身份认证才能对数据库对象进行实际的操作。
通过身份认证的用户,只是拥有了进入应用系统和数据库的“凭证”,但用户在应用系统和数据库中可以进行什么样的操作,就要依靠“访问控制”和“存取控制”的权限分配和约束。其中“访问控制”与应用系统相关,决定当前用户可以对应用系统中哪些模块、模块中的哪些工作流程进行管理;“存取控制”与数据库相关联,决定当前用户可以对数据库中的哪些对象进行操作,以及可以进行何种操作。虽然“访问控制”和“存取控制”可以将用户的应用系统访问范围最小化,数据对象操作权限最低化,但是就数据库本身而言,利用这种视图、触发器、存储过程等方法来保护数据和对一些敏感数据的“加密存储”也是数据库管理系统提供的安全策略。
审计追踪和数据备份
目前还没有任何一种可行的方法来彻底解决合法用户在通过身份认证后滥用特权的问题,但审计追踪仍是保证数据库安全不可缺的一道重要防线。
审计是一种监视措施,跟踪记录有关数据的访问活动。审计追踪把用户对数据库的所有操作自动记录下来,存放在审计日志中(Audit Log)。记录的内容一般包括:操作类型(如修改、查询、删除),操作终端标识与操作者标识,操作日期和时间,操作所涉及到相关数据(如基本表、视图、记录、属性等),数据库的前象和后象等。利用这些信息,可以进一步找出非法存取数据的库人、时间和内容等。
数据库管理系统往往都将其作为可选特征,允许相应的操作语句可灵活的打开或关闭审计功能。
数据库备份恢复策略
计算机同其他设备一样,都可能发生故障。计算机故障的原因多种多样,包括磁盘故障、电源故障、软件故障、灾害故障以及人为破坏等。一旦发生这种情况,就可能造成数据库的丢失。因此数据库系统必须采取必要的措施,以保证发生故障时,可以恢复数据库。数据库系统管理系统的备份和恢复机制就是保证在数据库系统出故障时,能够将数据库系统还原到正常状态,
数据备份(建立冗余数据)是指定期或不定期地对数据库进行复制。可以将数据复制到本地机制上,也可以复制到其他机器上。恢复方法通常是可以利用利用备份技术、事务日志技术、镜像技术完成。
视图机制和数据加密
为不同的用户定义不同的视图,可以限制各个用户的访问范围。通过视图机制把要保护的数据对无权存取这些数据的用户隐藏起来,从而自动地对数据库提供一定程度的安全保护。但是视图机制的安全性保护不太精细,往往不能达到应用系统的要求,其主要功能在于提供了数据库的逻辑独立性。在实际应用中,通常将视图机制与授权机制结合起来使用,首先用视图机制屏蔽一部分保密数据,然后在视图机制上进一步定义存取权限。
数据加密(Data Encryption)是防止数据库中数据存储和传输中失密的有效手段。加密的基本思想是根据一定的算法将原始数据(明文plaintext)加密成为不可直接识别的格式(密文,ciphertext),数据以密文的方式存储和传播。
Web数据库的安全威胁涉及许多方面,是一个全局性的问题,而且 的攻击手段和方法不断翻新,因此要根据企业的实际需求综合考虑各种技术,构建一个有机的结合体。
同时也要清醒地认识到一个很好的安全解决方案不仅是纯粹的技术问题,而且还需要法律、管理、社会因素的配合。
常见Web数据库安全技术
用户标识和鉴别:
用户标识与鉴定的方法有多种,为了获得更强的安全性,通常是多种方法并用。系统通过核对口令来判别用户的真伪。这种方法简单易行,但是也是一个不安全的方法,不能抵御口令的猜测攻击;另外,攻击者可能 通信信道或进行网络窥探(sniffer),口令的明文传输使得攻击者只要能在口令传输过程中获得口令,系统就会被攻破。口令以明文形式在通信信道上传输容易被窃取,因此人们通常采用更复杂的方法--口令加密,口令以密文形式在通信信道上传输。
智能卡技术:
智能卡由微处理器、存储器、输入输出设备组成,其中微处理器可计算该卡的一个序列号(ID)和其他数据的加密形式,ID保证智能卡的真实性,持卡人就能访问系统。在使用智能卡时,为了安全起见,许多系统要卡和身份识别码(PIN)同时使用,二者缺一不可。
使用智能卡进行身份认证的优点:智能卡提供的是硬件保护措施和加密算法,较传统的口令鉴别方法更好,安全性能增加;缺点:携带不方便且开户费用较高。
主体特征鉴别:
主体认证技术以人体唯一的、可靠的、稳定的生物特征(如指纹、虹膜、脸部、掌纹等)为依据,采用计算机的强大网络功能和网络技术进行图像处理和模式识别。
主体特征鉴别技术优点:安全性、可靠性和有效性与传的身份认证手段相比产生了质的飞跃,适合安全级别较高的场所;缺点:生物特征信息采集、认证装备的成本较高,人身特征识别软件识别率有待提高。
篇6:关于如何保障Winnt +asp +sql web站点的安全经验WEB安全
以下是我的一些经验,希望对你有用,但你要知道,绝对的安全是没有的,这才是一个网管存在的理由。所以。未雨绸缪是件好事。但亡羊补牢也不是下策。
请看我的经验:
1。多看看ms的安全公告,这是首选。订阅安全技术杂志。(MS免费的!)如果是正版的nt,则会有最新的安全E-mail。保证及时更新。
2。多大补丁,一定要注意顺序,如果安装了系统软件,则还要重补。(如后面加上了smtp服务,则还要重补sp1等等,否则可能导致旧文件不会被覆盖)。
3。提高安全策略,也可以用微软的安全模板。有一些很好的自动模板。可以根据需要自动加上。
4。加大审核力度,审核权限比较大的操作。
5。密码按时更改。必须符合策略。
6。常上一些安全论坛。如:绿盟科技,妖狐站点。
7。账号的级别一定要多分一些,如果可一实现功能,就不要给更大权限。
8。去掉多余的服务。如:(ftp,smtp,nntp,telnet)多余的脚本,例子。如IIS中好多的脚本库,都可以不要。
9。去掉一些危险的命令。不要共享c盘。
10。常看看日志,事件。
11。不要安装html的远端管理。
12。最好安装一些 工具,模拟攻击。看看是否出了问题。
13,
安装端口扫描工具。看看是否有些不用的开放端口。
14。安装一些防止 的工具,去除一些隐藏在端口的sniffer,防止密码数据被截获。
15。远程管理时最好调试端管理。密码加密策略高一些。防止被截获。
16。用注册表修改掉某些选项。如自动显示最后一个登录着的姓名。
17。改掉administrator的缺省姓名。这样可以多一级保护!
18。密码策略
19。密码的安全策略。多少位的密码是安全的。这个很怪。按照ms的加密算法。只有14位以上的密码是可能安全的。但实际上很少有人能记住那么多位的密码。但14位一下。7位密码比较安全。(很怪吧。)微软工程师说有时7位比10位还要保险。呵呵,具体原因说起来比较复杂。我是给我老弟讲课的。省略吧。
20。建议密码有字母。数字。大小写组成。最好加上一些如!・#¥%()等的字符。也很难被猜到。
21。用户名改掉缺省的admini.....后,可以建一个14位长的管理员名。可以全部用字母。这样就加大了一级保护。
22。加大策略。防止用枚举法猜出账号名。
23。加入防止5次登录失败后,自动锁定账号20分中。防止暴力法突破。
24。建立分类的密码策略。不要用一些内置账号。如“sa”。
25。将sa的密码加大。最好不要常用他。建一个另外的管理员账号。然后对每一个自建的数据库都建一个分类账号。asp中最好用他来连接。这样就可以保障其他数据库的安全。
26。去掉一些权限。不允许普通用户用比较危险的存储过程。
27。不允许除管理员外的账号远程连接。或是加上命名管道。
27。asp如果能用dsn,就不要用连接字符串。并采取包含文件的模式包含进来。
★ 校园网站设计方案
★ 计算机系毕业论文
★ 数据备份管理规定
★ 如何通过 SQL Server 使用 Forms 身份验证安全设置
【如何保障SQL数据库服务器的安全(共6篇)】相关文章:
计算机毕业设计开题报告2023-12-29
校园管理系统毕业论文2022-05-07
关于学籍管理系统论文开题报告2023-04-11
企业网络安全管理系统开发建设论文2023-12-07
个人电脑安全的误区:发现Cache中有病毒病毒防范2023-01-13
由于Nginx漏洞导致的入侵事件WEB安全2023-08-17
Windows NT4.0 OS repair网络服务器2022-04-30
有关学生学籍管理系统2023-10-04
SSH构建的银行管理系统设计与实现论文2022-12-20
投资立项建议书2022-06-28