1433端口是SQL Server默认的端口,SQL Server服务使用两个端口:TCP-1433、UDP-1434。其中1433用于供SQL Server对外提供服务,1434用于向请求者返回SQL Server使用了哪个TCP/IP端口。
端口设置
很多人都说SQL Server配置的时候要把1433端口改变,这样别人就不能很容易地知道使用的什么端口了。可惜,通过微软未公开的
1434端口的UDP
探测可以很容易的知道SQL Server使用了什么TCP/IP端口。
不过微软还是考虑到了这个问题,毕竟公开而且开放的端口会引起不必要的麻烦。在实例属性中选择
TCP/IP协议的属性。选择隐藏 SQL Server 实例。如果隐藏了 SQL Server 实例,则将禁止对试图枚举网络上现有的 SQL Server 实例的客户端所发出的广播作出响应。这样,别人就不能用1434来探测你的TCP/IP端口了。
安全性
1433端口不是很安全,往往很容易被黑客攻陷,因此,更改SQL Server 默认的1433端口是很有必要的。网上存在很多抓1433端口
肉鸡的动画。而他们利用的往往是sa弱口令,因此要注意把sa密码设置得复杂一些,而且在conn等数据库链接文件中不要使用sa用户进行数据库连接。
另外1433端口,如果仅仅是本机web链接本机数据库,那么没必要开1433,它是远程链接使用的。
打开方法
主要针对Win2003系统安装SQL Sever2000后1433端口未开放,如何打开1433端口的解决方法。
用了几年的Windows2003和SQL Server2000了,不过这个问题倒是头次遇到。调试一个JSP+SQL2000WEB程序遇到个现象,在Win2003简体中文服务器版上安装SQL Server2000,默认安装,一切正常,但是在安装完成后Tomcat运行正常,JSP程序却无法连接SQL2000数据库,查看端口,1433端口居然未开放,当然更不用说远程连接了。一般分析的都是这样:
1、sql server服务没有启动;检查服务启动,重新启动服务故障依然。
2、修改了端口号;打开网络实用工具,检查启用的协议中有TCP/IP协议,查看端口,是1433没错。
3、客户端实用工具作了改动;打开客户端实用工具,检查协议端口正常,重新创建一个别名,依然不行。
4、安装的问题;怀疑安装步骤有问题。遂卸载重装,一切默认,故障依然。
5、安装版本的问题;查看安装光盘,是久经考验的安装盘,应该不会出问题。
6、系统的问题;也看不出有什么其它的问题,难道是系统的问题?不过重装系统可太过麻烦,还是先想想其它的办法,看能不能找到问题所在。检查系统日志,这个应该是一个比较好的习惯。仔细翻了一遍重新安装后的日志,赫然发现如下内容:
您运行的 Microsoft SQL Server 2000 版本或 Microsoft SQL Server 2000 Desktop Engine (也称为 MSDE) 和Microsoft Windows Server 2003 家族使用时存在已知的安全弱点。为了减少计算机被某些病毒的攻击,Microsoft SQL Server 2000,MSDE 或 两者的 TCP/IP 和 UDP 网络端口被禁用。要启用这些端口,您必须从 微软相关网站安装一个修补程序, 或 Microsoft SQL Server 2000 或 MSDE 的最新服务包。
终于找到问题了,原来是Windows的一个小小的安全考虑。那么为什么以前就没遇到过呢,原来搞惯安全的人,安装好sql以后,在使用前一定会先修补漏洞,所以一直未注意过这个问题。看来什么样的习惯都会有一些弊端!既然找到问题就简单了,立刻到微软网站下载SP4的“数据库组件(下载文件:SQL2000-KB884525-SP4-x86.EXE)”安装SQL Server SP4后,浏览器地址栏测试一切正常。