在暴力登录攻击后超时已到期

时间:2012-08-16 15:35:58

标签: sql-server-2008 timeout

今天早上,我导航到我的网站,看到它在任何存储过程后因此消息而崩溃:

Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.

我在事件查看器中注意到有人试图使用'sa'进行强力登录攻击,因此我禁用了远程访问。

从那以后,我不知道发生了什么。现在,没有ASP.Net页面可以处理,因为SQL Server 2008请求不起作用,并且在尝试执行存储过程时总是返回Timeout。

可能是什么原因,我应该检查和修复什么?

[编辑3]

通过将连接字符串中的IP更改为127.0.0.1来解决此问题。在阻止从外部IP对SQL端口进行解除阻止访问后,一个模糊的防火墙设置仍然阻止了外部IP。

[编辑2]

我直接在SQL中进行了查询,显示的信息是:

A transport-level error has occurred when sending the request to the server.

[编辑]

在类似的主题中列出了三种可能性:

1 - 某处出现僵局。

不,因为:

  • 现在所有存储过程都会回答此错误
  • 攻击后没有更改任何代码或程序。

2 - 数据库的统计信息和/或查询计划缓存不正确

我输入了DBCC FREEPROCCACHE,它成功删除了没有错误的缓存。

我输入了exec sp_updatestats,缓存重置没有改变任何东西。

3 - 查询过于复杂,需要进行调整

与1.相同。存储过程非常简单/基本。

1 个答案:

答案 0 :(得分:0)

这个问题的其他答案(我的意思是“在其他主题中”,而不是“在这里”)也应该关注基本问题:

此错误还意味着无法使用当前连接字符串与SQL Server通信。非常基本。

在我的情况下,我的Windows防火墙没有(像往常一样)反映它的真实行为。当遭到强力攻击时,我阻止了对防火墙中SQL端口的访问并重新启动(并且它什么都没改变)。然后过了一段时间,即使我删除了这个规则,似乎SQL开始拒绝从lan IPs访问任何IP地址appart。但我不再在防火墙中考虑这条规则了。无论如何,我想阻止外部访问,并在之后发现有一个'case'来检查SQL Manager来执行此操作。

我所做的是在连接字符串中将我的公共IP地址更改为127.0.0.1。