SqlServer数据库1433端口问题1
最近这几天,服务器的数据库(SQLSERVER)老是遭受到攻击,有人不断地轮训想登陆数据库,从SQL的日志里可以看出来,一开始我是通过本地安全策略禁用了对应的几个攻击ip,同时把数据库的sa账号给禁用了,想着应该可以了吧,毕竟我的服务器上面没啥那么珍贵的,何必这样揪着不放呢?!谁知道第二天起来看,卧槽,竟然还在攻击,换了ip,同时不断地更改数据库账户来攻击。日志图如下:
然后我就准备更改数据库的默认端口号,免得再被攻击,哎,我也蛋疼,更改数据库默认端口号,意味着我要更改每个应用的配置文件,但是没办法,改吧!
但是改的过程中,也出现过一些问题,在这里记录下来。
如果更改SQLSERVER的默认端口号呢?MSSQL的默认端口是1433,在“SQLSERVER 配置管理器”中可以更改,如下:
更改完之后,要检查下,该"TCP/IP"是否已经启用,否则不起作用,更改完之后,重启SQLSERVER配置管理器里面的服务:
这时候,退出MSSQL客户端,重新登录数据库,在这里我就以为数据库连接是:localhost:端口,试了几次都不行,原来中间是用逗号而不是冒号的,所以数据库连接应该是:localhot,端口, 这样就可以了。然后更改每个应用的配置文件,在数据库访问连接中要加上端口号: <add name="ZhuChengWang" providerName="System.Data.SqlClient" connectionString="Server=localhost,2321;Database=xxx;Persist Security Info=True;User ID=xxx;Password=xxx;Connect Timeout=600"/>,试了一下可以。
最后,还有一个坑,是什么呢?我在我本地用MSSQL客户端去连接服务器的数据库的时候,数据库链接是1.2.3.4,端口,怎么连接都连不上,为什么了,应用可以访问,在服务器上用MSSQL客户端也可以访问,为什么我本地就不行呢?这说明数据库现在是本地可以访问,外网访问不了,为啥呢?原来是忘了在服务器防火墙规则里面把前面修改后的数据库端口号开通外网访问了,坑……最后当然是在防火墙规则里面开了就可以了啊