Clamav+Dovecot+Exim: различия между версиями
Igor (обсуждение | вклад) |
Igor (обсуждение | вклад) |
||
| (не показаны 34 промежуточные версии этого же участника) | |||
| Строка 19: | Строка 19: | ||
Установка из пакета: | Установка из пакета: | ||
# pkg install clamav | # 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: | |||
# 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=<пароль к БД> | ||
# Хранение паролей пользователей почты в базе данных 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-system.conf.ext | ||
== | Включение параметра аутентификации виртуальных пользователей с помощью базы данных из SQL (например, из базы данных Postfix Admin). | ||
!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/%u | |||
== Установка mail/exim | == Установка mail/exim == | ||
Exim - агент отправки почты для систем Unix. | Exim - агент отправки почты для систем Unix. | ||
| Строка 128: | Строка 87: | ||
Установка автозапуска Exim в /etc/rc.conf: | Установка автозапуска Exim в /etc/rc.conf: | ||
# sysrc exim_enable="YES" | # 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 | |||
Текущая версия от 20:51, 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:
# 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=<пароль к БД>
# Хранение паролей пользователей почты в базе данных 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-system.conf.ext
Включение параметра аутентификации виртуальных пользователей с помощью базы данных из SQL (например, из базы данных Postfix Admin).
!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/%u
Установка 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