Белые и черные списки rspamd. Коротко и ясно

Итак, после нескольких дней использования возникла необходимость сконфигурировать белые и черные списки rspamd, которые по-умолчанию не подключены. Суть таких списков в том, что к письму попадающему под действие их правил добавляется положительный или отрицательный балл, что в свою очередь влияет на общий балл на основании которого система принимает решение о прохождении того или иного письма. Проверки будут проводиться по следующим критериям:

  • IP — проверяется ip-адрес отправителя
  • FROM — проверяется e-mail отправителя
  • RCPT — проверяется e-mail получателя

В общем-то ничего сложного. Все работы проводятся в папке /etc/rspamd добавлением в папку local.d файла multimap.conf, который описывает конфигурацию списков и редактированием rspamd.conf.local

Файл multimap.conf описывает белые и черные списки rspamd. При этом в $DBDIR необходимо создать файлы указанные в параметре map. В каждом созданном файле должно быть как минимум по одной записи, иначе запуск rspam сопровождается ошибкой

local_bl_ip {
 type = "ip";
 map = "$DBDIR/local_bl_ip.map.inc";
 symbol = "LOCAL_BL_IP";
}
local_bl_from {
 type = "from";
 map = "$DBDIR/local_bl_from.map.inc";
 symbol = "LOCAL_BL_FROM";
}
local_bl_rcpt {
 type = "rcpt";
 map = "$DBDIR/local_bl_rcpt.map.inc";
 symbol = "LOCAL_BL_RCPT";
}
local_wl_ip {
 type = "ip";
 map = "$DBDIR/local_wl_ip.map.inc";
 symbol = "LOCAL_WL_IP";
}
local_wl_from {
 type = "from";
 map = "$DBDIR/local_wl_from.map.inc";
 symbol = "LOCAL_WL_FROM";
}
local_wl_rcpt {
 type = "rcpt";
 map = "$DBDIR/local_wl_rcpt.map.inc";
 symbol = "LOCAL_WL_RCPT";
}

В файл rspamd.conf.local добавляем имена символов и выставляем нужный балл (параметр weight), который будет добавлен к общему баллу письма

metric {
name = "default";
group {
name = "local";
symbol {
weight = 5;
description = "Sender ip listed in local ip blacklist";
name = "LOCAL_BL_IP";
}
symbol {
weight = 5;
description = "Sender from listed in local from blacklist";
name = "LOCAL_BL_FROM";
}
symbol {
weight = 5;
description = "Recipient listed in local rcpt blacklist";
name = "LOCAL_BL_RCPT";
}
symbol {
weight = -5;
description = "Sender ip listed in local ip whitelist";
name = "LOCAL_WL_IP";
}
symbol {
weight = -10;
description = "Sender from listed in local from whitelist";
name = "LOCAL_WL_FROM";
}
symbol {
weight = -5;
description = "Recipient listed in local rcpt whitelist";
name = "LOCAL_WL_RCPT";
}
}
}

Прегружаем rspamd

rc-service rspamd restart

После перезапуска в веб-интерфейсе мы должны увидеть следующую картину в разделе Symbols

и в разделе Configuration

(Я использую только эти 3 списка. Остальные закомментированы в multimap.conf. Конфигурация без комменратиев приведена лишь для примера)

В разделе History мониторим изменения входящей/исходящей почты. При необходимости из веб-интерфейса можно редактировать списки и баллы символов

Александр Черных
системный администратор

Статьи по теме

1+