每当提起360,我就只想摇头,每当在别人电脑任务栏上发现了360的小图标,我就只想说,卸载吧。
很多人不理解,甚至可能觉得我是个假的IT人士。360这么好用,帮我拦截了数不清的攻击,我一打开网页,它就能立刻提示我受到了保护并且将为我提速;我安装新的软件,它提醒有病毒;就算我啥都不干,右下角还不时弹出阻止了一大堆XXX坏东西,我这电脑可得感谢360,功能多么强大多么的贴心啦还是免费的,你竟然说要我卸载?哼,我把你卸载了去!
呵呵,我不和你争,因为你是个外行。为什么要卸载?知道360历史的人,总会谈谈其历史,今天,我们不谈那一段。
最近做一个系统,已经一年多了,有几个页面需要连接外网的一台服务器上的SQL Server数据库,由于我这边也是SQL Server,所以采用的是链接服务器方式,测试一切OK。不知道是因为系统未上线这几个页面用的少,还是真的没问题,反正之前一直正常——但这不重要,直到某一天,突然发现总是会时不时的出现连接超时问题,但过几分钟,几十分钟,也许几个小时之后又正常了,没什么规律。仍然是因为未上线的原因用的很少,也没太在意,但,终究这是个问题,得想办法处理。
既然是远程连接,那可能与网络有关,网络的问题是最不好找原因的,先收集线索吧:
1、远程服务器的网络环境里最近换过硬件防火墙,并且连接超时的现象似乎就是从换防火墙后出现的;
2、远程服务器上还有另一个使用SQL Server数据库的老系统在跑着,和我这个系统完全一样的现象;
3、每当出现连接超时,只要远程桌面登录进服务器,其他什么都不干,马上通了,但远程桌面从来没有登不进去的现象。
从收集的线索来看,似乎和这个新换的硬件防火墙有关。远程桌面是RDP协议,用的3389端口,而远程连接SQL Server用的TCP协议,1433端口,协议和端口都不一样,可能是防火墙配置不到位或者运行不稳定吧,因为这事不该我负责,就把第一印象如实告诉相关人员,然后公司第二天找来硬件防火墙方面的专家去检查了,本人未再深究。
我继续欢快的写着我的存储过程,不错哟,今天有突破呢。可大半天过去了,超时问题涛声依旧。隐隐觉得或许方向错了?脑子里像丢进了一颗闪光弹,把我写代码的事闪的一片空白,赶紧收回思绪,这事不该我负责,继续写代码。
又一天过去了,超时问题还是那个熟悉的涛声依旧,却得到一个新的线索:服务器上还有一套金蝶财务软件,却一直运行正常,从未出现过超时问题。这说明什么?
我们来梳理一下,这台远程服务器上装有SQL Server数据库,有三套系统使用它,我正在开发的(FMS),一套旧系统(OldSoft),金蝶(KD),我们再来看看各自的连接方式及表现:
FMS:链接服务器远程连接 有超时现象
OldSoft:C/S架构远程连接 有超时现象
KD:中间件直连 无超时现象
能发现什么吗?在服务器上直连无问题,外网远程连接有问题,但能肯定的是网络本身没问题,远程桌面一连就通,ping服务器延时都在10ms左右,也无丢包,硬件防火墙查了一天了也没发现有问题,那或许是别的原因引起?
要不我亲自出场试试?——尽管没有掌声!先远程桌面连进服务器,之前不是说过吗,每当超时,只要远程桌面进去一下,就通了,可这次太不给面子了竟然没通,看来那就是个假象或巧合吧。进去后,看了看Windows事件,查了查SQL Server日志,没发现任何有用的异常信息,怎么办?如何下手呢?猛然发现任务栏右下角有两个360图标,一个是卫士,另一个杀毒的,立马让我兴奋了,鼠标迅速指向卫士的图标,我的个乖乖,能开的防护一个都没落下,看来是个很用心的IT干的。点开防护日志,大家自己看吧:
360防护分不清正常的登录和恶意的攻击,采取了宁可错杀一千也不放过一个的策略,把外网进来的正常的SQL Server登录当作了弱口令攻击将其拦截,反映出来就是连接超时,但它又不会每次都拦,当它拦截时,你就连不上就是超时,它不拦时,你就连上了能正常使用。
果断停掉防护,瞬间通畅了,然后又果断卸载掉360的全部东西,启用了系统内置的防毒软件。至此,困扰已久的超时问题我用了不到十分钟就解决了。(后面已连续运行几天未见超时)
说什么好呢,这东西就不该出现在服务器上,甚至都不该出现在任何一台工作电脑上,360的逻辑,好比一个对孩子呵护过度的大人,他是这样说的:孩子啊,外面会有坏人,还可能有人贩子,马路上车多也不安全,你可千万不要出门啊,一定要在家好好待着,然后为了所谓的保护就把这孩子锁在了家里一辈子……
如果你那台装了360的电脑是用来工作的,卸载吧!