Postfix mail server block .bat, .exe .com .vbs mime attachments – common virus spreading files
Postfix provides Mime header check for all incoming messages. You can put restrictions on .exe / .bat / .vbs files and block all attachments.
On most mail server the first thing that needs to be done is to enable header checks and block dangerous files.
Define mine header checks
Open main.cf file:
# vi /etc/postfix/main.cf
Append / set mime_header_checks directive as follows:
mime_header_checks = regexp:/etc/postfix/mime_header_checks
Save and close the file.
Block attachments
Now open /etc/postfix/mime_header_checks file:
# vi /etc/postfix/mime_header_checks
Append following line:
/name=[^>]*\.(bat|com|exe|dll|vbs)/ REJECT
Save and close the file.
Restart postfix
First create postfix lookup table for mime_header_checks file:
# /etc/init.d/postfix restart
Watch log file
You should see rejected mail log in /var/log/maillog file:
# tail -f /var/log/maillog
Output:
Jun 20 14:28:06 server postfix/smtpd[5442]: connect from web31601.mail.mud.yahoo.com[68.142.198.147] Jun 20 14:28:07 server postfix/smtpd[5442]: 245F913906EE: client=web31601.mail.mud.yahoo.com[68.142.198.147] Jun 20 14:28:07 server postfix/cleanup[5492]: 245F913906EE: message-id=<274995.40473.qm@web31601.mail.mud.yahoo.com> Jun 20 14:28:07 server postfix/cleanup[5492]: 245F913906EE: reject: header Content-Type: application/x-msdos-program; name="updatebankdetails.bat" from web31601.mail.mud.yahoo.com[68.142.198.147]; from=<xxxxxxxx@yahoo.com> to=<myuser@mydomain.com> proto=SMTP helo=: Message content rejected
For more information please read postfix and header_checks man page.