我最近意识到我用来从任务计划程序发送电子邮件的脚本可能会被滥用,就像我可以使用该脚本从我的 Exchange 上的任何人向任何其他人发送电子邮件一样。
A) 我该如何阻止这种情况....这不是关于域名欺骗的问题,而是关于脚本能够使用任何帐户发送电子邮件而无需密码的问题。
B)如果我停止它...我需要对我的脚本做哪些更改以便我可以继续接收有关日志和其他报告等的电子邮件。
我们正在使用 Exchange 2016。我使用的脚本仅使用 $messageParameters,其中包含邮件主题、正文、发件人、收件人和 SMTP 服务器
答案1
我假设您的脚本在 Powershell 中。
我将启用并配置签名的 powershell 脚本,然后您可以使用安全字符串并创建具有特定用户(服务帐户?)的计划任务。然后只有该特定计算机上的特定用户才能进行身份验证并发送消息。
(get-credential).password | ConvertFrom-SecureString | set-content "C:\Passwords\password.txt" //don't forget to secure this file.
$password = Get-Content "C:\Passwords\password.txt" | ConvertTo-SecureString
$credential = New-Object System.Management.Automation.PsCredential("svc_notification",$password)`
尝试使用该脚本的普通用户会被密码文件或安全设置拒绝执行 powershell 脚本。