我们收到了很多假冒电子邮件,这些电子邮件发给冒充我们 CEO 的员工,我们的防火墙无法拦截我们想要拦截的内容。这些电子邮件来自普通的 Gmail 帐户,他们的名字和姓氏与 CEO 相同,他们的电子邮件标题如下所示。
主题:一些会议纪要 日期:2019 年 8 月 28 日星期三 18:04:39 +0100 发件人:首席执行官姓名 收件人: [电子邮件保护]
因此,对于不太懂技术的员工来说,他们可能会认为这是 CEO。我知道在 sendmail 中,您可以通过域名或用户名阻止电子邮件,但是否可以通过名称阻止,我们可以将 CEO 的电子邮件列入白名单。
答案1
简短回答:
使用 procmail 作为本地传送代理(我记得,它应该是 CentOS 上的默认设置,或者坚持
FEATURE(local_procmail,
在procmail -t -Y -a $h -d $u')dnl
/etc/sendmail.mc 中)在 /etc/procmailrc 中有一行类似(https://regex101.com/r/uREw5R/1/):
:0 * “?您的 CEO 姓名”?\s? /主页/假邮件/邮件/
这会将所有显示名称为“您的 CEO 姓名”且域名为 gmail.com 的电子邮件转移到一个虚假邮箱(必须存在)进行检查。当然,如果您的 CEO 从 gmail 写信,那您就倒霉了。
答案2
Sendmail 提供各种选项来使用访问数据库来阻止电子邮件地址、域名或 IP 地址。
文件 /etc/mail/access 充当 Sendmail smtp 服务器的访问控制。使用此文件,您可以定义:
- 我们接受来自谁的邮件
- 我们接受来自谁的中继
- 我们不会发送给谁等等
配置
# vi /etc/mail/sendmail.cf
确保您的配置文件中存在以下行(否则您需要添加/附加以下行):
FEATURE(`access_db’)dnl
保存文件并退出到 shell 提示符。现在,打开 /etc/mail/access 文件:
# vi /etc/mail/access
要阻止垃圾邮件或垃圾邮件,请使用以下格式
[email protected] REJECT
192.168.1.100 REJECT
202.54.1.100/255.0.0.0 REJECT
保存文件。一旦 sendmail.mc 或 access 文件被修改,您需要重新生成 /etc/mail/sendmail.cf 或重建 access 数据库。输入以下任一命令:
# cd /etc/mail
# make
或者
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
重新启动发送邮件:
# /etc/init.d/sendmail restart
Access数据库支持的其他选项
- 确定 – 接受电子邮件发件人:或收件人:指定地址
- 丢弃 – 不接受来自:或至:指定地址的电子邮件
- 拒绝 – 丢弃带有错误发件人:或收件人:指定地址的电子邮件
- HATER – 使用 check_mail 和 check_realy 规则来处理电子邮件
- FRIEND – 不要对电子邮件使用 check_mail 和 check_realy 规则
- ERROR:ecode:etext – 删除带有指定错误代码(ecode)和错误文本消息(etext)的电子邮件。