Clamav+Dovecot+Exim: различия между версиями

Материал из BSD Howto
Перейти к навигации Перейти к поиску
Строка 35: Строка 35:


Пример настроек в /usr/local/etc/dovecot/dovecot.conf:
Пример настроек в /usr/local/etc/dovecot/dovecot.conf:
  # Использование протокола IMAP:
  # Использование протоколов IMAP и LMTP:
  protocols = imap lmtp
  protocols = imap lmtp
  # Использование всех IPv4 данного хоста (можно указать необходимые IP-адреса):
  # Использование всех IPv4 данного хоста (можно указать необходимые IP-адреса):
  listen = *
  listen = *
Проверка протокола LMTP:
# sockstat -l | grep lmtp
root    dovecot    45657 25  stream /var/run/dovecot/lmtp


Пример настроек в /usr/local/etc/dovecot/dovecot-sql.conf.ext:
Пример настроек в /usr/local/etc/dovecot/dovecot-sql.conf.ext:

Версия от 20:32, 5 декабря 2025

Подготовка клетки для Clamav+Dovecot+Exim

Перед использованием этой статьи рекомендуется пройти по ссылке Qjail.

Создание отдельной файловой системы для клетки с Clamav+Dovecot+Exim в ZFS::

# zfs create zroot/usr/jails/mail

Создание клетки c именем "mail" и IPv4-адресом "192.168.0.105", запуск и управление клеткой:

# qjail create -4 192.168.0.105 mail
# qjail start mail
# qjail console mail

Установка security/clamav

Clam Antivirus - антивирусный сканер, который можно использовать для почтовых систем.

Подробная информация на сайте https://www.clamav.net/

Установка из пакета:

# pkg install clamav

Установка Dovecot

Установка из пакета:

# pkg install dovecot_mysql

Установка автозапуска Dovecot в /etc/rc.conf:

# sysrc dovecot_enable="YES"
dovecot_enable:  -> YES

Настройка Dovecot

Копирование файлов настроек:

# cp -Rpv /usr/local/etc/dovecot/example-config/* /usr/local/etc/dovecot

Пример настроек в /usr/local/etc/dovecot/dovecot.conf:

# Использование протоколов IMAP и LMTP:
protocols = imap lmtp
# Использование всех IPv4 данного хоста (можно указать необходимые IP-адреса):
listen = *

Проверка протокола LMTP:

  1. sockstat -l | grep lmtp

root dovecot 45657 25 stream /var/run/dovecot/lmtp

Пример настроек в /usr/local/etc/dovecot/dovecot-sql.conf.ext:

# Использование СУБД MySQL
driver = mysql
# Строка подключения к базе данных Postfix Admin
connect = host=192.168.0.103 dbname=mailadmin user=mailadmin password=12345678
# Хранение паролей пользователей почты в базе данных Postfix Admin в открытом виде (это небезопасный способ, но можно оставить по умолчанию MD5):
default_pass_scheme = PLAIN
# Запрос к базе данных Postfix Admin для получения информации о пользователе, например, о расположении почтового ящика:
user_query = select concat('/var/spool/dovecot/', maildir) as home, 143 as uid, 143 as gid from mailbox where username = '%n@%d' and active='1'
# Запрос к базе данных Postfix Admin для получения пароля пользователя почтового ящика:
password_query = select username as user, password from mailbox where username = '%n@%d' and active = '1'

Пример настроек аутентификации в /usr/local/etc/dovecot/conf.d/10-auth.conf:

!include auth-sql.conf.ext

Пример настроек файлов журналов в /usr/local/etc/dovecot/conf.d/10-logging.conf:

# Определение расположения файлов журналов
log_path = /var/log/dovecot.log
# Включение регистрации неудачных попыток аутентификации и причин их неудач
auth_verbose = yes

Настройки в файле /usr/local/etc/dovecot/conf.d/10-mail.conf:

# Размещение почты в корневой папке /var/spool/dovecot в формате <домен>/<имя ящика>
mail_location = maildir:/var/spool/dovecot/%d/%n

Установка mail/exim

Exim - агент отправки почты для систем Unix.

Подробная информация на сайте http://www.exim.org/

Перед использованием этой статьи рекомендуется пройти по ссылке PKG.

Установка из пакета:

# pkg install exim-mysql

Установка автозапуска Exim в /etc/rc.conf:

# sysrc exim_enable="YES"
exim_enable:  -> YES

Расшифровка вывода установки mail/exim

Настройка ротации файлов журнала Exim добавлением строк в файл /etc/newslog.conf:

/var/log/exim/mainlog   mailnull:mail 640 7 * @T00 ZN
/var/log/exim/rejectlog mailnull:mail 640 7 * @T00 ZN

Настройка mail/exim

Настройки Exim устанавливаются в файле /usr/local/etc/exim/configure:

Определение списка локальных доменов, обслуживаемых сервером (использование "@" разрешает локальные доставки):

domainlist local_domains = @ : ${lookup mysql{select domain from domain where domain='${domain}' and active='1'}}

Определение списка хостов, которые могут использовать сервер для пересылки исходящей почты (это обычно относится ко всей локальной сети, а также к самому серверу):

hostlist   relay_from_hosts = localhost : 192.168.0.0/24