Manuelle Integration mit dem Mailserver Exim

Wenn Sie bei der Erstkonfiguration der Anwendung die automatische Integration des Programms in den Mailserver übersprungen haben, müssen Sie die Anwendung KSMG manuell in den Mailserver integrieren.

Sie können KSMG manuell in den Exim-Mailserver integrieren, indem Sie die Methode "Vor Verschieben der Nachricht in die Warteschlange" (Before-Queue-Integration) mithilfe einer dynamisch geladenen Bibliothek (dlfunc) verwenden. In diesem Fall werden die Nachrichten vor dem Verschieben in die Warteschleife des Exim-Mailservers für die Untersuchung an die Anwendung KSMG übergeben. Die Methode "Nach Verschieben in die Warteschlange" (After-Queue-Integration) wird nicht unterstützt.

Je nach Lieferumfang des Betriebssystems müssen Sie eine oder mehrere Konfigurationsdateien von Exim ändern:

So führen Sie die before-queue-Integration von KSMG mit Exim durch:

  1. Stellen Sie sicher, dass der Exim-Mailserver die dynamischen Ladebibliotheksfunktionen von dlfunc unterstützt. Führen Sie dazu den folgenden Befehl aus:

    exim -bV

    Der Exim-Mailserver unterstützt dynamisch geladene dlfunc-Bibliotheken, wenn im Abschnitt Support for die Zeile Expand_dlfunc angegeben ist.

  2. Erstellen Sie eine Sicherungskopie der Konfigurationsdateien von Exim.
  3. Tragen Sie Änderungen in die Liste für die Zugriffskontrolle von acl_smtp_data ein. Suchen Sie dafür in der Konfigurationsdatei (-dateien) von Exim nach der Zeile des Typs

    acl_smtp_data = acl_check_data (es kann eine andere Variable oder ein Makro anstelle von acl_check_data geben)

    und nach der Zeile des Typs

    acl_check_data: (oder eine Zeile, die eine andere Variable oder ein anderes Makro enthält)

    folgende Zeilen hinzu:

    # 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

    wobei DLFUNC_LIBRARY_FULLPATH der Pfad zur dlfunc-Bibliothek ist. Der Pfad zur Bibliothek ist abhängig von der Exim-Version und kann folgendermaßen aussehen:

    • für Exim von Version 4.86 bis Version 4.90 (exklusive) – /opt/kaspersky/ksmg/lib/libklms-exim-abi20-1.so
    • für Exim von Version 4.90 bis Version 4.93 (exklusive) – /opt/kaspersky/ksmg/lib/libklms-exim-abi20-2.so
    • für Exim von Version 4.93 bis Version 4.94 (exklusive) – /opt/kaspersky/ksmg/lib/libklms-exim-abi31.so
    • für Exim von Version 4.94 bis Version 4.96 (exklusive) – /opt/kaspersky/ksmg/lib/libklms-exim-abi41.so
    • für Exim ab Version 4.96 und höher – /opt/kaspersky/ksmg/lib/libklms-exim-abi60.so
  4. Bei Bedarf können Sie nach den abgeschlossenen Änderungen der Konfigurationsdatei die Hauptkonfigurationsdatei von Exim erneut generieren.
  5. Fügen Sie den Benutzer kluser der Gruppe hinzu, die den Benutzer enthält, der den Exim-Prozess ausführt.

    In den Betriebssystemen Red Hat Enterprise Linux und Rocky Linux heißt diese Gruppe standardmäßig "exim" und in Ubuntu-Betriebssystemen "Debian-exim".

  6. Fügen Sie den Benutzer, unter dem der Exim-Prozess ausgeführt wird, zu den Gruppen klusers und kl_var_users hinzu.

    In den Betriebssystemen Red Hat Enterprise Linux und Rocky Linux lautet der Name dieses Benutzers standardmäßig "exim" und in Ubuntu-Betriebssystemen "Debian-exim".

  7. Legen Sie in der Filterparameterdatei /etc/opt/kaspersky/ksmg/filters.conf im Abschnitt [global] die folgenden Parameterwerte fest:

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

    header-guard=false

    • Wenn in der Exim-Unit-Datei der PrivateTmp-Parameter auf false gesetzt oder nicht angegeben ist:

      workdir=/tmp

    • Wenn in der Exim-Unit-Datei der PrivateTmp-Parameter auf true gesetzt ist:

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

  8. Legen Sie in der Datei /var/opt/kaspersky/ksmg/installer.dat die folgenden Parameterwerte fest:

    MTA_INTEGRATION_METHOD=dlfunc

    MTA_INTEGRATION_MODE=prequeue

    filters_workdir=<Wert des Parameters "workdir" aus Schritt 7>

    mta=manual

    START_SMTP_PROXY=0

    START_MILTER=0

  9. Starten Sie den Dienst "ksmg" neu.
  10. Starten Sie den Mailserver Exim neu.

Die Integration mit Exim wird abgeschlossen.

Nach oben