Before-queue integration
Aug 21, 2023
ID 43928
When "before-queue" integration is used and messages are forwarded to Kaspersky Security 8 for Linux Mail Server for scanning and then returned to the Postfix mail server, the following conditions must be satisfied:
- The filter must be configured to intercept messages from the Postfix mail server via
socket-in
. This socket must be specified in the configuration of the program. - The filter must forward messages to Scan Logic for scanning via the
scanner
socket. This socket must be specified in the configuration of the program. - The filter must return messages to the Postfix mail server via
socket-out.
This socket must be specified in the configuration of the program.
When Kaspersky Security 8 for Linux Mail Server is integrated with the Postfix mail server, socket-in
, scanner
, and socket-out
can point to a network socket or to a local one.
To perform before-queue integration of Kaspersky Security 8 for Linux Mail Server with Postfix:
- Open the configuration file master.cf.
- In the master.cf file, after the line
smtp inet n - n - - smtpd
add the following lines:
#klms-postfix-prequeue-start
-o smtpd_proxy_filter=$sock_postfix_format
-o smtpd_proxy_options=speed_adjust
(for integration with Postfix 2.7 or higher)#klms-postfix-prequeue-end
where
$sock_postfix_format
stands for the IP address and port number or the UNIX socket that the filter uses to listen for incoming connections as follows:inet:<IP address>:<port>
(for a network socket) orunix:<path to UNIX socket>
(for UNIX sockets). - Add the following strings at the end of the master.cf configuration file:
#klms-begin
klms_postfix-prequeue unix - - n - 10 smtp
-o smtp_send_xforward_command=yes
127.0.0.1:$forward_port\tinet\tn - 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
where the string
127.0.0.1:$forward_port\tinet\tn - n - 10 smtpd
is required to enable the Postfix mail server to accept processed messages from the filter and listen for data on$forward_port
. - Open the file /var/opt/kaspersky/klms/installer.dat (under Linux) or /var/db/kaspersky/klms/installer.dat (under FreeBSD).
- Add the following lines to the file:
POSTFIX_INTEGRATION_TYPE= prequeue
START_SMTP_PROXY =1
- Open the file /etc/opt/kaspersky/klms/klms_filters.conf (under Linux) or /usr/local/etc/kaspersky/klms/klms_filters.conf (under FreeBSD).
- In the
[global]
section, set thefalse
value for theheader-guard
setting. - In the
[smtp_proxy]
section, specify the following settings:socket-in=<IP address and port number>
or<UNIX socket>
specified at Step 2 of the wizard for$sock_postfix_format
socket-out=inet: $forward_port@127.0.0.1
in the format
inet:<port>@<IP address>
(for a network socket) orunix:<path to UNIX socket>
(for a UNIX socket).Example:
socket-in=inet:10025@127.0.0.1
socket-out=inet: 10026@127.0.0.1
- Restart the klms service.
- Restart the Postfix mail server.