热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

如何设置安全的sqlserver数据库服务器

由于多种原因,进行安全设置的人们常常不理解数据的真正价值,所以,他们也无法对数据进行合适的保护。将你的数据只限于需要的人访问,并保证访问的人的合法性,是一个数据库管理人员的重要工作。然而,确保数据可以访问不是意味着数据向所有人公开,相反的,
由于多种原因,进行安全设置的人们常常不理解数据的真正价值,所以,他们也无法对数据进行合适的保护。将你的数据只限于需要的人访问,并保证访问的人的合法性,是一个数据库管理人员的重要工作。然而,确保数据可以访问不是意味着数据向所有人公开,相反的,你必须很仔细地保护数据,并只对需要使用数据的人进行开放。

设置安全性过程
通用的软件维护和数据库更新都会对系统安全起着重要作用,通常包括以下步骤:
1、分配一个可靠的密码给缺省的系统管理(SA)帐号。然后,建立自己唯一命名的帐号,并将这一帐号放入sysadmin。一定要确认新帐号也有一个可靠的密码。
2、将独立的密码分配给每一个用户。更好的,使用Windows集成安全性,并让Windows遵循稳定密码规则。
3、决定哪些用户需要查看数据,然后分配合适的许可。请不要随便赋予用户各种权限。例如不要把每一个人的工资随便让其他人访问。
4、决定哪些用户需要更新数据,然后分配合适的许可。帐号管理人员应该可以查看所有用户的信息,但程序员一定要限制更新这些信息的权限。特别的,只有负责特定帐号的管理者是唯一可以更改用户数据的人。
通过这些系列信息你可以学会很多知识,但你应该从开始就具备这些观点。否则,数据库的任何用户就可以偷窃或删除你的重要数据。

什么东西最容易发生错误?
对于记录,应该知道SQL Server并非绝对安全的。你应该提出一些想法并努力有效地保护你的服务器。在安装服务器之前有两点你必须完成的:
1、设置管理人员的帐号和密码。
2、保护系统防止受到Slammer worm的感染。

使一些特殊的东西安全化
SQL Server 2000通过SA帐号而具有缺省的安全设置。在安装过程中,SQL Server自动建立一个管理的用户,并分配一个空白密码给SA用户名称。一些管理人员喜欢将SA密码设置为空白或者一个通用的密码以便每一个人都能知道。如果你犯这样的错误,进入你的数据库的任何人都可以为所欲为。具备管理者允许的任何人也可以做任何想做的事——不仅仅是数据库,而是整个计算机。所以,必须限制用户根据他们的需要进行访问数据库,不要给他们权利太少,也不能太多。
暂且把每一天管理的SA帐号放在一边,让我们看看带有安全密码的帐号。建立另一帐号以便管理(或者是一个SQL Server帐号或者是一个Windows帐号,取决于你的认证模式)。你所要避免的是太容易地猜到帐号名称或者帐号密码,因为任何人得到这些帐号。

一个引起警戒的坏事—Slammer worm(Slammer蠕虫)
2003年1月份出现了一些非常致命的恶意代码,即为Slammer worm。这一代码专门针对于SQL Server的安装进行攻击。通过利用SQL Servera代码中的缺欠,蠕虫能够在SQL Server安装的时候复制本身程序而损坏整个机器和其他机器。蠕虫生成时以15秒可以充满网络。微软已经花了很大力量来阻止这一蠕虫,但是蠕虫还是无法完全消除。有些人开始抱怨SQL Server的测试版本的原因,因为是它在安装时导致了系统的损坏。
很多月份已经过去了,有必要还要对蠕虫那么警惕吗?回答是肯定的。因为每一天还有很多Slammer的复制而感染机器。如果一个没有任何补丁的SQL Server连接到网络,你将会变成这一行为的牺牲品。从道德上而言,在将SQL Server与网络线连接之前,必须保护你的服务器,并运行所有的新服务补丁。

服务补丁的重要性
服务补丁在下载时是免费的。Slammer没有损坏你的数据,但它可以导致服务器的很多破坏,其危害是明显的。保护数据最简单的方法是下载Service Pack 3或者Service Pack 3a。
蠕虫如何工作这一方面的知识并不是重要,重要的是蠕虫在微软的补丁发布以后还可以生存6个月。被蠕虫感染的商业系统通常有两个原因:一是管理人员没有很有效的保护好系统,二是蠕虫本身太厉害。
你应该注意到,SQL Server SP3也是无法保证它能够保持全部的数据。你应该实时监控Microsoft's Security Bulletin(微软安全公告)以保证处于被服务补丁通知的状态。

选择一个认证模式
在SQL Server安装过程中有一个必须决定的是选择安全认证模式。这里有两种模式:

1、Windows认证模式(也叫集成模式)

2、混合模式
Windows认证模式用户通过使用一个现成的Windows用户帐号连接到SQL服务器。当用户使用一个合法用户名和密码连接到服务器时,SQL Server就确认用户的注册信息。结果是用户只是在Windows和SQL Server中注册,帐号信息被Windows严格的存储。
混合模式是Windows认证和SQL Server认证的结合。在混合模式中,一些用户可以继续使用Windows帐号来访问SQL Server,但其他只能使用与Windows帐号完全不关联的SQL Server用户帐号。每一个SQL Server帐号都存放其用户名和密码。如果这些注册值相同,用户必须输入两次——一次是Windows输入,另一次是SQL Server输入。
Windows认证比混合模式更优越,原因在以下:
◆它比SQL Server认证提供更多的特性。
◆很多管理人员都认为Windows认证比较容易执行和使用。
◆使用Windows认证,不需要将密码存放在连接字符串中。
◆Windows认证意味着你只需要将密码存放在一个地方。
不幸的是,Windows认证并不是每一个人都能够使用的。混合模式必须在SQL Server 7.0中运行,而Windows认证只能在SQL Server2000中使用。还有其他的一些环境,Windows认证无法运行,因为无法获得垮平台的相互信任。在这种情况下,你只能使用混合模式和SQL Server注册。

其他安装技巧
在安装SQL Server时,还在其他一些技巧值得注意。
使用TCP/IP作为SQL Server的网络库。这是微软推荐使用的库,是经受考验的。如果服务器将与网络连接,使用非标准端口会被一些别有用心的人破坏。
使用一个低级别的帐号来运行SQL Server,而不是一个管理帐号。这对系统崩溃的时候起着保护作用。
不要允许未获得安全许可的客人访问任何包括安全数据的数据库。
将数据库保护于一个“被锁的房间”。记住,很多骚扰都是来自于内部的人。

总结
从开始就要对数据进行安全保护措施。为了防止有意或无意的破坏,你应该保护你的数据。学会建立安全模型,并运用它。让安全噩梦远离你,高枕无忧的工作。

推荐阅读
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
author-avatar
多米音乐_35547384
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有