Rspamd - это мощная система фильтрации спама для почтовых серверов. Она написана на языке C и отличается высокой производительностью. Она хорошо настраивается и позволяет использовать различные стратегии борьбы со спамом. Вы можете оценивать каждое сообщение с помощью регулярных выражений, статистического анализа и черных списков. В этой статье мы рассмотрим, как установить Rspamd в Ubuntu.
Как установить Rspamd в Ubuntu
Ниже описаны шаги по установке Rspamd в Ubuntu.
1. Установка Redis
Для работы Rspamd требуется система хранения и кэширования данных. Мы будем использовать Redis для этой цели. Откройте терминал и выполните следующую команду для установки Redis.
1 | sudo apt install redis-server |
2. Установка Unbound
Нам также понадобится Unbound, безопасный DNS-резольвер. Он уменьшает количество внешних DNS-запросов и повышает производительность. При желании этот шаг можно пропустить.
Выполните следующие команды для установки Unbound.
1 | sudo apt update |
1 | sudo apt install unbound |
Настроек Unbound по умолчанию достаточно для конфигурации Rspamd. Выполните следующие команды, чтобы установить его в качестве DNS-резольвера по умолчанию.
1 | sudo echo "nameserver 127.0.0.1" >> /etc/resolv.conf |
3. Установка Rspamd
Теперь мы установим Rspamd. Сначала мы установим необходимые пакеты.
1 2 | sudo apt install software-properties-common lsb-release sudo apt install lsb-release wget |
Далее добавим ключ GPG репозитория в список источников в нашей системе.
1 | wget -O- https://rspamd.com/apt-stable/gpg.key | sudo apt-key add - |
Включите репозиторий Rspamd с помощью следующей команды.
1 | echo "deb http://rspamd.com/apt-stable/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/rspamd.list |
После включения репозитория мы установим rpamd с помощью следующей команды.
1 | sudo apt update |
1 | sudo apt install rspamd |
4. Настройка Rspamd
Мы создадим конфигурационный файл для Rspamd в /etc/rspamd/local.d/local.d/, который перезапишет конфигурацию по умолчанию.
Выполните следующую команду, чтобы создать файл конфигурации для обычного рабочего.
1 | sudo nano /etc/rspamd/local.d/worker-normal.inc |
Добавьте следующую строку, чтобы убедиться, что Rspamd прослушивает только локальный порт 11333. По умолчанию он также прослушивает порт 11333 на всех интерфейсах.
1 | bind_socket = "127.0.0.1:11333"; |
Сохраните и закройте файл. Далее создайте конфигурационный файл для рабочего прокси, который слушает порт 11332.
1 | sudo nano /etc/rspamd/local.d/worker-proxy.inc |
Добавьте следующие строки, чтобы включить протокол milter и позволить другим инструментам, таким как Postfix, взаимодействовать с ним.
1 2 3 4 5 6 7 | bind_socket = "127.0.0.1:11332"; milter = yes; timeout = 120s; upstream "local" { default = yes; self_scan = yes; } |
Сохраните и закройте файл. Далее мы установим пароль для рабочего контроллера с помощью следующей команды. Замените password_here на пароль по вашему выбору.
1 | rspamadm pw --encrypt -p [password_here] |
Замените [password_here] на вам пароль
Вы увидите результат, похожий на следующий
Скопируйте его.
Создайте новый файл следующей командой для рабочего контроллера.
1 | sudo nano /etc/rspamd/local.d/worker-controller.inc |
Добавьте в него следующую строку.
1 | password = "$2$saoqq13mwxiojnbeuzwjx1qcrsx8hmr7$1bynnnb5txoyawm8pi8jpf7erzaoiwojo7gx5t7m4uwp9hkszxdb"; |
Сохраните и закройте файл. Далее мы настроим Rspamd для работы с Redis. Откройте файл classifier-bayes.conf.
1 | sudo nano /etc/rspamd/local.d/classifier-bayes.conf |
Добавьте следующую строку.
1 2 | servers = "127.0.0.1"; backend = "redis"; |
Сохраните и закройте файл. Далее откройте файл milter_headers.conf.
1 | sudo nano /etc/rspamd/local.d/milter_headers.conf |
Добавьте следующую строку.
1 | use = ["x-spamd-bar", "x-spam-level", "authentication-results"]; |
Сохраните и закройте файл. Выполните следующую команду для перезапуска сервера Rspamd.
1 | sudo systemctl restart rspamd |
5. Настройка веб-интерфейса
Наконец, мы настроим веб-интерфейс для Rspamd, который позволит вам видеть подробную статистику о его работе. Для этого вам понадобится веб-сервер. Мы будем использовать NGINX для этой цели. Выполните следующую команду для установки NGINX.
1 | sudo apt install nginx |
Откройте его конфигурационный файл в текстовом редакторе или создайте новый, как показано ниже
1 | nano /etc/nginx/sites-enabled/example.conf |
Добавьте в него следующие строки.
1 2 3 4 5 6 7 8 9 10 | server { listen 80; location /{ proxy_pass http://127.0.0.1:11334/; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } |
Сохраните и закройте файл. Перезапустите NGINX, чтобы применить изменения.
1 | sudo systemctl reload nginx |
Теперь, если вы откроете браузер и перейдете по адресу https://[IP]/, вы увидите экран аутентификации, который запросит ваш пароль. Введите пароль, сохраненный в шаге 4, чтобы перейти к веб-интерфейсу Rspamd.
После ввода пароля, нам доступен интерфейс управления и мониторинга Rspamd
Заключение
Вот и все. В этой статье мы узнали, как установить и настроить Rspamd в Ubuntu. Вы можете изменить приведенную выше конфигурацию в соответствии с вашими требованиями. Вы также можете интегрировать Rspamd с другими программами, такими как Postfix