В этом разделе представлена инструкция по настройке почтового сервера на базе MTA Exim. Почтовый сервер будет предоставлять следующие возможности:
Предполагается, что почтовый сервер будет использоваться в роли пограничного почтового шлюза и будет принимать почту из сети Интернет, проверять и направлять её на внутренний почтовый сервер в DMZ, а также обеспечивать доставку почты от внутренних отправителей по обратному маршруту.
Для настройки почтового сервера вам понадобится следующая информация:
Настройку почтового сервера необходимо выполнять с правами учетной записи root.
Чтобы настроить почтовый сервер Exim:
dpkg-reconfigure exim4-config
Далее мастер настройки по шагам запрашивает информацию для настройки почтового сервера.
internet site
.klms-10.home.lab
. Это значение будет далее использоваться в командах в качестве примера.0.0.0.0
.Для этих доменов почта будет приниматься извне и пересылаться на внутренние почтовые серверы.
сеть>/<префикс>
. В качестве разделителя используйте точку с запятой.С доверенных локальных сетей почтовый шлюз будет принимать почту для доставки на внешние почтовые домены.
No
.Maildir format in /var/mail
.No
.Указанные параметры почтового сервера Exim будут записаны в файлы /etc/mailname и /etc/exim4/update-exim4.conf.conf.
#BASIC MTA SETTINGS
primary_hostname=<имя домена или хоста>
#Ограничение размера сообщений
MESSAGE_SIZE_LIMIT=300M
#Отключение IPv6
disable_ipv6=true
#ADVANCED MTA SETTINGS
#Изменение SMTP-приветствия
smtp_banner = $smtp_active_hostname ESMTP MTA
#Maximum simultaneous connection attempts
smtp_accept_max_per_host=50
#Maximum SMTP session length
smtp_receive_timeout=30s
smtp_accept_max=256
smtp_accept_queue_per_connection=100
#TLS SETTINGS
#Включение TLS-шифрования
MAIN_TLS_ENABLE=yes
tls_require_ciphers = "SECURE192:+SECURE256:-VERS-ALL:+VERS-TLS1.2:+VERS-TLS1.3"
Файл должен содержать пары "ключ-значение" шаблона домена и данные маршрута в следующем формате: domain: host-list options
. Например: home.lab: exchange.home.lab
.
Список поддерживает следующие виды записей:
dict.ref.example: mail-1.ref.example:mail-2.ref.example
foo.example: internal.mail.example.com
bar.example: 192.168.183.3
/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 |
mkdir /etc/exim4/dkim
<
имя домена
>.key
с помощью команд:cd /etc/exim4/dkim
openssl genrsa -out home.lab.key 2048
openssl rsa -pubout -in home.lab.key -out home.lab.pub
chown -R Debian-exim:Debian-exim /etc/exim4/dkim
DKIM_CANON = relaxed
DKIM_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
service exim4 restart
exim -bP transports | grep dkim
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-ключи доменов из Kaspersky Secure Mail Gateway 2.0 в папку /etc/exim4/dkim. Однако этот способ повышает риск утечки приватных ключей; подразумевается, что администратор берет ответственность на себя.
home:
driver = dnslookup
domains = nonhome.lab
transport = remote_smtp_home
no_more
remote_smtp_home:
driver = smtp
port = 2525
* * F,2h,15m; G,16h,1h,1.5; F,
15d,6h
где 15d
– 15 дней.
main
после строки acl_check_rcpt
вставьте следующие строки:deny
hosts = !+relay_from_hosts
condition = ${lookup dnsdb{ptr=$sender_host_address}{false}{true}}
В секции main укажите:
system_filter = /etc/exim4/exim.filter
system_filter_pipe_transport = filter_pipe
В секции transports укажите:
filter_pipe:
driver = pipe
return_fail_output
if
$sender_address contains "<
адрес или маска адреса электронной почты
>" and $recipients contains "<
адрес или маска адреса электронной почты
>"
then
unseen deliver
<адрес электронной почты для получения скрытых копий сообщений
>
endif
update-exim4.conf
systemctl restart exim4
Почтовый сервер Exim будет настроен.
Если вам нужно изменить основные параметры MTA, вы можете снова запустить мастер настройки почтового сервера и выполнить шаги инструкции выше.
В начало