我在生产中的SQL服务器日志中看到多次登录尝试失败。我相信有人正在尝试使用“sa”凭据登录。我已禁用“sa”登录。我的SQL服务器在互联网上(公共IP),我想创建一个防火墙规则,只允许本地连接,即我在LAN上的APP服务器。
我打开了Windows防火墙,并添加了一个入站规则,该规则允许仅允许来自特定IP地址(我的应用服务器ip)的端口1433上的连接,并且不允许远程连接。
但是现在,我的app服务器只能连接到sql server。
有什么想法吗?
答案 0 :(得分:2)
如果不使用网络防火墙和ACL等外部方法,则可以在本地计算机上使用Windows防火墙。我发现只是打开端口很麻烦 - 而且它不会限制通过该端口进入的不需要的流量。我在Windows防火墙中使用程序规则取得了成功。
首先在具有高级安全性的Windows防火墙中创建新的入站规则。
%ProgramFiles%\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\sqlservr.exe
在“入站规则”选项卡中查找规则。打开规则的“属性”对话框,然后转到“范围”选项卡。您可以在远程IP地址框中规定要访问该计算机的计算机的服务器IP,子网等。
答案 1 :(得分:1)
好的,这是可以解决的。如果转到服务器上的防火墙控件(控制面板 - 管理工具),您将看到所有入站防火墙规则的列表。
在该列表中,您应该能够在端口1433上找到SQL Server。双击打开该规则,然后转到“范围”选项卡。在那里,你会找到一些方框来规定哪些本地IP可以穿过墙壁,还有一个允许远程IP通过墙壁的方框。使用它,并与您的网络管理员交谈,您应该能够提供一个有效IP列表(或者可能是一个IP通配符,如191.100.100。*),它将阻止不必要的入侵。
显然,让SQL Server暴露在外面是一个禁忌,但我猜你不应该对此负责。
答案 2 :(得分:1)
对不起,如果我参加聚会迟到了,
但我有同样的情况,我已经尝试过一些像上面这样的公共解决方案。然后我发现了我的问题,最近我一直在强化我的服务器并关闭了 TLS 1.0,不幸的是它已被 sql server 使用。所以我反应 TLS 1.0 并检查服务 MSSQLSERVER 然后它工作。检查链接:enter link description here
谢谢。
答案 3 :(得分:0)
我通过在允许的地址中输入本地子网的整个IP范围来修复此问题,并且我能够从我的APP服务器访问数据库服务器并阻止所有其他远程连接。
答案 4 :(得分:0)
动态数据屏蔽的工作是保护个人身份数据。动态数据屏蔽不需要任何额外的服务器资源。
答案 5 :(得分:0)