Понадобилось заблокировать некоторые форматы вложений, так как в них часто присылали вредоносные данные.
Например с скомпрометированных email распространялся файл docx.z, сначала я поискал письма с этим вложением чтобы удалить:
grep -rE "filename=.*\.z(\"|'|$)" /var/vmail/vmail1/
grep -rEcl "filename=.*\.z(\"|'|$)" /var/vmail/vmail1/ | xargs grep -m 1 "^From: "
Потом открыл конфигурацию Amavis:
nano /etc/amavis/conf.d/50-user
Убедился что указано D_DISCARD — тихо удалить, а не D_BOUNCE — вернуть отправителю уведомление об ошибке:
$final_banned_destiny = D_DISCARD;
Нашел строку:
$banned_filename_re = new_RE(
Под ней можно добавить строку для блокировки конкретного расширения .z (удобно если нужно отключать, например закомментировав):
qr'.\.(z)$'i,
Но лучше допишем в существующую строку, например я нашел:
qr'.\.(exe|vbs|pif|scr|cpl)$'i, # banned extension - basic
И добавил расширения .z и .txz:
qr'.\.(exe|vbs|pif|scr|cpl|z|txz)$'i, # banned extension - basic
Флаг i в конце означает, что блокировка сработает и на .Z, и на .z.
Можно проверить конфигурацию командой amavisd-new showkeys, если нет ошибок — значит все ок.
Применим изменения:
systemctl restart amavis
systemctl status amavis
Для теста отправим пустой файл переименовав в test.docx.z и в логах /var/log/mail.log будет запись о его блокировке.
Смотрите также мою статью:
Dovecot. Автоочистка email в корзине