Почтовый шлюз: задание со звёздочкой (Базовая настройка rspamd)

Первое о чём хочу сказать - софт достаточно "молодой", года полтора, поэтому в каждой версии ломается нещадно, даже в микро-версиях (например 1.0.3 -> 1.0.4). Второе - правила по-умолчанию тоже достаточно "сырые". Могут быть и false-positive, и неадекватные score. Пример - дефолтные 15 баллов могут набрать только совсем лопоухие.

В отличие от spamassassin'а здесь не придают такого значения регекспам, анализ текста достаточно слабый. Например нет простейшего обнаружения смешанных букв в словах. Хотя посмотреть на расширение прикреплённого файла - это пожалуйста.

Также в проекте практически отсутствует актуальная документация. Хотите разобраться - готовьтесь смотреть исходники.

Это очень большая тема, на самом деле, поэтому я приведу лишь те моменты, без настройки которых оно совсем уж днище.

Калибруем score

В качестве формата конфига используется нечто nginx-подобное. Сам конфиг достаточно развесист, его править не рекомендуется, задолбаетесь потом мержить. Свои настройки рекомендую держать в отдельном файле и подключать через ".include"

Из metrics.conf:

metric {
  name = "default";
  actions {
    reject = 10;
    add_header = 6;
    greylist = 4;
# ^^ вот это место рекомендую поправить в основном файле,
# остальное - в отдельном:
.include "$CONFDIR/metrics-custom.conf"

metrics-custom.conf:

group {
  name = "custom";
  # переопределяем score
  symbol { weight = -4.0; name = "KNOWN_DOMAIN"; }
  symbol { weight = 15.0; name = "SPAM_LINK"; }
  # и .д.
}

С 1.2.0 наконец-то осознали необходимость переопределения конфигов, и ввели local.d/override.d, куда можно скидывать свои файлики с настройками, ОДНАКО, оно не работает без напильника. Это как пример того, что творят с конфигами при каждом апгрейде. В следующей версии могут, например, втихую выкинуть override.d и все сложенные туда конфиги превратятся в тыкву.

Fuzzy-storage

Нужно оно для следующей цели: допустим идёт спам "картинкой" с рекламой очередного говносеминара. Рассылка идёт из разных доменов, и разными способами: через спижженые аккаунты на mail.ru/yandex, взломаные вордпрессы на шаред-хостингах, сервисы типа outbound-protection.outlook.com и т.д. Текста нет, только картинка, но одна и та же. АГА.

Значит можно взять эту картинку, посчитать от неё хэш и в дальнейшем отстреливать всю рассылку, откуда бы она ни шла. Вобщем, это аналог dcc, но: 1) только для файлов, 2) с возможностью поднять полностью свой сервис.

Разумеется, оно должно быть предварительно включено в конфиге:

worker {
  bind_socket = "127.0.0.1:11335";
  type = "fuzzy";
  hash_file = "${DBDIR}/fuzzy.db"
  expire = 90d;
  allow_update = "127.0.0.1";
}

filters = "chartable,dkim,spf,surbl,regexp,fuzzy_check"; # <-- добавлен последний пункт

К оглавлению, Далее: Донастройка антиспама на основе конкретных писем