我有一个专用和一个VPS(来自Fasthosts)的虚拟服务器 – 我在这些服务上运行的网站/应用程序,访问存储在同一个Web服务器上的Sql Server。
到现在为止,我已经从Sql Server Management Studiologin到了Sql Server,直到我注意到在我的服务器应用程序日志中,多次尝试使用'sa'用户名login到Sql Server,但密码失败。
所以有人/机器人正在努力(反复每隔几个小时,在每个实例中大约20次尝试)login…显然,我必须locking远程访问Sql Sever。
我所做的是进入configurationpipe理器,并在Sql Servernetworkingconfiguration – >协议的Sql2008,也在Sql Native Client 10.0configuration – >客户端协议 – 我已分歧的命名pipe道,TCP / IP(和威盛默认情况下)。 我已经启用共享内存。 我也在Sql Server服务,Sql Server浏览器中禁用。
现在我可以pipe理这些服务器上的数据库的唯一方法是通过远程桌面login到他们。
任何人都可以确认,如果这是阻止任何人恶意login到Sql Server的正确方法? (我不是DBA或安全专家 – 有数百篇文章提供了各种不同的build议 – 但我希望这里的专家能够确认,否则我所做的是正确的)
谢谢,
标记
您的SQL Server应该隐藏在防火墙后面。 在互联网上打开是危险的。
您应该设置防火墙,并使用远程桌面或VPN进行连接。 这样你可以避免安全问题。
如果您始终使用同一台计算机或一组精简的计算机进行连接,则还可以仅允许您的计算机连接。
首先要做的是启用Windows防火墙。 没有经过某种types的VPN,没有什么应该从数据中心networking外部访问SQL Server。
接下来将sa帐户重命名为其他内容。 这样没有人可以使用它来连接到SQL Server,除非他们知道用户名和密码。
在这两件事情之间应该考虑到大部分潜在的问题。
我build议通读我的安全手册,因为它有大量关于如何正确保护SQL Server免受各种各样攻击的信息。
仅供参考:20个左右尝试一个小时并不多。 10K一分钟,我会更加担心。
你总是可以创build一个新的login名,使其成为sysadminangular色的成员,然后拒绝对sa的访问。