6

我在生产中的 SQL Server 日志中看到多次失败的登录尝试。我相信有人正在尝试使用“sa”凭据登录。我已禁用“sa”登录。我的 SQL 服务器在互联网上(公共 IP),我想创建一个防火墙规则,它只允许本地连接,即我在 LAN 上的 APP 服务器。

我打开了 Windows 防火墙并添加了一个入站规则,该规则说只允许来自特定 IP 地址(我的应用服务器 IP)的端口 1433 上的连接,并且不允许远程连接。

但是现在,我的应用服务器只是无法连接到 sql server。

有任何想法吗?

4

6 回答 6

3

好的,这是可以修复的。如果您转到服务器上的防火墙控件(控制面板-管理工具),您将看到所有入站防火墙规则的列表。

在该列表中,您应该能够在端口 1433 上找到 SQL Server。双击以打开该规则,然后转到“范围”选项卡。在那里,您会找到规定允许哪些本地 IP 穿过墙壁的框,以及允许穿过墙壁的远程 IP 的框。使用它,并与您的网络管理员交谈,您应该能够提出一个有效 IP 列表(或者可能是一个 IP 通配符,如 191.100.100.*),这将阻止不需要的入侵。

不过,显然,让 SQL Server 暴露在外部世界是不行的,但我猜你对此不负责任。

于 2013-10-22T14:07:11.047 回答
2

我通过在允许的地址中输入本地子网的整个 IP 范围来解决此问题,并且我能够从我的 APP 服务器访问数据库服务器并阻止所有其他远程连接。

于 2014-07-17T10:34:06.013 回答
2

除了使用网络防火墙和 ACL 等外部方法外,您可以在本地计算机上使用 Windows 防火墙。我发现仅仅打开端口很麻烦 - 而且它不会限制通过该端口进入的不需要的流量。我已经成功使用 Windows 防火墙中的程序规则。

首先在具有高级安全性的 Windows 防火墙中创建新的入站规则。

  1. 在新建入站规则向导中,选择“程序”单选按钮并单击下一步。
  2. 在下一个屏幕上,选择“此程序路径:”并输入机器上 SQL Server 的位置 - 例如,%ProgramFiles%\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\sqlservr.exe
  3. 选择“允许连接”,然后单击下一步。
  4. 对“用户”步骤不做任何更改,单击“下一步”。
  5. 保留配置文件页面上的默认设置,单击下一步。
  6. 在名称页面上,输入“SQL Server 连接(程序规则)”,然后单击向导上的完成。

在入站规则选项卡中找到规则。打开规则的“属性”对话框并转到“范围”选项卡。您可以在远程 IP 地址框中指定要访问的计算机的服务器 IP、子网等。

于 2013-10-22T18:24:35.240 回答
1

对不起,如果我迟到了聚会,

但我有同样的情况,我已经尝试了一些类似上面的公共解决方案。然后我发现了我的问题,最近我一直在强化我的服务器并关闭 TLS 1.0,不幸的是它已被 sql server 使用。所以我响应 TLS 1.0 并检查服务 MSSQLSERVER 然后它工作。检查链接:在此处输入链接描述

谢谢你。

于 2021-01-11T04:32:14.820 回答
0

动态数据屏蔽的工作是保护个人身份数据。动态数据屏蔽不需要任何额外的服务器资源。

于 2018-06-16T09:38:25.417 回答
0

开始 > 运行:WF.msc

按照屏幕截图中的步骤操作,外部计算机将无法访问 SQL Server 应用程序。

在此处输入图像描述

于 2019-11-21T06:14:18.857 回答