【问题标题】:Hide or encrypt ps1 credentials隐藏或加密 ps1 凭据
【发布时间】:2021-06-27 12:59:17
【问题描述】:

我的 ps1 脚本发送邮件时遇到问题。问题是,我必须将此脚本发送给多个用户,并且我不希望他们从邮件发件人那里读取我的 smtp 凭据,有没有办法仅加密或隐藏密码行,并且仍然可以执行?

$Username  = "test"
$EmailPassword = "jlkajdksajeqw"
$Attachment= "c:\validacion.zip" 
$EmailTo = ("seleccionestmk@gmail.com") 
$EmailFrom   = "seleccionestmk@telemercado.com.ar" 
$Subject = "Validacion BPC"
$Body= "Validacion realizada, dentro del archivo zip, se encuentran los datos necesarios para aprobar o denegar la validacion. Saludos"
$SMTPServer  = "mail.telemercado.com.ar"  
$SMTPMessage = New-Object System.Net.Mail.MailMessage($EmailFrom, $EmailTo, $Subject, $Body) 
$Attachment  = New-Object System.Net.Mail.Attachment($Attachment)
$SMTPMessage.Attachments.Add($Attachment)
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SmtpClient.UseDefaultCredentials = $false
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($Username, $EmailPassword) 
$SMTPClient.Send($SMTPMessage)

【问题讨论】:

    标签: encryption smtp hide send


    【解决方案1】:

    如果您以某种方式加密敏感值,则脚本的接收者需要解密密钥才能读取敏感值以运行脚本。

    您可以在脚本上运行某种混淆软件,使脚本的接收者更难提取敏感值,但您永远无法阻止此类提取。

    最好的方法是重新设计系统,使向用户提供凭据不成问题。例如,将发送电子邮件的电子邮件帐户范围限定为仅用于此一个用例,并且您将脚本提供给的所有用户也应该使用它。如果您将电子邮件帐户用于其他用途,请将其移至具有不同凭据的其他帐户。

    另一种方法是创建一个服务器端点,该端点验证您将脚本提供给的用户的个性化凭据(您需要为每个用户提供自己的凭据),并将电子邮件帐户的凭据仅存储在服务器上。服务器需要验证字段是否符合此电子邮件帐户的使用方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-23
      • 2020-03-25
      相关资源
      最近更新 更多