通过 mime_header_checks 阻止 Postfix 中没有扩展名的附件文件?

通过 mime_header_checks 阻止 Postfix 中没有扩展名的附件文件?

我们知道如何通过 mime_header_checks 指令拒绝可执行文件和其他潜在危险的文件扩展名:

mime_header_checks = regexp:/etc/postfix/mime_header_checks  (main.cf)
/name=[^>]*\.(bat|com|exe|dll|vbs)/ REJECT  (mime_header_checks)

这样 bat、com、exe、dll、vbs 就消失了。但是,由于有些操作系统将无扩展名的文件视为可执行文件,所以我想到这些也应该被阻止。

如何使用这个/什么是正则表达式来匹配这些文件以及已知的可执行文件?

答案1

添加怎么样

/name="[^>]*[^.]{7}"/ REJECT

如果除了分隔扩展名(最多 4 个字符)之外的任何地方都有点,它将匹配

  • 名称="=?ISO-8859-1?Q?文档?="
  • 名称="=?ISO-8859-1?Q?文档?="

但不会匹配

  • 名称="=?ISO-8859-1?Q?document.pdf?="
  • 名称="=?ISO-8859-1?Q?document.xlsx?="

如果您希望允许更长的扩展,只需添加数字“{7}”。

相关内容