Before-queue интеграция
04 июля 2024
ID 43928
При интеграции "после передачи сообщения в очередь" (before-queue интеграции) для передачи сообщений на проверку программе Kaspersky Security 8 для Linux Mail Server и возвращения их почтовому серверу Postfix требуется соблюдение следующих условий:
- Фильтр должен быть настроен для перехвата сообщений от почтового сервера Postfix по сокету
socket-in
. Этот сокет указывается в файле конфигурации программы в п. 8 инструкции ниже. - Фильтр должен передавать сообщения для проверки модулю Scan Logic по сокету
scanner
. Этот сокет указывается в ходе работы скрипта первоначальной настройки. - Фильтр должен возвращать сообщения почтовому серверу Postfix по сокету
socket-out
. Этот сокет указывается в файле конфигурации программы в п. 8 инструкции ниже.
При интеграции Kaspersky Security 8 для Linux Mail Server с почтовым сервером Postfix socket-in
, scanner
и socket-out
могут указывать как на сетевой, так и на локальный сокет.
Чтобы выполнить before-queue интеграцию Kaspersky Security 8 для Linux Mail Server с Postfix, выполните следующие действия:
- Откройте конфигурационный файл master.cf.
- В файл master.cf после строки вида
smtp inet n - n - - smtpd
добавьте следующие строки:
#klms-postfix-prequeue-start
-o smtpd_proxy_filter=$sock_postfix_format
-o smtpd_proxy_options=speed_adjust
(для интеграции с Postfix 2.7 или выше)#klms-postfix-prequeue-end
где
$sock_postfix_format
– IP-адрес и номер порта, на котором фильтр ожидает входящие соединения, в формате<IP-адрес>:<порт>
(для сетевого сокета). - В конец конфигурационного файла master.cf добавьте следующие строки:
- Для inet-сокета:
#klms-begin
127.0.0.1:$forward_port inet n - n - 10 smtpd
-o receive_override_options=no_unknown_recipient_checks, no_header_body_checks,no_address_mappings
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8,[::1]/128
-o smtpd_authorized_xforward_hosts=127.0.0.0/8,[::1]/128
#klms-end
где строка
127.0.0.1:$forward_port inet n - n - 10 smtpd
требуется для того, чтобы почтовый сервер Postfix принимал от фильтра обработанные сообщения, ожидая данные на порту$forward_port
. - Для unix-сокета:
#klms-begin
klms_postfix-prequeue unix - - n - 10 smtp
-o smtp_send_xforward_command=yes
$unix_socket_name unix n - n - 100 smtpd
-o receive_override_options=no_unknown_recipient_checks, no_header_body_checks,no_address_mappings
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8,[::1]/128
-o smtpd_authorized_xforward_hosts=127.0.0.0/8,[::1]/128
#klms-end
где строка
$unix_socket_name unix n - n - 100 smtpd
требуется для того, чтобы почтовый сервер Postfix принимал от фильтра обработанные сообщения, ожидая данные на unix-сокете $unix_socket_name.
- Для inet-сокета:
- Откройте файл /var/opt/kaspersky/klms/installer.dat (для Linux) или /var/db/kaspersky/klms/installer.dat (для FreeBSD).
- Добавьте в файл следующие строки:
POSTFIX_INTEGRATION_TYPE=prequeue
START_SMTP_PROXY=1
- Откройте файл /etc/opt/kaspersky/klms/klms_filters.conf (для Linux) или /usr/local/etc/kaspersky/klms/klms_filters.conf (для FreeBSD).
- В секции
[global]
установите значениеfalse
для параметраheader-guard
. - В секции
[smtp_proxy]
укажите следующие параметры:socket-in=<IP-адрес и номер порта>
или<UNIX-сокет>
, указанные в пункте 2 инструкции для$sock_postfix_format
socket-out=<IP-адрес и номер порта>
или<UNIX-сокет>
, указанные в пункте 3 инструкции для$forward_port или $unix_socket_name
, в форматеinet:<порт>@<IP-адрес>
(для сетевого сокета) илиunix:<путь к UNIX-сокету>
(для UNIX-сокета).Пример 1:
socket-in=inet:10025@127.0.0.1
socket-out=inet:10026@127.0.0.1
Пример 2:
socket-in=unix:/var/run/ksmg/ksmg_smtp_sock
socket-out=unix:/var/spool/postfix/public/ksmg_forward_sock
- Перезапустите службу klms.
- Перезапустите почтовый сервер Postfix.