如何阻止奇怪的用户尝试连接到我的SQL服务器数据库?

时间:2009-03-20 17:40:27

标签: sql-server sql-server-2005 security

我在服务器上有一个asp.net网站,在另一台服务器上有db MS SQL 2005,网站最近几天给我看了这个错误信息: “建立与SQL Server的连接时发生与网络相关或特定于实例的错误。未找到服务器或无法访问服务器。验证实例名称是否正确以及SQL Server是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接“”

当我打开我在事件查看器中找到的数据库服务器时,我发现很多失败的登录到奇怪的IP的sql服务器,这不是我们的,我认为他们正试图破解数据库, 请注意,db是窗口身份验证。

我的问题是,如何阻止它?

4 个答案:

答案 0 :(得分:9)

您可以做的最好的事情就是拒绝访问防火墙上服务器的SQL端口。请求永远不会到达您的服务器,您将会很高兴。你可能想否认1433和1444。

答案 1 :(得分:3)

您需要设置防火墙以拒绝来自外部世界的对SQL Server的任何访问。您可能还想在80和443以外的任何端口(使用SSL)拒绝来自外部世界的Web服务器访问。否则你只是要求你的服务器被破解(如果它们还没有)。

如果您的服务器位于与您或您的办公室不同的站点,则会在办公室和服务器之间设置站点到站点VPN,以便您可以直接访问。

答案 2 :(得分:2)

限制IP或仅允许某些Mac,寻找能够为您提供此功能的良好防火墙

答案 3 :(得分:1)

听起来像是一个妥协或至少“修补”Web / Apps层或数据库的人。如果您将数据库实例直接暴露给互联网,后者就会自行制造 - 我真诚地希望您没有这样做。如果是(删除评论,我将离线).....似乎有人已发起多个连接请求到暴力登录帐户。如果您有一个实施锁定的密码策略,那么他们很可能会将其删除。 SQL帐户?嗯,如果是我,我会尝试“sa”开头。是不是无法找到数据库的Web实例?

查看Chip Andrews网站http://sqlsecurity.com的原则。此外,IIS Config和底层Windows O / S是否已锁定?

后续步骤.....

您的ASP App / Web Tier如何挂钩到SQL后端?通过存储过程或SQL即时?在任何一种情况下,仍然存在误用的机会。

例如,在SQL2005以后,禁用了更有趣的存储过程,如xp_cmdshell。如果你还没有从系统中删除dll,你仍然可以启用它们,即

exec sp_configure'show advanced options',1 exec sp_configure reconfigure exec sp_configure'show advanced options',1 exec sp_configure'xp_cmdshell',1 exec sp_configure reconfigure

如果你有动态SQL,那么请查看本网站推荐的输入验证技术。

网站是否有任何上传区域?

如果您已实施Windows集成身份验证,如果有人通过Web / App间接提供的界面访问您的SQL服务器,则他们可以将自己设置为域管理员并拥有您的整个Windows域。

干杯。 BTW在IP方面...... 欧洲的FYI http://www.ripe.net/和美国的ARIN(也是samspade.org)可能有助于确定那些流氓源IP地址。如果这些IP在英国的BT等大型服务提供商处注册但你永远不知道

,那么你可能无法对这些信息做很多事情。