- Установка и настройка Spamassassin на сервере Ubuntu 12.04
- Требования
- Установка Spamassassin
- Добавление пользователя Spamassassin
- Настройка Spamassassin
- Настройка Postfix
- Тонкая настройка Spamassassin
- Тестирование работы Spamassassin
- Заключение
- SpamAssassin
- Installation
- Usage
- Updating rules
- Set maximum size for scanning
- Using a SQL database
- MySQL
- Plugins
- ClamAV
- Razor
- Tips and tricks
- Maintaining TxRep SQL table
- How To Install spamassassin on Debian 11
- What is spamassassin
- Install spamassassin Using apt-get
- Install spamassassin Using apt
- Install spamassassin Using aptitude
- How To Uninstall spamassassin on Debian 11
- Uninstall spamassassin And Its Dependencies
- Remove spamassassin Configurations and Data
- Remove spamassassin configuration, data, and all of its dependencies
- References
- Summary
Установка и настройка Spamassassin на сервере Ubuntu 12.04
Spamassassin – это написанный в Perl свободный почтовый фильтр с открытым исходным кодом, предназначенный для выявления спама путем проведения эвристических проверок почтовых заголовков и текстов. Spamassassin способен защитить сервер от огромного количества нежелательных сообщений.
Требования
Прежде чем приступить к выполнению руководства, нужно установить и настроить почтового агента передачи (например, Postfix).
Примечание: все необходимые инструкции можно найти в руководстве «Установка и настройка Postfix на Ubuntu 12.04».
Установка Spamassassin
Для установки Spamassassin и вспомогательного пакета spamc используйте apt-get:
apt-get install spamassassin spamc
После установки Spamassassin нужно выполнить еще несколько действий для корректной работы фильтра.
Добавление пользователя Spamassassin
Для запуска Spamassassin на виртуальном сервере нужно создать нового пользователя.
Для начала создайте группу spams:
Затем создайте пользователя по имени spamd с домашним каталогом /var/log/spamassassin:
useradd -g spamd -s /bin/false -d /var/log/spamassassin spamd
Создайте сам домашний каталог /var/log/spamassassin:
После этого передайте права на каталог группе spams:
chown spamd:spamd /var/log/spamassassin
Готово! Теперь можно запустить фильтр Spamassassin.
Настройка Spamassassin
Откройте конфигурационный файл Spamassassin:
Для активации фильтра нужно найти строку:
Чтобы получать новейшие правила фильтрации спама, нужно включить автоматическое обновление правил; для этого найдите строку:
Теперь создайте переменную SAHOME, а в качестве ее значения задайте домашний каталог Spamassassin:
Найдите переменную OPTIONS и измените ее следующим образом:
Данная переменная задает пользователя, который будет запускать Spamassassin (в данном случае это spamd), а также добавляет домашний каталог, создает лог-файл и ограничивает количество дочерних процессов, которые может породить Spamassassin.
Примечание: если сервер нагружен, рекомендуется увеличить максимальное количество дочерних процессов.
Запустите демон Spamassassin при помощи следующего кода:
service spamassassin start
Теперь приступайте к настройке Postfix.
Настройка Postfix
Несмотря на то, что Spamassasin полностью готов к работе, письма по-прежнему не проходят через спам-фильтр. Чтобы изменить это, нужно открыть конфигурационный файл Postfix:
Теперь Postfix будет пропускать почту через Spamassassin.
Чтобы настроить дополнительный фильтр контента, добавьте следующую строку в конец файла:
spamassassin unix — n n — — pipe
user=spamd argv=/usr/bin/spamc -f -e
/usr/sbin/sendmail -oi -f $ $
Чтобы активировать изменения, перезапустите Postfix:
Теперь Postfix будет использовать Spamassassin в качестве спам-фильтра.
Тонкая настройка Spamassassin
Чтобы использовать Spamassassin по максимуму, нужно создать правила.
Откройте стандартный файл правил SpamAssassin:
Чтобы активировать правила, раскомментируйте нужные строки, удалив символ #.
Чтобы добавить заголовки в спам, нужно раскомментировать или добавить строку:
rewrite_header Subject [***** SPAM _SCORE_ *****]
После проведения различных тестов Spamassassin дает оценку каждому сообщению. Следующая строка будет отмечать сообщения как спам, если оценка фильтра превышает значение, указанное в правиле.
Чтобы использовать для проверки почты теорему Байеса, раскомментируйте или добавьте строку:
use_bayes 1
bayes_auto_learn 1
Внеся все вышеперечисленные строки, сохраните файл и перезапустите спам-фильтр.
service spamassassin restart
Тестирование работы Spamassassin
Чтобы убедиться в том, что Spamassassin работает должным образом, проверьте лог-файл фильтра:
или отправьте почту с внешнего сервера и проверьте почтовые заголовки.
Заключение
Spamassassin надежно защитит почтовый ящик от спама. Преимущество Spamassassin состоит в том, что пользователь может создавать правила и управлять ими самостоятельно.
SpamAssassin
SpamAssassin is a mail filter to identify spam.
Installation
Create a sa-update-keys directory in /etc/mail/spamassassin and change the owner and group:
# mkdir /etc/mail/spamassassin/sa-update-keys # chown spamd:spamd /etc/mail/spamassassin/sa-update-keys # chmod 700 /etc/mail/spamassassin/sa-update-keys
Usage
Go over /etc/mail/spamassassin/local.cf and configure it to your needs.
Updating rules
Update the SpamAssassin matching patterns and compile them:
# sudo -u spamd /usr/bin/vendor_perl/sa-update && sudo -u spamd /usr/bin/vendor_perl/sa-compile
You will want to run this periodically, the best way to do so is by setting up a systemd timer.
Create the following service, which will run these commands:
/etc/systemd/system/spamassassin-update.service
[Unit] Description=spamassassin housekeeping stuff After=network.target [Service] User=spamd Group=spamd Type=oneshot ExecStart=/usr/bin/vendor_perl/sa-update SuccessExitStatus=1 ExecStart=/usr/bin/vendor_perl/sa-compile ExecStart=!/usr/bin/systemctl -q —no-block try-restart spamassassin.service # uncomment the following ExecStart line to train SA’s bayes filter # and specify the path to the mailbox that contains spam email(s) #ExecStart=/usr/bin/vendor_perl/sa-learn —spam
Then create the timer, which will execute the previous service daily:
/etc/systemd/system/spamassassin-update.timer
[Unit] Description=spamassassin house keeping [Timer] OnCalendar=daily Persistent=true [Install] WantedBy=timers.target
Now you can start and enable spamassassin-update.timer .
Set maximum size for scanning
The default maximum size for scanning is 500 KB (see spamc(1p) ). You can modify it: create the spamc configuration file. For example :
/etc/mail/spamassassin/spamc.conf
# spamc global configuration file # max message size for scanning = 1Mo -s 1000000
Using a SQL database
SpamAssassin can load user preferences, Bayesian filter data and auto-whitelist from a SQL database. This is specially helpful for a virtual user mail setup, where users do not have a $HOME/.spamassassin directory with their SpamAssassin data.
Note: Since TxRep plugin is a newer and enhanced replacement for Auto-Welcomelist and Auto-Whitelist, this is the covered implementation in this article
MySQL
Install perl-dbd-mysql . Then, create the database:
CREATE DATABASE ; GRANT ALL ON .* TO ''@'localhost' IDENTIFIED BY '';
Git-clone SpamAssassin’s source. Under the sql/ directory you will find the required files to create the database tables. Note that TYPE has been replaced by ENGINE in recent MySQL versions, so replace it accordingly in the used .sql files if needed.
Create the tables for user preferences, Bayesian filter data and TxRep, respectively:
TxRep is optional, so skip it if you’re not using it. In case you want to use it but haven’t configured it yet, please refer to Mail::SpamAssassin::Plugin::TxRep(3)
Make sure to have the following your configuration file:
/etc/mail/spamassassin/local.cf
## MySQL database setup # User scores user_scores_dsn DBI:mysql::localhost user_scores_sql_username user_scores_sql_password # Bayesian filter bayes_store_module Mail::SpamAssassin::BayesStore::MySQL bayes_sql_dsn DBI:mysql::localhost bayes_sql_username bayes_sql_password # TxRep plugin txrep_factory Mail::SpamAssassin::SQLBasedAddrList user_awl_dsn DBI:mysql::localhost user_awl_sql_username user_awl_sql_password
Plugins
ClamAV
Install and setup clamd as described in ClamAV.
Follow one of the above instructions to call SpamAssassin from within your mail system.
Install the perl-cpanplus-dist-arch package. Then install the ClamAV perl library as follows:
# /usr/bin/vendor_perl/cpanp -i File::Scan::ClamAV
Add the 2 files from https://wiki.apache.org/spamassassin/ClamAVPlugin into /etc/mail/spamassassin/ . Edit /etc/mail/spamassassin/clamav.pm and update $CLAMD_SOCK to point to your Clamd socket location (default is /run/clamav/clamd.ctl ).
Razor
Vipul’s Razor is a distributed, collaborative, spam detection and filtering network.
Make sure you have installed SpamAssassin first, then:
# mkdir /etc/mail/spamassassin/razor # chown spamd:spamd /etc/mail/spamassassin/razor # sudo -u spamd -s $ cd /etc/mail/spamassassin/razor $ razor-admin -home=/etc/mail/spamassassin/razor -register $ razor-admin -home=/etc/mail/spamassassin/razor -create $ razor-admin -home=/etc/mail/spamassassin/razor -discover
To tell SpamAssassin about Razor, add the following line to /etc/mail/spamassassin/local.cf :
razor_config /etc/mail/spamassassin/razor/razor-agent.conf
To tell Razor about itself, add the following line to /etc/mail/spamassassin/razor/razor-agent.conf :
razorhome = /etc/mail/spamassassin/razor/
Tips and tricks
Maintaining TxRep SQL table
It is recommended to keep TxRep SQL table clear of stale data, for performance and storage reasons. Here is a sample query that can be run on a regular schedule:
DELETE FROM txrep WHERE last_hitHow To Install spamassassin on Debian 11
In this tutorial we learn how to install spamassassin on Debian 11.
What is spamassassin
SpamAssassin is a very powerful and fully configurable spam filter with numerous features including automatic white-listing, RBL testing, Bayesian analysis, header and body text analysis. It is designed to be called from a user’s .procmail or .forward file, but can also be integrated into a Mail Transport Agent (MTA). . Included in this package is a daemonized form of spamassassin (spamd) which communicates with its client (spamc) via TCP, to reduce the overhead of loading perl with each message. To take advantage of this, you must install the spamc package.
There are three ways to install spamassassin on Debian 11. We can use apt-get , apt and aptitude . In the following sections we will describe each method. You can choose one of them.
Install spamassassin Using apt-get
Update apt database with apt-get using the following command.
After updating apt database, We can install spamassassin using apt-get by running the following command:
sudo apt-get -y install spamassassin
Install spamassassin Using apt
Update apt database with apt using the following command.
After updating apt database, We can install spamassassin using apt by running the following command:
sudo apt -y install spamassassin
Install spamassassin Using aptitude
If you want to follow this method, you might need to install aptitude first since aptitude is usually not installed by default on Debian. Update apt database with aptitude using the following command.
After updating apt database, We can install spamassassin using aptitude by running the following command:
sudo aptitude -y install spamassassin
How To Uninstall spamassassin on Debian 11
To uninstall only the spamassassin package we can use the following command:
sudo apt-get remove spamassassin
Uninstall spamassassin And Its Dependencies
To uninstall spamassassin and its dependencies that are no longer needed by Debian 11, we can use the command below:
sudo apt-get -y autoremove spamassassin
Remove spamassassin Configurations and Data
To remove spamassassin configuration and data from Debian 11 we can use the following command:
sudo apt-get -y purge spamassassin
Remove spamassassin configuration, data, and all of its dependencies
We can use the following command to remove spamassassin configurations, data and all of its dependencies, we can use the following command:
sudo apt-get -y autoremove --purge spamassassin
References
Summary
In this tutorial we learn how to install spamassassin on Debian 11 using different package management tools like apt, apt-get and aptitude.