Integración manual con el servidor de correo Exim

Si, durante la configuración inicial de la aplicación, omite la integración automática de la aplicación con el servidor de correo, debe integrar KSMG con el servidor de correo manualmente.

Puede configurar manualmente la integración antes de la cola de KSMG con el servidor de correo Exim utilizando una biblioteca vinculada dinámicamente (dlfunc). Con la integración de antes de la cola, KSMG analiza los mensajes antes de que terminen en la cola del servidor de correo Exim. No se admite la integración posterior a la cola.

Dependiendo de la distribución específica del sistema operativo, debe modificar uno o varios archivos de configuración del servidor de correo Exim:

Para realizar la integración antes de la cola de KSMG con Exim:

  1. Asegúrese de que el servidor de correo Exim admita las funciones de la biblioteca dlfunc enlazada dinámicamente. Para hacerlo, ejecute el comando siguiente:

    exim -bV

    El servidor de correo Exim admite la carga dinámica de la biblioteca dlfunc si la sección Support for contiene la línea Expand_dlfunc.

  2. Haga una copia de seguridad de los archivos de configuración de Exim.
  3. Modifique la lista de control de acceso para acl_smtp_data. Para hacer eso, busque en el archivo o archivos de configuración de Exim una línea parecida a esta:

    acl_smtp_data = acl_check_data (se puede usar una variable o macro diferente en lugar de acl_check_data)

    y, después de la línea

    acl_check_data: (o una cadena que contiene una variable o macro diferente),

    añada las siguientes líneas:

    # Manually added block ksmg-exim-filter-dflunc begin

    warn set acl_m_ksmg_input_directory = ${spool_directory}/input

      set acl_m_ksmg_lookup_result = ${lookup {$message_id-D} dsearch {$acl_m_ksmg_input_directory}}

    warn condition = ${if eq {$acl_m_ksmg_lookup_result}{}{yes}{no}}

      set acl_m_ksmg_input_directory = ${spool_directory}/input/${substr{5}{1}{$message_id}}

    warn set acl_m_ksmg_answer = ${dlfunc{DLFUNC_LIBRARY_FULLPATH}{scan}{$acl_m_ksmg_input_directory}}

    defer condition = ${if match {$acl_m_ksmg_answer}{^[245]}{no}{yes}}

      log_message = KSMG check failed, unexpected answer: $acl_m_ksmg_answer

    defer condition = ${if match {$acl_m_ksmg_answer}{^4}{yes}{no}}

      log_message = KSMG check defer: $acl_m_ksmg_answer

    deny condition = ${if match {$acl_m_ksmg_answer}{^5}{yes}{no}}

      log_message = KSMG check reject: $acl_m_ksmg_answer

      message = This message is blocked due to security reason

    warn condition = ${if match {$acl_m_ksmg_answer}{^2}{yes}{no}}

      logwrite = KSMG check accept: $acl_m_ksmg_answer

    # Manually added block ksmg-exim-filter-dlfunc ends here

    donde DLFUNC_LIBRARY_FULLPATH es la ruta a la biblioteca dlfunc. La ruta a la biblioteca depende de la versión de Exim y puede lucir así:

    • Para las versiones de Exim 4.86 a 4.90 (no incluida): /opt/kaspersky/ksmg/lib/libklms-exim-abi20-1.so
    • Para las versiones de Exim 4.90 a 4.93 (no incluida): /opt/kaspersky/ksmg/lib/libklms-exim-abi20-2.so
    • Para las versiones de Exim 4.93 a 4.94 (no incluida): /opt/kaspersky/ksmg/lib/libklms-exim-abi31.so
    • Para las versiones de Exim 4.94 a 4.96 (no incluida): /opt/kaspersky/ksmg/lib/libklms-exim-abi41.so
    • para Exim de 4.96 y posterior: /opt/kaspersky/ksmg/lib/libklms-exim-abi60.so
  4. Si es necesario, cuando haya terminado de editar el archivo de configuración, puede volver a generar el archivo de configuración principal de Exim.
  5. Añada el usuario kluser al grupo que incluye al usuario que inicia el proceso exim.

    De forma predeterminada, este grupo se denomina 'exim' en Red Hat Enterprise Linux y Rocky Linux, y 'Debian-exim' en Ubuntu.

  6. Añada el usuario que inicia el proceso exim a los grupos klusers y kl_var_users.

    De forma predeterminada, el nombre de usuario es 'exim' en Red Hat Enterprise Linux y Rocky Linux y 'Debian-exim' en Ubuntu.

  7. En el archivo de configuración del filtro /etc/opt/kaspersky/ksmg/filters.conf, en la sección [global], establezca los siguientes valores de parámetro:

    scanner=unix:/var/run/ksmg/klms_scanner_sock

    header-guard=false

    • Si PrivateTmp se establece en false o no se especifica en el archivo de la unidad Exim:

      workdir=/tmp

    • Si PrivateTmp se establece en true en el archivo de la unidad Exim:

      workdir=/var/opt/kaspersky/ksmg/tmp

  8. En el archivo /var/opt/kaspersky/ksmg/installer.dat, establezca los siguientes valores de parámetro:

    MTA_INTEGRATION_METHOD=dlfunc

    MTA_INTEGRATION_MODE=prequeue

    Filter_workdir=<valor del parámetro 'workdir' del paso 7>

    mta=manual

    START_SMTP_PROXY=0

    START_MILTER=0

  9. Reinicie el servicio ksmg.
  10. Reinicie el servidor de correo Exim.

La integración con Exim se completa.

Inicio de página