我知道 MSSQL 可以有各种登录模式,仅限 Windows、Windows + SQL 等命名管道、tcp/ip。
我真的不知道我们应该使用什么。我们有两台服务器,每台都配有 IIS + MSSQL,IIS 有网络负载平衡,MSSQL 有数据库镜像。
想要保护它,以便只有两台服务器可以访问每台服务器上的 MSSQL(显然这样镜像才能起作用)。
目前只有一台服务器在生产中,我认为 TCP/IP/命名管道已打开,Windows + SQL 身份验证,但使用防火墙,阻止了对 TCP 端口的访问。
设置它的最佳方法是什么?
答案1
命名管道和 TCP/IP 不是登录模式,而是连接方法。话虽如此,您可以在主机服务器上使用 Windows 防火墙(简单)或使用 IPSEC(复杂)。
答案2
最安全的方式是根本不将 SQL 服务器直接连接到生产网络,而是使用(物理或逻辑上)独立的数据库网络。话虽如此,正如 joeqwerty 指出的那样,防火墙应该完全足够了。
防火墙方法的一个缺点是,由于命名管道使用标准 Windows RPC 机制,因此通过端口 139 和 445 进行连接,您可能难以在不影响其他流量的情况下阻止这些端口。(您几乎肯定不希望这些端口对任何人开放,但如果您需要,请留意管理网络上的排除项。)