数据库邮件是否值得冒险/标准做法

Mus*_*man 1 security sql-server sql-server-2012 database-mail

我启用Database Mail XPs并在我的开发机器上测试它。我只是想知道这是否DB Mail是一个糟糕的安全选择,以及通过应用程序服务器(ColdFusion 或 PHP)发送这种消息是否更安全(或标准做法)?我将使用Database Mail数据库备份/恢复消息、错误或错误检查消息(我能想到的)。我知道启用功能总是会增加风险。

使用:

  • 在防火墙后面等。
  • 视窗 2012 r2
  • 微软 SQL Server 2012
  • Exchange 在单独的服务器上
  • 使用 Windows 身份验证
  • 启用需要安全连接

提前致谢。

小智 7

虽然您的问题可能是这个问题的边缘重复,但我并不是很喜欢另一个问题的答案,因为它没有涉及安全风险的太多细节。

数据库邮件可配置为包括谁可以使用创建的配置文件/帐户。启用数据库邮件时,您有以下安全措施:

(参考此答案托马斯·斯特林格

  • 公共配置文件仅对 msdb 数据库中的用户可用
  • msdb 数据库的用户也必须是其成员DatabaseMailUserRole才能执行 `sp_send_dbmail

在上述之外要考虑的一件事是您的应用程序和您允许通过电子邮件发送的数据。例如,如果您正在制作一个通用功能,该功能将允许用户通过Database Mail或 您的application; 您需要确保没有发送敏感数据(尤其是用户数据)。这完全取决于您的公司或您所在的行业是否有任何安全标准,是否extra需要采取任何措施。我知道对于某些人来说,如果正在发送报告,它只需要在报告上有披露通知,也许用户承认是否包含敏感数据。

您还可以在您的电子邮件系统或 Exchange 上添加安全措施,这些措施的策略是email从 SQL Server 实例或您的应用程序发送的任何内容只能转到内部电子邮件。不允许向外部域名发送电子邮件。

值得冒险吗?

根据上述信息,我根本不会认为这是一种风险。它是用于任何 DBA(例如作业失败通知、警报等)的常用工具,并且可以是监控的重要组成部分。我根据支持需要在实例上启用。在某些环境中,您可能不喜欢在网络中的每个实例(如果很大)上进行设置,并且您可能会将其放在用于中央监控的实例上。