当它安装在与数据库相同的虚拟机中时,如何保护 (SSRS) 报告服务实例?

How do I secure (SSRS ) reporting service instance when it is installed in same virtual machine as database?

我正在研究 web application 将与 database 对话的架构。

Web 应用程序在 VM1 数据库在 VM2 上,如下所示

我遵循以下安全最佳实践,

现在的挑战是由于Reporting server 2012,它有以下缺点。

Reporting service and database has to be in same Virtual Machine. [Drawback overcome only in reporting service 2017 which we can't afford now] and it required port 80 to be opened so that web application can be accessed by a web application which is deployed on VM1

现在我必须在数据库服务器上启用端口 80,这对安全性不利。

那么最好的做法是什么?

我正在考虑的一种方法是将 SSRS 端口从 80 更改为 XXXX,并允许该端口。这是正确的方法吗?或者我是否必须升级到 SSRS 2017 这有助于将报告服务移动到 Web 应用程序 VM?什么是最好的方法?

更新Windows Defender Firewall with Advanced security 设置中启用了数据库 VM 端口。并且它仅在选中 "Public" 复选框时有效。它不适用于私人选项。保持public没有风险?

web应用一般使用默认的http端口80,在我看来,更改端口很容易,部署也很简单。虚拟网络与虚拟网络之间的流量通过 Azure backbone 网络路由,这也是安全的。可以修改SSRS端口参考this blog中的解决方案,在VM2上的NSG的入站规则中更新端口。

如果您想使用 SSRS 2017,您可能需要升级您的 SQL 服务器,请参阅 this note

You can only use the query designer for DAX with SSAS tabular data sources built in SQL Server 2016+.