![Amavis 阻止 CSV 附件(但允许几乎所有其他附件)](https://linux22.com/image/891321/Amavis%20%E9%98%BB%E6%AD%A2%20CSV%20%E9%99%84%E4%BB%B6%EF%BC%88%E4%BD%86%E5%85%81%E8%AE%B8%E5%87%A0%E4%B9%8E%E6%89%80%E6%9C%89%E5%85%B6%E4%BB%96%E9%99%84%E4%BB%B6%EF%BC%89.png)
我在我的邮件服务器上使用 Amavis,我注意到它阻止了带有 CSV 附件的电子邮件。
它允许人们在商业环境中通常使用的所有其他内容,并阻止应该阻止的文件类型(如 bat、exe 等)。
我正在使用带有 LTS 内核(4.4.0-47-generic x86_64)的 Ubuntu 14.04.5 LTS,并且该操作系统已修补至最新。
我假设以下某个文件中有一个内容过滤规则:
/etc/amavis/conf.d/
具体来说这个文件:20-debian_defaults
其中包含$banned_filename
变量。
但是没有任何条目阻止 CSV 文件类型或 CSV mime 类型 (text/csv)。
当我从我的工作域(问题所在)向我的个人电子邮件发送测试消息时,失败了。
这是日志条目。
Feb 24 06:14:30 mail2 postfix/smtps/smtpd[24045]: connect from my-isp-external-hostname.someisp.com[000.000.000.202]
Feb 24 06:14:30 mail2 postfix/smtps/smtpd[24045]: Anonymous TLS connection established from my-isp-external-hostname.someisp.com[000.000.000.202]: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Feb 24 06:14:30 mail2 postfix/smtps/smtpd[24045]: A3FCD3A0794: client=my-isp-external-hostname.someisp.com[000.000.000.202], sasl_method=PLAIN, [email protected]
Feb 24 06:14:30 mail2 postfix/cleanup[24049]: A3FCD3A0794: message-id=<[email protected]>
Feb 24 06:14:31 mail2 opendkim[2108]: A3FCD3A0794: can't determine message sender; accepting
Feb 24 06:14:31 mail2 postfix/qmgr[2223]: A3FCD3A0794: from=<[email protected]>, size=120673, nrcpt=1 (queue active)
Feb 24 06:14:37 mail2 amavis[22663]: (22663-10) Blocked SPAM {DiscardedOpenRelay,Quarantined}, [000.000.000.202]:49600 <[email protected]> -> <[email protected]>, quarantine: Q/spam-Q1kQ3q1__N33.gz, Queue-ID: A3FCD3A0794, Message-ID: <[email protected]>, mail_id: Q1kQ3q1__N33, Hits: 7.046, size: 120728, 6466 ms
Feb 24 06:14:37 mail2 postfix/smtp[24051]: A3FCD3A0794: to=<[email protected]>, relay=127.0.0.1[127.0.0.1]:10024, delay=7.3, delays=0.85/0.01/0/6.5, dsn=2.7.0, status=sent (250 2.7.0 Ok, discarded, id=22663-10 - spam)
Feb 24 06:14:37 mail2 postfix/qmgr[2223]: A3FCD3A0794: removed
这是我的 Amavis 配置中的 banned_filename 变量(没有 CSV 条目):
$banned_filename_re = new_RE(
qr'\.[^./]*\.(exe|vbs|pif|scr|bat|cmd|com|cpl|dll)\.?$'i,
qr'\{[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}\}?$'i, # Windows Class ID CLSID, strict
qr'^application/x-msdownload$'i, # block these MIME types
qr'^application/x-msdos-program$'i,
qr'^application/hta$'i,
qr'.\.(exe|vbs|pif|scr|bat|cmd|com|cpl)$'i, # banned extension - basic
qr'^\.(exe-ms)$', # banned file(1) types
);
这是一个有点不合常规的设置。我对邮件服务器不太熟悉(我知道我的 DKIM 设置有问题,日志也指出了这一点,但目前我认为这与 Amavis 无关。
我一直在研究这个问题,所有的路径似乎都指向这个$banned_filenames
变量,而对我来说,现在这是一个死路。
日志条目包含术语 也有点令人担忧DiscardedOpenRelay
。每次配置更改后,我都会使用 MailRadar 测试我的服务器,并且每次都能通过所有测试。我想知道这个术语是否指的是 PostFix 和 Amavis 之间存在的“中继”。
只有在拒绝消息时才会这么说。
任何帮助深表感谢。
哦,我还注意到,在日志中,当某个附件被特别阻止时,日志条目如下所示:
Feb 24 06:56:12 mail2 amavis[24722]: (24722-01) Blocked BANNED (application/octet-stream,.asc,test.bat) {DiscardedOpenRelay,Quarantined}, [142.161.177.202]:49882 <[email protected]> -> <[email protected]>, quarantine: 0/banned-0BueXRbbZ4ys, Queue-ID: 8E03D3A075C, Message-ID: <[email protected]>, mail_id: 0BueXRbbZ4ys, Hits: -, size: 705, 87 ms
Feb 24 06:56:12 mail2 postfix/smtp[24885]: 8E03D3A075C: to=<[email protected]>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.33, delays=0.23/0.01/0.01/0.08, dsn=2.7.0, status=sent (250 2.7.0 Ok, discarded, id=24722-01 - BANNED: application/octet-stream,.asc,test.bat)
这是一个 BAT 文件,我想看看我遇到的问题与“正确”行为之间的区别。
Amavis 出于某种原因将我的 CSV 文件称为 SMAM... 我认为这是我需要追求的方向。阻塞可能工作正常。