SpamAssassin · 3 min read · Jan 29, 2026
Добавление и обновление наборов правил SpamAssassin с помощью RulesDuJour
Добавление и обновление наборов правил SpamAssassin с помощью RulesDuJour
Версия 1.0
Автор: Фалко Тимме
Эта статья объясняет, как вы можете загрузить дополнительные наборы правил SpamAssassin или автоматически обновить эти наборы с помощью скрипта оболочки под названием RulesDuJour. Эти дополнительные наборы правил могут значительно увеличить вашу скорость распознавания спама. Большинство наборов правил, которые поддерживает RulesDuJour, можно найти на веб-сайте SA Rules Emporium.
Я не даю никаких гарантий, что это сработает для вас!
1 Предварительная заметка
Я предполагаю, что вы уже настроили SpamAssassin (не имеет значения, является ли это отдельным демоном или вызывается через какой-либо другой демон, такой как amavisd - RulesDuJour поддерживает все эти конфигурации).
2 Загрузка RulesDuJour
Я хотел бы сохранить скрипт RulesDuJour в каталоге /usr/local/sbin, поэтому я перехожу туда и загружаю скрипт:
cd /usr/local/sbin
wget http://sandgnat.com/rdj/rules_du_jour
chmod 750 rules_du_jour3 Настройка RulesDuJour
Каждый раз, когда вызывается скрипт RulesDuJour, он пытается прочитать файл конфигурации /etc/rulesdujour/config. Поэтому мы создаем этот файл сейчас:
mkdir /etc/rulesdujour
vi /etc/rulesdujour/config| TRUSTED_RULESETS="TRIPWIRE SARE_EVILNUMBERS0 SARE_RANDOM"; # TRIPWIRE, SARE_EVILNUMBERS0, SARE_EVILNUMBERS1, SARE_EVILNUMBERS2, BLACKLIST, BLACKLIST_URI, RANDOMVAL, BOGUSVIRUS, SARE_ADULT, SARE_FRAUD, SARE_BML, SARE_SPOOF, SARE_BAYES_POISON_NXM, SARE_OEM, SARE_RANDOM, SARE_HEADER, SARE_HEADER0, SARE_HEADER1, SARE_HEADER2, SARE_HEADER3, SARE_HEADER_ENG, SARE_HTML, SARE_HTML0, SARE_HTML1, SARE_HTML2, SARE_HTML3, SARE_HTML4, SARE_HTML_ENG, SARE_SPECIFIC, SARE_OBFU, SARE_OBFU0, SARE_OBFU1, SARE_OBFU2, SARE_OBFU3, SARE_REDIRECT, SARE_REDIRECT_POST300, SARE_SPAMCOP_TOP200, SARE_GENLSUBJ, SARE_GENLSUBJ0, SARE_GENLSUBJ1, SARE_GENLSUBJ2, SARE_GENLSUBJ3, SARE_GENLSUBJ_ENG, SARE_HIGHRISK, SARE_UNSUB, SARE_URI, SARE_URI0, SARE_URI1, SARE_URI3, SARE_URI_ENG, SARE_WHITELIST, SARE_WHITELIST_RCVD, SARE_WHITELIST_SPF, ZMI_GERMAN, SARE_STOCKS SA_DIR="/etc/mail/spamassassin"; # Измените это на ваш локальный каталог конфигурации SA # каталог, вероятно, /etc/mail/spamassassin. # Для amavisd chrooted это может быть: # /var/amavisd/etc/mail/spamassassin MAIL_ADDRESS="[email protected]"; SINGLE_EMAIL_ONLY="true"; # Установите это в "true", чтобы отправлять только одно уведомление # по электронной почте за запуск RDJ с "интересной" # активностью. Установите в "", чтобы отправить отдельное # для каждой интересной активности. EMAIL_RDJ_UPDATE_ONLY=""; # Установите это в "true", чтобы отправлять уведомления только # когда обновление для RDJ было получено. Установите # в "" (по умолчанию), чтобы отправлять уведомления всякий раз, когда набор правил # изменился. (Не имеет эффекта, если SINGLE_EMAIL_ONLY установлено) SA_LINT="/usr/bin/spamassassin --lint"; # Команда, используемая для проверки правил SA_RESTART="/etc/init.d/amavisd restart"; # Команда, используемая для перезапуска spamd # Может быть /etc/rc.d/init.d/spamassassin restart # Для amavisd может быть /etc/init.d/amavisd restart # Для minedefang может быть /etc/init.d/mimedefang restart CURL_PROG="/usr/bin/curl"; # Местоположение программы curl CURL_OPTS="-w %{http_code} --compressed -O -R -s -S -z"; # Параметры программы curl CURL="${CURL_PROG} ${CURL_OPTS}"; # Программа Curl с параметрами WGET_PROG="/usr/bin/wget"; # Местоположение программы wget WGET_OPTS="-N" # Параметры программы wget WGET="${WGET_PROG} ${WGET_OPTS}"; # Программа Wget с параметрами PERL="/usr/bin/perl"; # Местоположение программы perl GREP="/bin/grep"; # Местоположение программы grep TAIL="/usr/bin/tail -n 1"; # Местоположение (и параметры) для 'tail -n 1' HEAD="/usr/bin/head -n 1"; # Местоположение (и параметры) для 'head -n 1' MAILCMD="/bin/mail"; # Местоположение программы mail # которая принимает и понимает флаг -s # DEBUG="true"; # Раскомментируйте это, чтобы включить режим отладки (или используйте -D) |
Строка TRUSTED_RULESETS содержит все наборы правил, которые вы хотите использовать (убедитесь, что вы протестировали их перед использованием на производственных системах!); Я перечислил все доступные наборы правил в комментарии в конце строки.
Строка SA_DIR должна содержать ваш каталог конфигурации SpamAssassin; обычно это /etc/mail/spamassassin.
MAIL_ADDRESS должен содержать адрес электронной почты, на который вы хотите, чтобы RulesDuJour отправлял уведомления о процессе загрузки/обновления.
Все остальные параметры объясняются (в качестве комментариев) в приведенном выше скрипте. SA_RESTART должен быть командой, используемой для перезапуска SpamAssassin. Если вы запускаете SpamAssassin как отдельный демон, это, вероятно, что-то вроде /etc/init.d/spamassassin restart или /etc/init.d/spamd restart; если SpamAssassin вызывается через amavisd, вы должны указать команду, используемую для перезапуска amavisd (например, /etc/init.d/amavisd restart).
Хорошей идеей будет использовать полные пути ко всем программам в приведенном выше скрипте (например, /usr/bin/spamassassin вместо spamassassin или /usr/bin/curl вместо curl). Вы можете узнать полный путь к каждой программе с помощью which, например.
which spamassassin
which curl
which wget
which perl
which grep
which tail
which head
which mail[root@server1 sbin]# which spamassassin
/usr/bin/spamassassin
[root@server1 sbin]# which curl
/usr/bin/curl
[root@server1 sbin]# which wget
/usr/bin/wget
[root@server1 sbin]# which perl
/usr/bin/perl
[root@server1 sbin]# which grep
/bin/grep
[root@server1 sbin]# which tail
/usr/bin/tail
[root@server1 sbin]# which head
/usr/bin/head
[root@server1 sbin]# which mail
/bin/mail
[root@server1 sbin]#4 Запуск RulesDuJour
Если вы находитесь в каталоге /usr/local/sbin, вы можете запустить RulesDuJour так:
./rules_du_jourВ другом каталоге вы можете вызвать его так:
rules_du_jourКонечно, вы всегда можете использовать полный путь:
/usr/local/sbin/rules_du_jour5 Создание задания Cron
Конечно, вы не хотите запускать RulesDuJour вручную каждый раз; поэтому мы настраиваем задание cron так:
crontab -e| 0 3 * * * /usr/local/sbin/rules_du_jour 2&>1 > /dev/null |
Вышеуказанное задание cron будет запускать RulesDuJour каждую ночь в 3:00.
6 Ссылки
- SpamAssassin: http://spamassassin.apache.org
- RulesDuJour: http://sandgnat.com/rdj/rules_du_jour
- SpamAssassin Rules Emporium: http://www.rulesemporium.com
Get new posts in your inbox
No spam. Unsubscribe anytime.