Интеграция по протоколу Milter

04 июля 2024

ID 43931

При интеграции Kaspersky Security 8 для Linux Mail Server с почтовым сервером Postfix по протоколу Milter для передачи сообщений на проверку программе Kaspersky Security 8 для Linux Mail Server и возвращения их почтовому серверу Postfix требуется соблюдение следующих условий:

  • Фильтр должен быть настроен для перехвата сообщений от почтового сервера Postfix по сокету socket. Этот сокет указывается в файле конфигурации программы в п. 7 инструкции ниже.
  • Фильтр должен передавать сообщения для проверки модулю Scan Logic по сокету scanner. Этот сокет указывается в ходе работы скрипта первоначальной настройки.

При интеграции Kaspersky Security 8 для Linux Mail Server с почтовым сервером Postfix socket и scanner могут указывать как на сетевой, так и на локальный сокет.

Чтобы интегрировать Kaspersky Security 8 для Linux Mail Server с Postfix по протоколу Milter, выполните следующие действия:

  1. Выполните следующую команду:

    postconf -e smtpd_milter=$milter_socket

    где $milter_socket – IP-адрес и номер порта или UNIX-сокет, на котором фильтр ожидает входящие соединения, в формате inet:<IP-адрес>:<порт> (для сетевого сокета) или unix:<путь к UNIX-сокету> (для UNIX-сокета).

  2. Откройте конфигурационный файл main.cf.
  3. В конец файла main.cf добавьте следующие строки:

    #lms-milter-begin

    milter_connect_macros = j _ {daemon_name} {if_name} {if_addr}

    milter_helo_macros = {tls_version} {cipher} {cipher_bits} {cert_subject} {cert_issuer}

    milter_mail_macros = i {auth_type} {auth_authen} {auth_ssf} {auth_author} {mail_mailer} {mail_host} {mail_addr}

    milter_rcpt_macros = {rcpt_mailer} {rcpt_host} {rcpt_addr}

    milter_default_action = $fail_type

    milter_protocol = 3

    milter_connect_timeout=180

    milter_command_timeout=180

    milter_content_timeout=600

    #lms-milter-end

    где $fail_type может принимать значения reject, accept или tempfail.

    Параметр $fail_type определяет действие почтового сервера Postfix над сообщением в том случае, если фильтр недоступен:

    • reject – отклонять;
    • accept – пропускать без проверки;
    • tempfail – отправлять отправителю сообщения уведомление о временной ошибке.

      Рекомендуется использовать tempfail.

  4. Откройте файл /var/opt/kaspersky/klms/installer.dat (для Linux) или /var/db/kaspersky/klms/installer.dat (для FreeBSD).
  5. Добавьте в файл следующие строки:

    POSTFIX_INTEGRATION_TYPE= milter

    START_MILTER=1

  6. Откройте файл /etc/opt/kaspersky/klms/klms_filters.conf (для Linux) или /usr/local/etc/kaspersky/klms/klms_filters.conf (для FreeBSD).
  7. В секции [milter] укажите IP-адрес и номер порта или UNIX-сокет, на котором фильтр ожидает входящие соединения, в следующей строке:

    socket=<IP-адрес и номер порта> или <UNIX-сокет>, указанные в пункте 1 инструкции для $milter_socket

    в формате inet:<порт>@<IP-адрес> (для сетевого сокета) или unix:<путь к UNIX-сокету> (для UNIX-сокета).

    Пример:

    socket=inet:10025@127.0.0.1

  8. В секции [global] установите значение false для параметра header-guard.
  9. Перезапустите службу klms.
  10. Перезапустите почтовый сервер Postfix.

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!