Настройка exim centos 8
Устанавливаем антивирус clamAV
yum -y install clamav clamd
обновляем базы
freshclam -v
прописываем в запуск
chkconfig clamd --level 35 on
делаем бекап конифга
mv -v /etc/clamd.conf /etc/clamd.conf.bak
и настраиваем антивирус
существует большое количество статей на тему настройки clamAV и Spamassassin, поэтому на их настройках особо останавливаться не будем.
Переходим к установке exim
yum install exim exim-mysql.x86_64 -y
и устанавливаем все необходимые пакеты для его дальнейшей пересборки- сборки
yum install pcre-devel.i686 pcre-devel.x86_64 libXt-devel.x86_64 libXt-devel.i686 libXaw-devel.i686 libXaw-devel.x86_64 firebird-devel.i686 firebird-devel.x86_64 mysql-devel.i686 mysql-devel.x86_64 pcre.x86_64 pcre.i686 pcre-static.x86_64 sqlite-devel.i686 sqlite-devel.x86_64 -y
Добавляем пользователей в групп exim
usermod -a -G exim apache
usermod -a -G exim clam
теперь создаем дерево каталогов в которое будет установлен exim
mkdir -v /opt/exim/tmp
mkdir -v /opt/exim/var/
mkdir -v /opt/exim/var/spool/
mkdir -v /opt/exim/var/spool/exim
даем права
chown exim:exim -R /opt/exim/
добавляем службу в запуск
cp -v /etc/init.d/exim /etc/init.d/exim.bak
сhmod 600 /etc/init.d/exim.bak
добваляем возможность запуска exim в режиме отладки
debug() stop
echo $"Starting exim in debug mode: "
bash -c "/opt/exim/bin/exim -bd -q15m -d+all > /opt/exim/tmp/debug.log 2>&1 &"
>
добавляем в exim
chkconfig exim --level 35 on
настраиваем конфиг exim
h ide mysql_servers = localhost/contrspam/ MYMEGAUSER / MYMEGAPASS
где MYGAUSER и MYMEGAPASS это логин и пароль к бд contrspam
MYSQL_Q_RDOMAINS = SELECT domain FROM tb_domains WHERE domain='$domain';
MYSQL_Q_WHITELIST = SELECT DISTINCT email FROM tb_emails LEFT JOIN tb_domains ON tb_emails.domain_id = tb_domains.id WHERE type = 'white' AND domain = '$' AND ( email = '$' OR email = '*@$' );
MYSQL_Q_BLACKLIST = SELECT DISTINCT email FROM tb_emails LEFT JOIN tb_domains ON tb_emails.domain_id = tb_domains.id WHERE type = 'black' AND domain = '$' AND ( email = '$' OR email = '*@$' );
MYSQL_Q_DOMAIN = SELECT * FROM tb_domains WHERE domain='$domain';
domainlist local_domains = @
domainlist relay_to_domains = mysql;MYSQL_Q_RDOMAINS
hostlist relay_from_hosts = EXTERNIP :127.0.0.1
я выложил только настройки для exim необходимые для работы с grey листом
теперь надо развернуть сами базы данных, для этого конечно необходимо создать базу данных
Как только истекает интервал N мин. вновь полученное письмо отправляют на проверку на спам и вирусы.
Если что то не заработало, то внимательно читаем /opt/exim/tmp/debug.log
Все замечательно, но добавлять через консоль или phpMyadmin новые домены и листы доступа для этих доменов очень не удобно.
Для этого за основу был взят движок FreePbx и на его основе был разработан свой, под который были написаны модули для работы с exim.
Распаковываем движок engine-v1.tar.gz в нужную директорию, в нашем случае /var/www/
путь к сайту указывается в системных переменных в базе данных exim в таблице settings
BIN=/var/www/html/bin
WEBROOT=/var/www/html
создаем базу данных с именем exim и в нее разворачиваем БД
mysql -u root -p exim < exim.sql
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Fail2Ban защищает ваш VPS, блокируя IP-адреса атакущих, с которых предпринимаются попытки войти на ваш VPS. Fail2Ban сканирует лог-файлы, чтобы определить, какие IP-адреса выполняют атаки методом брутфорса, и блокирует их.
В этой статье я расскажу как установить и настроить Fail2Ban на CentOS 7 и на CentOS 8. У каждой версии CentOS свои нюансы. Fail2Ban защищает ваш VPS, блокируя IP-адреса атакущих, с которых предпринимаются попытки войти на ваш VPS. Fail2Ban сканирует лог-файлы, чтобы определить, какие IP-адреса выполняют атаки методом брутфорса, и блокирует их.
В этой статье я расскажу как установить и настроить Fail2Ban на CentOS 7 и на CentOS 8. У каждой версии CentOS свои нюансы.
CentOS 7
Fail2ban не включен в официальный репозиторий пакетов CentOS. Он включен в дополнительные пакеты для Enterprise Linux (EPEL). Поэтому сначала установите последнюю версию EPEL.Теперь установим Fail2BanИ запустим его
CentOS 8
Fail2ban не включен в официальный репозиторий пакетов CentOS. Он включен в дополнительные пакеты для Enterprise Linux (EPEL). Поэтому сначала установите последнюю версию EPEL.Теперь установим Fail2BanИ запустим его По умолчанию Fail2ban использует /etc/fail2ban/jail.conf, но он может быть перезаписан обновлениями Fail2Ban. Поэтому будем редактировать jail.local. Кроме того, jail.local имеет приоритет над jail.conf. Используйте только те части конфигурации, которые относятся к вашему VPS! Если вы не используете Exim, не добавляйте эту часть. То же самое относится и к части Postfix.
Создадим и отредактируем файл jail.localДобавьте следующий код и настройте значения в соответствии со своими потребностями. Объяснение параметров будет ниже.
Измените данные строк sender, destmail и igroreip на свои и используйте только те программы, которые вы используете на своем VPS (например, Exim или Postfix, но не обе). Вы можете проверить, какую из них вы используете на своем VPS, с помощью команды systemctl status exim / postfix.
Объяснение зачений этих строк
Fail2Ban использует так называемые "тюрьмы". Тюрьму можно рассматривать как конфигурацию определенной части программного обеспечения на вашем VPS, в которой вы определяете такие вещи, как используемый сервис и порт, и какой файл журнала сканируется Fail2Ban.
Проблема, с которой я столкнулся при настройке jail.local на CentOS 8 заключалась в ошибке
Соответственно сервис Fail2Ban не запускался. Как оказалось, надо установить недостающий компонент.
Сначала установим EPEL репозиторий, если еще не установлен
И поищем вхождения
И находим нужный нам пакет fail2ban-sendmail.noarch : Sendmail actions for Fail2Ban.
Давайте посмотрим описание этого пакета
И видим в описании, что: This package installs Fail2Ban's sendmail actions. This is the default mail actions for Fail2Ban.
Устанавливаем пакет и переходим на следующий шаг "Создадим и отредактируем файл jail.local"
Создадим и отредактируем файл jail.local
Добавьте следующий код и настройте значения в соответствии со своими потребностями. Объяснение параметров будет ниже.
Измените данные строк sender, destmail и igroreip на свои и используйте только те программы, которые вы используете на своем VPS (например, Exim или Postfix, но не обе). Вы можете проверить, какую из них вы используете на своем VPS, с помощью команды systemctl status exim / postfix.
В данной статье мы установим и настроим почтовый сервер с использованием Exim и Dovecot на CentOS 7.5 VPS с использованием веб интерфейса Roundcube.
Для этого мы используем VPS на базе CentOS; с предварительно установленной с минимальной CentOS 7.5
Что такое Exim?
Exim - это агент пересылки почты (MTA), который обычно используется в Unix-подобных операционных системах. Exim - это бесплатное программное обеспечение, которое распространяется в соответствии с условиями GNU (General Public License), является универсальным и гибким почтовым средством с обширными возможностями для проверки входящей электронной почты.
Что такое Dovecot?
Dovecot - это почтовый сервер с открытым исходным кодом IMAP и POP3 для Linux / UNIX-подобных систем. Безопасность стала краеугольным камнем в создании данного продукта нацеленного на гибкость и быстродействие.
Dovecot - это прекрасный выбор как для небольших, так и для крупных почтовых систем.
Что такое Roundcube?
Roundcube — веб-интерфейс для работы с электронной почтой, предоставляет возможность работать с вашими почтовыми ящиками используя IMAP и SMTP. Приложение обладает мощным функционалом и по возможностям сравнимо с настольными почтовыми клиентами, такими как Outlook Express или Mozilla Thunderbird
Подготовка и настройка
Подключим дополнительный репозиторий EPEL.
Для чего выполним:
Exim установка и настройка
Теперь мы откроем файл /etc/exim/exim.conf, используя ваш любимый редактор,предварительно создав его резервную копию и приведем его к следующему виду:
Обратим внимание на строки tls_certificate и tls_privatekey, мы будем использовать сертификат SSL, Вы можете заказать его на нашем сайте и найти необходимые файлы в Личном кабинете.
Далее перейдем к разделу транспорт и приведем к виду:
local_delivery:
driver = appendfile
directory = $home/Maildir
maildir_format
maildir_use_size_file
delivery_date_add
envelope_to_add
return_path_add
Далее в разделе аутентификации добавим несколько строк:
dovecot_login:
driver = dovecot
public_name = LOGIN
server_socket = /var/run/dovecot/auth-client
server_set_id = $auth1
dovecot_plain:
driver = dovecot
public_name = PLAIN
server_socket = /var/run/dovecot/auth-client
server_set_id = $auth1
Запустим exim, и добавим его в автозагрузку системы используя systemctl:
Настройка Dovecot
Запустим dovecot, и добавим его в автозагрузку системы используя systemctl.
Roudcube
Alias /roundcube /usr/share/roundcubemail
Alias /webmail /usr/share/roundcubemail
Options none
AllowOverride Limit
Require all granted
Options none
AllowOverride Limit
Require all granted
Установка выполняется на:
Создаём базу для доменов и почтовых ящиков:
Создаём пользователя и даём доступ к этой базе:
Устанавливаем всё необходимое для Postfixadmin:
Установка Posfixadmin
В файле config.inc.php настраиваем доступ к созданной базе:
Установка ClamAV
Требуется репозиторий Epel или RPMForge:
Установка Exim и Dovecot
Наcтройка Dovecot
Получаем UID пользователя exim (от него у нас будут работать и ClamAV, и Dovecot и сам Exim):
Запускаем и проверяем:
Запустился, пока без ошибок.
Настройка Exim
Создаём новый /etc/exim/exim.conf :
Проверяем синтаксис конфига:
Ошибка будет выглядеть так (оставим незакрытую скобку < для примера):
Устанавливаем права доступа:
Отключаем и удаляем Postfix:
Добавляем в автозагрузку Exim:
Настройка Postfixadmin
Создаём файлы логов:
Создаём директорию для php -обработчика:
Обязательно проверяем права:
Создаём конфиг для NGINX:
Добавляем новый домен:
Проверяем лог /var/log/exim/main.log :
Письмо есть, всё работает.
Настраиваем IPTABLES:
Подключаемся внешним почтовым клиентом, проверяем лог /var/log/maillog :
Заодно, можно увидеть работу dnsblacklist :
Проверим с помощью telnet , для большей наглядности:
На сервере проверяем:
Позже надо будет добавить Greylisting, Spamassassin и поддержку шифрования по TLS.
Exim debugging
Несколько команд для проверки работы Exim.
Проверить отправку можно так:
Проверить работу антивируса:
Посмотреть количество писем в очереди на отправку:
Посмотреть саму очередь:
Узнать, чем занят Exim в настоящий момент:
Проверить маршрут отправки письма:
Сымитировать SMTP-активность с заданного адреса, с отображением задействованных фильтров и т.п.:
Вывести все опции Exim из файлов конфигурации (активные/неактивные):
Читайте также: