从公共网站访问私人 SQL Server 数据库

从公共网站访问私人 SQL Server 数据库

我们运营一个公共网站,需要从我们的私有数据库中填充大量页面。我们不想将数据从本地 SQL 服务器推送到网站的 SQL 服务器,因为这会导致数据过时。我们也不想从公共网站向我们的安全网络开放任何不必要的访问权限。

我们正在考虑打开一个端口供 Sql 进行通信,并让一个 SQL 实例使用该端口,该实例将仅保存 Web 服务器所需的数据。然后,有限的实例可以从生产服务器读取数据,也许可以通过视图?

这样,即使网站被黑客入侵,唯一的访问权也只是一个只读的 SQL 实例。你觉得这个解决方案怎么样?有没有更好的方法?

答案1

首先,实例不是只读的。您用来访问实例的登录名可能具有对数据库的只读访问权限,但最终会有一些内容写入数据库。打开端口将暴露实例。一旦建立连接,某人就可以尝试任何他们想要尝试的方法并获得对数据库和/或服务器本身的访问权限。

最好将 SQL 服务器放在 DMZ 中。这样,如果服务器受到攻击,攻击者和内部网络之间仍然有一道屏障。您可以从内部网络到 DMZ 中的 SQL 服务器建立传出连接,该连接可以通过直接更新、复制、日志传送等方式更新数据。然后,来自公共源的唯一传入连接将进入 DMZ。

相关内容