在具有不同基于 PHP 的 CMS 的 Debian LAMP 上,我使用 MTAsSMTP
通过电子邮件代理 (Gmail) 发送电子邮件;我发送的电子邮件只是联系表格输入从任何此类 CMS 转移到我自己的电子邮件帐户:
CMS 联系表单输入 → 电子邮件代理 (Gmail) → 我使用的主要电子邮件帐户(也是 Gmail)
我的sSMTP
conf看起来与此类似:
#!/bin/bash
set -eu
read -p "Please paste your Gmail proxy email address: " \
gmail_proxy_email_address
read -sp "Please paste your Gmail proxy email password:" \
gmail_proxy_email_password && echo
cat <<-EOF > /etc/ssmtp/ssmtp.conf
root=${gmail_proxy_email_address}
AuthUser=${gmail_proxy_email_address}
AuthPass=${gmail_proxy_email_password}
hostname=${HOSTNAME:-$(hostname)}
mailhub=smtp.gmail.com:587
rewriteDomain=gmail.com
FromLineOverride=YES
UseTLS=YES
UseSTARTTLS=YES
EOF
正如您所看到的,/etc/ssmtp/ssmtp.conf
将创建一个名为 的文件,其中包含电子邮件地址及其帐户密码。
如果这种不太可能发生的情况发生,并且黑客发现了电子邮件地址和密码,那么在我存储付款信息的情况下,我可能会遇到很多麻烦(我没有,我从来没有这样做过,也不打算这样做,但仍然应该认真对待) )。
我怎样才能保护上述文件?也许以某种方式加密它?
目前我不想使用电子邮件服务器来配置电子邮件 DNS 记录等。
答案1
ssmtp
必须使用您的登录名和密码来发送邮件。如果它被加密,ssmtp
就必须解密它,这样黑客就可以做同样的事情。
该文件应该仅具有允许访问该文件的/etc/ssmtp/ssmtp.conf
必要权限,并且您应该保护您的系统以防止未经授权的访问。ssmtp
看https://wiki.archlinux.org/index.php/SSMTP:
由于您的电子邮件密码以明文形式存储在 /etc/ssmtp/ssmtp.conf 中,因此确保该文件的安全非常重要。默认情况下,整个 /etc/ssmtp 目录只能由 root 和邮件组访问。 /usr/bin/ssmtp 二进制文件作为邮件组运行并可以读取此文件。没有理由将您自己或其他用户添加到邮件组。
如果您使用应用程序密码(另请参阅上面引用的网页)凭据不应用于交互式登录。