Уважаемые пользователи!
С 17 августа 2025 года КLMS 10 переведен в статус ограниченной поддержки. «Лаборатория Касперского» рекомендует перейти на решение Kaspersky Secure Mail Gateway 3.0. Воспользуйтесь пошаговой инструкцией по экспорту параметров и настройке.
Настройка почтового сервера Exim
02 апреля 2025
ID 273150
В этом разделе представлена инструкция по настройке почтового сервера на базе MTA Exim. Почтовый сервер будет предоставлять следующие возможности:
- пересылка почты для/от обслуживаемых доменов;
- проверка существующих получателей;
- использование TLS-шифрования при установке соединений;
- DKIM-подпись исходящих сообщений и проверка подписи входящих сообщений;
- отправка исходящей почты через пограничный шлюз;
- настройка времени нахождения сообщения в очереди;
- отправка скрытой копии всех сообщений на определенный адрес.
Предполагается, что почтовый сервер будет использоваться в роли пограничного почтового шлюза и будет принимать почту из сети Интернет, проверять и направлять её на внутренний почтовый сервер в DMZ, а также обеспечивать доставку почты от внутренних отправителей по обратному маршруту.
Для настройки почтового сервера вам понадобится следующая информация:
- имена обслуживаемых доменов;
- роли узлов в почтовой схеме;
- IP-адреса и имена узлов, используемых в схеме.
Настройку почтового сервера необходимо выполнять с правами учетной записи root.
Чтобы настроить почтовый сервер Exim:
- Запустите мастер настройки почтового сервера Exim с помощью команды:
dpkg-reconfigure exim4-configДалее мастер настройки по шагам запрашивает информацию для настройки почтового сервера.
- Для параметра General type of mail configuration выберите значение
internet site. - Для параметра System mail name укажите полное доменное имя (FQDN) сервера, например
klms-10.home.lab. Это значение будет далее использоваться в командах в качестве примера. - Для параметра IP-addresses to listen on for incoming SMTP connections укажите значение
0.0.0.0. - Для параметра Other destinations for which mail is accepted значение оставьте пустым. Если значение уже указано, удалите его.
- Для параметра Domains to relay mail for укажите перечень почтовых доменов организации, разделенных точкой с запятой.
Для этих доменов почта будет приниматься извне и пересылаться на внутренние почтовые серверы.
- Для параметра Machines to relay mail for укажите перечень доверенных локальных сетей в формате <
сеть>/<префикс>. В качестве разделителя используйте точку с запятой.С доверенных локальных сетей почтовый шлюз будет принимать почту для доставки на внешние почтовые домены.
- Для параметра Keep number of DNS-queries minimal выберите значение
No. - Для параметра Delivery method for local mail выберите значение
Maildir format in /var/mail. - Для параметра Split configuration into small files выберите значение
No.Указанные параметры почтового сервера Exim будут записаны в файлы /etc/mailname и /etc/exim4/update-exim4.conf.conf.
- Выполните дополнительную настройку веб-сервера Exim. Для этого создайте файл /etc/exim4/exim4.conf.localmacros следующего содержания:
#BASIC MTA SETTINGSprimary_hostname=<имя домена или хоста>#Ограничение размера сообщенийMESSAGE_SIZE_LIMIT=300M#Отключение IPv6disable_ipv6=true#ADVANCED MTA SETTINGS#Изменение SMTP-приветствияsmtp_banner = $smtp_active_hostname ESMTP MTA#Maximum simultaneous connection attemptssmtp_accept_max_per_host=50#Maximum SMTP session lengthsmtp_receive_timeout=30ssmtp_accept_max=256smtp_accept_queue_per_connection=100#TLS SETTINGS#Включение TLS-шифрованияMAIN_TLS_ENABLE=yestls_require_ciphers = "SECURE192:+SECURE256:-VERS-ALL:+VERS-TLS1.2:+VERS-TLS1.3" - Сохраните изменения в файле.
- Укажите маршрут к локальным доменам. Для этого создайте файл /etc/exim4/hubbed_hosts. Файл предназначен для хранения списка записей, которые используются для переопределения адреса доставки или дополнения информации MX-записей из DNS.
Файл должен содержать пары "ключ-значение" шаблона домена и данные маршрута в следующем формате:
domain: host-list options. Например:home.lab: exchange.home.lab.Список поддерживает следующие виды записей:
- Для переопределения маршрута:
dict.ref.example: mail-1.ref.example:mail-2.ref.example - Для поиска по доменному имени из MX записи (необходимо наличие А-записи в DNS зоне):
foo.example: internal.mail.example.com - Для поиска по IP-адресу:
bar.example: 192.168.183.3
- Для переопределения маршрута:
- Сохраните изменения в файле.
- Для использования TLS-шифрования при установке соединений с хостами сгенерируйте самоподписанный сертификат с помощью команды:
/usr/share/doc/exim4-base/examples/exim-gencertВ директории /etc/exim4/ появятся файлы exim.crt и exim.key.
Пример:
Country Code (2 letters) [US]:RU
State or Province Name (full name) []:Moscow
Locality Name (eg, city) []:Moscow
Organization Name (eg, company; recommended) []:Home.lab
Organizational Unit Name (eg, section) []:IT
Server name (eg. ssl.domain.tld; required!!!) []:klms-10.home.lab
Email Address []:administrator@home.lab
- Настройте DKIM-подпись. Для этого выполните следующие действия:
- Создайте директорию, в которой будет храниться приватный ключ, с помощью команды:
mkdir /etc/exim4/dkim - Перейдите в папку /etc/exim4/dkim и сгенерируйте приватный ключ
<имя домена>.keyс помощью команд:cd /etc/exim4/dkimopenssl genrsa -out home.lab.key 2048 - Из полученного приватного ключа сгенерируйте публичный ключ, который будет использоваться в TXT-записи DNS:
openssl rsa -pubout -in home.lab.key -out home.lab.pub - Сделайте пользователя Debian-exim, от имени которого запускается Exim, владельцем директории /etc/exim4/dkim и всех файлов внутри:
chown -R Debian-exim:Debian-exim /etc/exim4/dkim - Измените параметры Exim, чтобы использовать созданный приватный ключ. Для этого откройте файл /etc/exim4/exim4.conf.localmacros и добавьте следующие строки:
DKIM_CANON = relaxedDKIM_DOMAIN = ${lc:$sender_address_domain}DKIM_PRIVATE_KEY = ${if exists{CONFDIR/dkim/${lc:$sender_address_domain}.key} {CONFDIR/dkim/$sender_address_domain.key} {0}}DKIM_SELECTOR = email - Сохраните изменения в файле и перезапустите Exim с помощью команды:
service exim4 restart - Вы можете проверить конфигурацию с помощью следующей команды:
exim -bP transports | grep dkim - Создайте в DNS-зоне домена запись типа TXT и укажите в записи публичный ключ в соответствующем формате. Для этого выполните следующие действия:
- В поле Имя укажите значение
email._domainkey.home.lab, гдеemail–это значение параметра DKIM_SELECTOR из пункта 16e. - В поле записи укажите следующую строку:
v=<версия DKIM>; h=<хеш-алгоритм sha1 или sha256>; k=<тип публичного ключа>; p=<содержимое публичного ключа /etc/exim4/dkim/home.lab.pub>Пример:
sel1._domainkey.test.example.com. IN TXT ( "v=DKIM1; k=rsa; s=email; "
"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqGgYtLwpVAFRDf+YfRK0aB5Qbne2xMAEye/aH4fLf7cOuOcWz/x5f33uxSpL8YwPgEXPoFogKWTFCqMUUBreHx1mbfgBn+uGYvlxJEXyFFmiMKHO0yTJntPrWxsCnF10ZSf5lBL/olqmgCTgkpBG11PcvCJq0bdEyWQ50avMCfg3zoean8CsiJUb91TWIy08T8HoW0huyQ3"
"W82jMhAYvO8FMgI1rbwaH7z3tlQxnGqc49+lRpz7T+p1Tl6Bs2iU8h2m1mIupIsNHF4Q+UtGNl9jaajhyz+NMmjLVTlaZvpbS3xODSBnZdpAXywUa4hfQsto1cHSAwEWsk90IQ/HHwIDAQAB" )
- Если нужно использовать более одного домена, вы можете добавить необходимые приватные DKIM-ключи для каждого домена в папку /etc/exim4/dkim (например, example.com.key, где example.com – имя домена).
Вы также можете перенести приватные DKIM-ключи доменов из Kaspersky Secure Mail Gateway 2.0 в папку /etc/exim4/dkim. Однако этот способ повышает риск утечки приватных ключей; подразумевается, что администратор берет ответственность на себя.
- В поле Имя укажите значение
- Создайте директорию, в которой будет храниться приватный ключ, с помощью команды:
- Если в Kaspersky Secure Mail Gateway в основных настройках MTA был выбран режим Отправлять через пограничный шлюз, вы можете настроить отправку почты через определенный хост. Для этого внесите следующие изменения в файл /etc/exim4/exim4.conf.template:
- В секции begin routers укажите:
home:driver = dnslookupdomains = nonhome.labtransport = remote_smtp_homeno_more - В секции begin transports укажите:
remote_smtp_home:driver = smtp - Если используется альтернативный порт, укажите дополнительно строку:
port = 2525
- В секции begin routers укажите:
- Сохраните изменения в файле.
- Настройте время нахождения сообщения в очереди. Для этого в файле /etc/exim4/exim4.conf.template в секции begin retry укажите:
* * F,2h,15m; G,16h,1h,1.5; F,15d,6hгде
15d– 15 дней. - Сохраните изменения в файле.
- Настройте отклонение входящих соединений, в RCPT которых указаны несуществующие домены (аналогично настройке Отклонять сообщения на неизвестные домены в Kaspersky Secure Mail Gateway). Для этого в файле /etc/exim4/exim4.conf.template в секции
mainпосле строкиacl_check_rcptвставьте следующие строки:denyhosts = !+relay_from_hostscondition = ${lookup dnsdb{ptr=$sender_host_address}{false}{true}} - Сохраните изменения в файле.
- Настройте отправку скрытой копии всех сообщений с определенных адресов (BCC). Для этого выполните следующие действия:
- Внесите следующие изменения в файл /etc/exim4/exim4.conf.template:
В секции main укажите:
system_filter = /etc/exim4/exim.filtersystem_filter_pipe_transport = filter_pipeВ секции transports укажите:
filter_pipe:driver = pipereturn_fail_output - Создайте файл /etc/exim4/exim.filter и укажите в нем адреса отправителей и получателей, для чьих сообщений следует отправлять скрытые копии.
if$sender_address contains "<адрес или маска адреса электронной почты>" and $recipients contains "<адрес или маска адреса электронной почты>"thenunseen deliver<адрес электронной почты для получения скрытых копий сообщений>endif
- Внесите следующие изменения в файл /etc/exim4/exim4.conf.template:
- Для применения новых параметров обновите конфигурационный файл Exim и перезапустите службу Exim с помощью команд:
update-exim4.confsystemctl restart exim4
Почтовый сервер Exim будет настроен.
Если вам нужно изменить основные параметры MTA, вы можете снова запустить мастер настройки почтового сервера и выполнить шаги инструкции выше.