温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

数据库与防火墙该怎么样部署

发布时间:2021-12-01 09:37:56 来源:亿速云 阅读:350 作者:柒染 栏目:数据库

本篇文章为大家展示了数据库与防火墙该怎么样部署,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

  安全与性能是数据库管理员的两块心头肉。而通过防火墙来保护数据库的安全无疑是一种不错的选择,当然,SQLServer数据库是体现数据库性能的关系数据库管理系统。下面小编来讲解下数据库与防火墙怎么样部署?

数据库与防火墙怎么样部署

建议一:先部署数据库,再部署防火墙

  导致客户端无法连接上数据库服务器的原因有很多,而防火墙的限制无疑也是其中的一种。为了降低故障排除的复杂程度,笔者建议数据库管理员在部署的时候,最好先把防火墙关掉。即先部署数据库,然后再部署防火墙。或者说,在防火墙存在的情况下,假如发现客户端无法正常连接到数据库,最好先把防火墙关掉,然后再看看能够正常连接。这主要可以帮助数据库管理员简单的来判断,这个连接故障是不是因为防火墙的不恰当配置所造成的。在排除防火墙配置错误的时候,这个方法非常的有用。假如确实是因为防火墙的原因,而数据库管理员还一直在数据库管理系统或者客户端那边寻找原因,那就是白花力气。同理,假如确实是数据库服务器的问题而不是防火墙的配置所造成的连接故障,但是数据库管理员却是在寻找防火墙的麻烦,那也是自讨苦吃。所以笔者建议大家,在部署数据库的时候(不仅限于SQLServer数据库系统),最好先把已经存在的防火墙关闭掉。等到客户端能够正常连接到服务器后,再尝试启动防火墙。

建议二:根据数据库开启的服务来开启防火墙的端口

  从安全上来说,数据库服务器的端口开启的越少越好。但是数据库的有些服务必须要开启某些特定的端口,否则的话某些服务就会受到影响。为此从安全与性能上综合考虑的话,就要求数据库管理员根据数据库要采用的服务来开启防火墙的端口。

  如在SQLServer数据库中启用了复制功能的话,就需要在防火墙上开启1433端口(这是数据库默认的给复制服务启用的端口)。当然数据库管理员也可以跟网络管理员商量最终所采用的端口。另外假如采用复制快照,则进行WEB同步或者FTP访问则要求在防后墙上打开其他需要的端口。如快照复制通过FTP实现的话,为了将数据文件和架构从一个位置传输到网络上的另外一个位置,则需要在防火墙上开启21端口,以允许FTP协议的数据通过这个端口。而通常情况下,为了安全起见是把这个端口关闭的。而假如在复制功能中假如需要用到HTTP或者文件和打印共享服务时,还需要打开137、138、139端口,等等。否则的话由于防火墙的阻挡这些服务将无法正常使用。

数据库与防火墙怎么样部署

  另外SQLServer数据库中有些服务的话是没有指定端口的。数据库管理员可以根据实际需要,来确定所需要采用的端口。如数据库的镜像服务,其没有指定所需要采用的端口,而是要求数据库管理员来选择端口。此时数据库管理员就可以根据服务器端口的实际采用情况来设置到底开启哪个端口为好。在配置的时候,假如数据库服务器中还部署有其他英勇的话,就需要避免与其他服务端口的冲突。

  SQLServer数据库的相关服务有很多,如还有报表服务、Browser服务(用于侦听指向命名实例的传入连接,并为客户端提供与此命名实例对应的TCP端口号)等等。若数据库管理员以为客户端的连接故障是由于防火墙所引起的,那么数据库管理员就需要查看微软的官方文档,看看对应服务所需要开启的端口在防火墙中是否已经打开。

建议三:管理好动态端口

  以上这些服务的端口基本上是静态的,只需要在防火墙上把这些端口打开即可,没有多大的难度。而其管理的难点是有些服务采用的是动态的端口,这会给数据库服务器上防火墙的配置带来一定的麻烦。因为端口不固定,所以有时候防火墙就无法适从了。

  如通常情况下,数据库中有一个叫做命名实例的服务,这个服务采用的就是动态端口。也就是说,每次启动数据库服务器的时候,数据库引擎都将确定一个服务器没有使用的端口作为自己的端口。即每次采用的端口都不一致。默认情况下,SQLServer数据库引擎采用的TCP端口号为1433。但是假如在这台数据库服务器上还部署有其他的数据库引擎,如Oracle数据库系统或者MySQL数据库系统,则可能这个1433端口已经被他们所采用了。则此时SQLServer数据库系统引擎将无法使用这个端口。此时数据库引擎就会另外选择一个可用的端口。可见由于数据库引擎或者数据库服务器在每次启动的时候所采用的端口都可能不同,为此很难在防火墙上启用对正确端口的访问(防火墙不会跟数据库引擎互动)。也就是说,防火墙不会去侦测数据库引擎到底启用哪些端口。所以假如在数据库服务器上配置了防火墙,则在数据库部署的时候,假如某些服务采用了动态端口,则数据库管理员需要把他们配置为固定端口或者静态端口,以保证数据库引擎每次都采用同一的端口号。

  在SQLServer数据库中把动态端口设置为固定端口,其难度不是很大。只是假如启用的服务比较多的话,工作量可不算小。

上述内容就是数据库与防火墙该怎么样部署,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI