Browse Source

+ /articles/2016/04/29/hardcore-mail-relay-6/

master
Alex 'AdUser' Z 9 years ago
parent
commit
6ab9c32206
  1. 2
      articles/2016/04/10/hardcore-mail-relay-1/index.markdown
  2. 3
      articles/2016/04/20/hardcore-mail-relay-5/index.markdown
  3. 81
      articles/2016/04/29/hardcore-mail-relay-6/index.markdown

2
articles/2016/04/10/hardcore-mail-relay-1/index.markdown

@ -23,7 +23,7 @@ tags: mail, spam, exim, zabbix, rspamd, репост
- [Обратная связь и переобучение системы](/articles/2016/04/20/hardcore-mail-relay-5/) - [Обратная связь и переобучение системы](/articles/2016/04/20/hardcore-mail-relay-5/)
* переобучение антиспама * переобучение антиспама
* репутация доменов * репутация доменов
- Базовая настройка rspamd - [Базовая настройка rspamd](/articles/2016/04/29/hardcore-mail-relay-6/)
- Донастройка антиспама на основе конкретных писем - Донастройка антиспама на основе конкретных писем
--- ---

3
articles/2016/04/20/hardcore-mail-relay-5/index.markdown

@ -96,4 +96,5 @@ tags: mail, spam, exim, репост
--- ---
[К оглавлению](/articles/2016/04/10/hardcore-mail-relay-1/) [К оглавлению](/articles/2016/04/10/hardcore-mail-relay-1/),
[Далее: Базовая настройка rspamd](/articles/2016/04/29/hardcore-mail-relay-6/)

81
articles/2016/04/29/hardcore-mail-relay-6/index.markdown

@ -0,0 +1,81 @@
---
title: Почтовый шлюз: задание со звёздочкой (Базовая настройка rspamd)
tags: mail, spam, rspamd, репост
---
Первое о чём хочу сказать - софт достаточно "молодой", года полтора, поэтому в каждой версии ломается нещадно, даже в микро-версиях (например 1.0.3 -> 1.0.4).
Второе - правила по-умолчанию тоже достаточно "сырые". Могут быть и false-positive, и неадекватные score.
Пример - дефолтные 15 баллов могут набрать только совсем лопоухие.
В отличие от spamassassin'а здесь не придают такого значения регекспам, анализ *текста* достаточно слабый.
Например нет простейшего обнаружения смешанных букв в словах.
Хотя посмотреть на расширение прикреплённого файла - это пожалуйста.
Также в проекте практически отсутствует актуальная документация. Хотите разобраться - готовьтесь смотреть исходники.
Это очень большая тема, на самом деле, поэтому я приведу лишь те моменты, без настройки которых оно совсем уж днище.
---
Калибруем score
---------------
В качестве формата конфига используется нечто nginx-подобное[^fn1]. Сам конфиг достаточно развесист, его править не рекомендуется, задолбаетесь потом мержить.
Свои настройки рекомендую держать в отдельном файле и подключать через ".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``,
куда можно скидывать свои файлики с настройками, ОДНАКО, оно [не работает без напильника](https://github.com/vstakhov/rspamd/issues/563).
Это как пример того, что творят с конфигами при каждом апгрейде.
В следующей версии могут, например, втихую выкинуть ``override.d`` и все сложенные туда конфиги превратятся в тыкву.
Fuzzy-storage
-------------
Нужно оно для следующей цели: допустим идёт спам "картинкой" с рекламой очередного говносеминара.
Рассылка идёт из разных доменов, и разными способами: через спижженые аккаунты на mail.ru/yandex,
взломаные вордпрессы на шаред-хостингах, сервисы типа outbound-protection.outlook.com и т.д.
Текста нет, только картинка, но одна и та же. АГА.
Значит можно взять эту картинку, посчитать от неё хэш и в дальнейшем отстреливать всю рассылку, откуда бы она ни шла.
Вобщем, это аналог [dcc](https://en.wikipedia.org/wiki/Distributed_Checksum_Clearinghouse),
но: 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"; # <-- добавлен последний пункт
---
[К оглавлению](/articles/2016/04/10/hardcore-mail-relay-1/),
[^fn1]: Очередной велосипед. Это при том, что libconfig уже изобрели, и в проекте используется lua.
Loading…
Cancel
Save