Clamav+Dovecot+Exim: различия между версиями
Igor (обсуждение | вклад) |
Igor (обсуждение | вклад) |
||
| (не показано 11 промежуточных версий этого же участника) | |||
| Строка 19: | Строка 19: | ||
Установка из пакета: | Установка из пакета: | ||
# pkg install clamav | # pkg install clamav | ||
== Установка Dovecot == | == Установка Dovecot == | ||
Установка из пакета: | Установка из пакета: | ||
# pkg install | # pkg install dovecot_mysql | ||
Установка автозапуска Dovecot в /etc/rc.conf: | Установка автозапуска Dovecot в /etc/rc.conf: | ||
| Строка 106: | Строка 35: | ||
Пример настроек в /usr/local/etc/dovecot/dovecot.conf: | Пример настроек в /usr/local/etc/dovecot/dovecot.conf: | ||
# Использование | # Использование протоколов IMAP и LMTP: | ||
protocols = imap | 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: | ||
| Строка 115: | Строка 48: | ||
driver = mysql | driver = mysql | ||
# Строка подключения к базе данных Postfix Admin | # Строка подключения к базе данных Postfix Admin | ||
connect = host=192.168.0.103 dbname=mailadmin user=mailadmin password= | connect = host=192.168.0.103 dbname=mailadmin user=mailadmin password=<пароль к БД> | ||
# Хранение паролей пользователей почты в базе данных Postfix Admin в открытом виде (это небезопасный способ, но можно оставить по умолчанию MD5): | # Хранение паролей пользователей почты в базе данных Postfix Admin в открытом виде (это небезопасный способ, но можно оставить по умолчанию MD5): | ||
default_pass_scheme = PLAIN | 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' | 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: | Пример настроек аутентификации в /usr/local/etc/dovecot/conf.d/10-auth.conf: | ||
Отключение параметра аутентификации, требующего наличия системной учётной записи у пользователей электронной почты. | |||
#!include auth-system.conf.ext | |||
Включение параметра аутентификации виртуальных пользователей с помощью базы данных из SQL (например, из базы данных Postfix Admin). | |||
!include auth-sql.conf.ext | !include auth-sql.conf.ext | ||
| Строка 134: | Строка 72: | ||
Настройки в файле /usr/local/etc/dovecot/conf.d/10-mail.conf: | Настройки в файле /usr/local/etc/dovecot/conf.d/10-mail.conf: | ||
# Размещение почты в корневой папке /var/spool/dovecot в формате <домен>/<имя ящика> | # Размещение почты в корневой папке /var/spool/dovecot в формате <домен>/<имя ящика> | ||
mail_location = maildir:/var/spool/dovecot/%d/% | mail_location = maildir:/var/spool/dovecot/%d/%u | ||
== Установка mail/exim == | == Установка mail/exim == | ||
| Строка 145: | Строка 83: | ||
Установка из пакета: | Установка из пакета: | ||
# pkg install exim | # pkg install exim-mysql | ||
Установка автозапуска Exim в /etc/rc.conf: | Установка автозапуска Exim в /etc/rc.conf: | ||
Текущая версия от 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