各位同学好.关闭SQLServer2008的TCP/IP协议后,发现SQLServer仍然监听着1434端口.我想禁止它监听1434端口,请问怎么设置?

解决方案 »

  1.   

    可我就想通过SQLServer自带的设置关了它.
      

  2.   

    自定义安全策略 
    如果我们手头暂时没有防火墙工具的话,那么可以利用Windows服务器自身的IP安全策略功能,来自定义一个拦截135端口的安全策略。 a.打开控制面板,找到管理工具里面的本地安全设置。 b.看到界面,我们选择左边的IP安全策略,在本地机器。 然后在右边空白处单击右键,选择创建IP安全策略。出现了一个设置向导。点击下一步 名称也是看自己喜欢了,我们还是叫拦截135端口~下一步 去掉激活默认响应规则的勾,下一步 点击完成,我们就创建好了, 接下来设置我们用这个规则来干什么,我们是拦截135端口所以添加一个IP安全规则,单击添加(不需要向导所以去掉添加向导的勾) 在IP筛选器列表中,我们添加一个新的。单击添加... 
    在这个对话框中名称还是自定义,去掉添加向导的勾,然后单击添加... 准备开始设置规则了:) 
    在寻址标签中,设置: 
    源地址:任何IP地址 
    目标地址:我的IP地址 在协议标签中,设置: 
    选择协议类型:TCP 
    设置IP协议端口: 从任意端口,到此端口:135 确定后可以看到筛选器中多出了一条。关闭后在IP筛选器列表中选择我们刚刚建立的拦截135端口。 
    我们建立好了可是电脑还不知道我们要怎么使用这个规则,不要紧,只要在筛选器操作标签中添加一个操作就完成了~ 单击添加...只用在安全措施种选择阻止就ok了(可以在描述中设置名称) 
    同样选上这个操作。确定后我们就完成了99%! 由于windows默认IP安全策略中的项目是没有激活的,所以我们要指派一下,点击指派。完成99.9% 
    重新启动!100% 
    其它的端口设置类似,多试试看~ PS:如果没有IP安全策略可以在控制台中新建 
    在运行中输入:mmc回车 
    然后在控制台按钮中选择添加删除管理单元 然后单击添加... 在其中选择:IP安全策略,再添加即可,这时的操作就和上面一样了。 方法 3 筛选TCP端口 我们还可以利用Windows系统的筛选TCP端口功能,将来自于135网络端口的数据包,全部过滤掉。 
    先打开“Internet协议(TCP/IP)”属性设置对话框 
    可以在控制面板中的网络连接找到本地连接,打开,点击属性。 选择TCP/IP协议,再单击属性 
    在右下脚找到高级,单击进入后找到选项标签,选择其中的TCP/IP筛选,进入属性 
    选中启用TCP/IP筛选选项,同时在TCP端口处,选中只允许,并单击添加按钮,填入常用的21,23,80,110端口,最后单击确定按钮,这样的话其余端口就会被自动排除了。 
    以后如果要添加或者删除都可以同样操作。 
      

  3.   

    谢谢你的贵言.
    不过我是希望禁止SQLServer2008监听1434端口而不是堵住1434端口.
      

  4.   

    禁止SQLServer2008监听1434端口那将意味着你的数据库实例无法再网内被其他的客户端访问。
    基本原理如下;
    1434端口报警其实就是SQL Server在UDP 1434端口上建立一个监听服务,让客户端从服务器上查询到命名实例及其网络配置信息的一个列表。该监听服务始终运行在UDP 1434端口上,并且用户无法更改该运行端口。 在默认情况下,SQL Server使用1433端口监听,很多人都说SQL Server配置的时候要把这个端口改变,这样别人就不能很容易地知道使用的什么端口了。可惜,通过微软未公开的1434端口的UDP探测可以很容易知道SQL Server使用的什么TCP/IP端口了。 
    不过微软还是考虑到了这个问题,毕竟公开而且开放的端口会引起不必要的麻烦。在实例属性中选择TCP/IP协议的属性。选择隐藏 SQL Server 实例。如果隐藏了 SQL Server 实例,则将禁止对试图枚举网络上现有的 SQL Server 实例的客户端所发出的广播作出响应。这样,别人就不能用1434来探测你的TCP/IP端口了(除非用Port Scan)。 
    由于1434端口探测没有限制,能够被别人探测到一些数据库信息,而且还可能遭到DOS攻击让数据库服务器的CPU负荷增大,所以对Windows 2000操作系统来说,在IPSec过滤拒绝掉1434端口的UDP通讯, 
    可以尽可能地隐藏你的SQL Server。 
    所谓端口,就是相当于机器与外界接触的窗口,咱们要上网总要连网线吧!那是硬件的窗口,端口其实是软件的窗口,就是说一个软件如果要和外界联系,就必须打开一个端口,例如要上网浏览就必然打开了80端口; 
    你要使用sql,就必然打开1433和1434端口。如果是瑞星防火墙,可在 "系统设置" 里的 "端口开关" 处设定关闭1434端口.(我家就用瑞星防火墙,所以比较熟悉.)
    其他,如诺顿和WINDOWS XP自带的防火墙都可以关闭1434端口! 
    我觉得楼主,不妨说说您的真正需求是什么?为什么希望这样做?
      

  5.   

    谢谢各位的回答.
    现在有个项目数据库和使用数据库的程序在同一台计算机上因为不需要远程访问,通过NamedPipe和ShareMemeory协议即可.
    但是这个项目是要部署在互联网上的所以现在需要尽可能得关闭不必要的端口.
    每次通过netstat -a -o -n指令的时候都会发现SQLServer2008在监听TCP:1434端口,因此希望把这个端口关掉.
      

  6.   

    不监听这个端口的话,你连数据库服务都没办法用了,即使你通过NamedPipe和ShareMemeory协议也一样.所以在防火墙过滤吧