diff --git a/articles/2016/04/10/hardcore-mail-relay-1/index.markdown b/articles/2016/04/10/hardcore-mail-relay-1/index.markdown index aaaf3cc..263a6bd 100644 --- a/articles/2016/04/10/hardcore-mail-relay-1/index.markdown +++ b/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/) * переобучение антиспама * репутация доменов -- Базовая настройка rspamd +- [Базовая настройка rspamd](/articles/2016/04/29/hardcore-mail-relay-6/) - Донастройка антиспама на основе конкретных писем --- diff --git a/articles/2016/04/20/hardcore-mail-relay-5/index.markdown b/articles/2016/04/20/hardcore-mail-relay-5/index.markdown index 52059d6..ef66265 100644 --- a/articles/2016/04/20/hardcore-mail-relay-5/index.markdown +++ b/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/) diff --git a/articles/2016/04/29/hardcore-mail-relay-6/index.markdown b/articles/2016/04/29/hardcore-mail-relay-6/index.markdown new file mode 100644 index 0000000..1efb22f --- /dev/null +++ b/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.