Chapter 1 Securing Your Server and Network(6):为SQL Server访问配置防火墙

翻译 2014年07月24日 11:48:27
原文出处:http://blog.csdn.net/dba_huangzj/article/details/38082123,专题目录:http://blog.csdn.net/dba_huangzj/article/details/37906349

未经作者同意,任何人不得以“原创”形式发布,也不得已用于商业用途,本人不负责任何法律责任。

        前一篇:http://blog.csdn.net/dba_huangzj/article/details/38063823

 

前言:

 

SQL Server 的通信基于TCP和UDP端口,如果你需要从非本机的机器上访问SQL Server,需要打开防火墙的端口。而Windows Server 2008 默认防火墙是开启的。简单来说,就是全部端口都被阻止。

 

实现:

 

可以按照下面步骤配置Windows 防火墙:

1. 在【开始】菜单中打开【控制面板】,也可以直接点击网络图标打开,然后选择【系统和安全】,点击【Windows 防火墙】,最后点击【高级设置】,如图:

 

image

 

 原文出处:http://blog.csdn.net/dba_huangzj/article/details/38082123,专题目录:http://blog.csdn.net/dba_huangzj/article/details/37906349

2.右键【入站规则】,选择【新建规则】,然后在【规则类型】中选择【端口】,然后在【协议和端口】中输入下面的端口:


image

  • 如果仅用SQL Server 引擎的默认实例,输入1433
  • 如果需要使用Analysis Services 引起的默认实例,输入2383
  • 如果使用Service Broker ,输入4022

image


点击【下一步】。完整的端口列表可以访问:http://msdn.microsoft.com/zh-cn/library/cc646023%28v=SQL.110%29.aspx

 原文出处:http://blog.csdn.net/dba_huangzj/article/details/38082123,专题目录:http://blog.csdn.net/dba_huangzj/article/details/37906349

3. 在【操作】项中选择【允许连接】,点击【下一步】:


image


4. 在【配置文件】项中,如果你在域中,仅保留【域】选项的勾选,另外两个,主要用于工作站或笔记本。如果服务器是通过标识为【公共】的网络连接的,比如从互联网直接访问,并且你想SQL Server能被外部发现,可以选择【公共】,当然,这比较危险。最后选择【下一步】并输入规则名。


image


原理:

 原文出处:http://blog.csdn.net/dba_huangzj/article/details/38082123,专题目录:http://blog.csdn.net/dba_huangzj/article/details/37906349

上面描述了如何打开SQL Server默认实例的端口,比如TCP 1433。而命名实例使用的是动态端口,每次SQL Server 服务重启后端口可能改变。这个端口是通过SQLServer Browser 服务监听UDP 1434端口来实现客户端的通信。动态端口不适用于防火墙配置,因为使用动态端口会强制你打开一个“范围”的端口。

最好的方式是指定一个已经在防火墙中配置了的固定TCP端口给命名实例,并禁用SQL Server Browser,然后关闭防火墙中的UDP 1434端口。这部分会在接下来的一篇文章中介绍。

注意:从Windows Server 2008/Vista开始,默认动态端口范围已经改变,详细信息可从这里查看:http://support.microsoft.com/kb/929851

 

更多信息:

 

为了限制特定的用户或者机器访问SQL Server,可以通过防火墙的【入站规则】实现,可以在【入站规则】中找到对应的服务,如【SQL Server】,右键然后点击【属性】,在【常规页】勾选【只允许安全连接】,如图:


image

 

然后分别在【远程用户】和【远程计算机】标签中授予特定用户或计算机访问:


image

 

另外,可以在SQL Server中用命令查询特定端口,可以使用下面语句查看Service Broker、镜像中的端口,如果需要使用这些功能,需要开放对应的端口:

SELECT  name , 
        protocol_desc , 
        port , 
        state_desc 
FROM    sys.tcp_endpoints 
WHERE   type_desc IN ( 'SERVICE_BROKER', 'DATABASE_MIRRORING' );


除了图形化操作,还可以使用netsh.exe命令实现防火墙配置,以管理员身份运行这个命令,并用下面语句开放TCP 1433端口:

netsh advfirewall firewall add rule name = "SQL Server" dir = in protocol = tcp action = allow localport = 1433,2383 profile = DOMAIN

原文出处:http://blog.csdn.net/dba_huangzj/article/details/38082123,专题目录:http://blog.csdn.net/dba_huangzj/article/details/37906349

更多相关信息可以访问:(如何使用"netsh 由防火墙"上下文,而不是控制 Windows Vista 和 Windows Server 2008 中的 Windows 防火墙行为"netsh 防火墙"上下文)

http://support.microsoft.com/kb/947709


下一篇:http://blog.csdn.net/dba_huangzj/article/details/38227187

Chapter 1 Securing Your Server and Network(13):配置端点安全性

SQL Server端点(Endpoint)是出入SQL Server的门户,通过端点,任何东西可以在网络和SQL Server之间传输。端点可以是系统或者用户自定义的,其中系统端点允许使用T-SQL...
  • DBA_Huangzj
  • DBA_Huangzj
  • 2014年08月11日 11:32
  • 4103

Chapter 1 Securing Your Server and Network(12):保护链接服务器

链接服务器(Linked Server)可以使两个不同的SQL Server实例甚至和其他类型的RDBMS进行互访。通过链接服务器,可以实现分布式查询,类似于一个应用程序,把连接目标服务器的连接字符串...
  • DBA_Huangzj
  • DBA_Huangzj
  • 2014年08月08日 13:53
  • 3946

配置Windows 防火墙,允许SQL Server的远程连接

在运行SQL Server的服务器上,我们要找到哪些是SQL Server正在侦听的端口,并将其添加到Windows防火墙的入站例外。   首先,我们需要添加 SQL Server 服务侦听 W...
  • zhulichen
  • zhulichen
  • 2016年07月21日 13:52
  • 3131

Chapter 1 Securing Your Server and Network(1):选择SQL Server运行账号

SQL Server是一个Windows 服务,以某个Windows用户或系统用户权限运行在Windows操作系统上。选择合适的帐号运行SQL Server是非常重要的,本系列文章只关注安全性方面。...
  • DBA_Huangzj
  • DBA_Huangzj
  • 2014年07月18日 10:59
  • 4541

Securing MySQL Server - setup root password

 Securing MySQL Server - setup root password
  • striker
  • striker
  • 2009年03月25日 22:14
  • 777

SqlServer2008端口及防火墙设置:

SqlServer2008端口及防火墙设置: 1.       开始程序,sqlserver r2——>配置工具——>配置管理器    SQL Server网络配...
  • wozengcong
  • wozengcong
  • 2014年06月29日 10:37
  • 2756

Chapter 1 Securing Your Server and Network(7):禁用SQL Server Browse

SQL Server Browser 服务在安装SQL Server 群集或者命名实例时自动启动,它用于与机器上的SQL Server实例进行交互,并让客户端通过命名实例正在侦听的端口进行信息发送。...
  • DBA_Huangzj
  • DBA_Huangzj
  • 2014年07月28日 11:47
  • 3835

在Windows 防火墙中为“SQL Server 2005”创建例外

在Windows 防火墙中为“SQL Server 2005”创建例外 1.在 Windows 防火墙设置界面中,选择“ 例外” 选项卡,然后单击“添加程序” 2.在“添加程序窗口”中单击“浏...
  • snowfoxmonitor
  • snowfoxmonitor
  • 2014年07月03日 22:25
  • 3670

SQL SERVER 2012数据库:开启防火墙导致外部无法连接数据库解决办法

SQL SERVER 2012数据库:开启防火墙导致外部无法连接数据库解决办法 将以下代码存为OpenSqlServerPort.bat文件: netsh advfirewall firewall...
  • AMinfo
  • AMinfo
  • 2014年03月18日 17:13
  • 6135

配置Windows 2008 R2 防火墙允许远程访问SQL Server 2008 R2

1.先修改 sql server 2008R2的端口号吧,1433经常成为别人入侵的端口,在sql server 配置管理器 --》sql server 网络配置--》MSSQLSERVER的协议,把...
  • QQ282030166
  • QQ282030166
  • 2014年01月24日 10:57
  • 3175
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Chapter 1 Securing Your Server and Network(6):为SQL Server访问配置防火墙
举报原因:
原因补充:

(最多只允许输入30个字)