С Exim давно не работал, раньше делал через fail2ban# vi /etc/fail2ban/jail.conf
[exim-banhammer]
enabled = true
filter = exim.banhammer
action = iptables-multiport[name=Exim, port="smtp,smtps", protocol=tcp]
#sendmail[name=exim-spam, dest=admin@company.xyz, sender=fail2ban@localhost]
logpath = /var/log/exim/main.log
maxretry = 2
bantime = 18000
ignoreip = 127.0.0.1
vi /etc/fail2ban/filter.d/exim.banhammer.conf
[Definition]
failregex = [\] .*(?:rejected by local_scan|Unrouteable address|Dnsbl blocked|Sender verify failed|relay not permitted|Unknown user)
fail2ban-client reload
Далее проверь, как отрабатывает правило бана на логах (может корректировка нужна):
fail2ban-regex --print-all-match /var/log/exim/main.log /etc/fail2ban/filter.d/exim.banhammer.conf
Проверка статуса:
fail2ban-client status exim-banhammer
Просмотр списка заблокированных IP:
ipset list
На самом деле в настройках fail2ban уже наверняка есть заготовки для Exim, просто разкоментируй их.
Эта тема пережёвана интернетах с давних времен.