Zur Verwendung der Integrationsmethode "vor dem Verschieben der Nachricht in die Warteschleife" (before-queue-Integration) muss bei der Kompilierung der aus den Ausgangscodes dynamisch geladenen Bibliothek angegeben werden, dass die Unterstützung von dlfunc erforderlich ist. In einigen Distributionen von Linux sind im Speicher kompilierte Exim-Versionen enthalten, in anderen ist eine manuelle Kompilierung erforderlich.
Bei der manuellen Kompilierung müssen der Makefile folgende Zeilen hinzugefügt werden:
EXPAND_DLFUNC=yes
EXTRALIBS= -export-dynamic
Bei der before-queue-Integration unter Verwendung einer dynamisch geladenen Bibliothek muss der Filter die Nachrichten zur Untersuchung an Scan Logic über den Socket ServiceSocket übergeben. Dieser Socket muss in der Programmkonfiguration angegeben werden.
Je nach Lieferumfang des Betriebssystems müssen Sie eine oder mehrere Konfigurationsdateien von Exim ändern. Zum Beispiel, kann der Mailserver in Debian und Ubuntu wie mithilfe mehrerer Dateien im Verzeichnis /etc/exim/conf.d, so auch mithilfe einer Datei konfiguriert werden.
Gehen Sie folgendermaßen vor, um eine before-queue-Integration von Kaspersky Security 8 für Linux Mail Server mit Exim unter Verwendung einer dynamisch geladenen Bibliothek auszuführen:
exim -bV aus.Als positive Antwort gilt das Ergebnis: Expand_dlfunc.
acl_smtp_data ein. Suchen Sie dafür in der Konfigurationsdatei (-dateien) von Exim nach der Zeile des Typsacl_smtp_data = acl_check_data (statt acl_check_data kann eine andere Liste für die Zugriffskontrolle angegeben werden)
und nach der Zeile des Typs
acl_check_data: (oder der Zeile, die eine andere Liste für die Zugriffskontrolle enthält)
folgende Zeilen hinzu:
#klms-filter-begin
warn set acl_m_klms_headers =
set acl_m_klms_result =
set acl_m_klms_answer = ${dlfunc{LIBDIR/libklms-exim.so}{scan}{${spool_directory}/input}}
defer condition = ${if eq {$acl_m_klms_answer}{}{yes}{no}}
log_message = LMS check failed (empty answer)
message = Temporary local problem - please try later
defer condition = ${if match {$acl_m_klms_answer}{\N^451\N}{yes}{no}}
log_message = LMS check defer: ${if match {$acl_m_klms_answer} \
{\N^451 Mail processing aborted(.+\n?.*\n)*$\N}{$1}{}}\\
${if eq {$acl_m_klms_result}{}{}{, result is \
'$acl_m_klms_result\'}}\
, temporary file $acl_m_klms_tempfile
message = Temporary local problem - please try later
defer condition = ${if match {$acl_m_klms_answer}{\N^452\N}{yes}{no}}
log_message = LMS check defer: ${if match{$acl_m_klms_answer} \
{\N^451 Mail processing timed out(.+\n?.*\n)*$\N}{$1}{}}\
${if eq {$acl_m_klms_result}{}{}{, result is \
'$acl_m_klms_result\'}}\
, temporary file $acl_m_klms_tempfile
message = Temporary local problem - please try later
deny condition = ${if match {$acl_m_klms_answer}{\N^550\N}{yes}{no}}
log_message = LMS check reject: ${if match {$acl_m_klms_answer} \
{\N^550 Rejected by malware filter(.+\n?.*\n)*$\N}{$1}{}}\
${if eq {$acl_m_klms_result}{}{}{, result is \
'$acl_m_klms_result\'}}\
, temporary file $acl_m_klms_tempfile
deny condition = ${if match {$acl_m_klms_answer}{\N^554\N}{yes}{no}}
log_message = LMS check reject: ${if match {$acl_m_klms_answer} \
{\N^554 Mail processing failed(.+\n?.*\n)*$\N}{$1}{}}\
${if eq {$acl_m_klms_result}{}{}{, result is \
'$acl_m_klms_result\'}}\
, temporary file $acl_m_klms_tempfile
message = ${if match {$acl_m_klms_answer} \
{\N^554 Mail processing failed(.+\n?.*\n)*$\N} \
{Mail processing failed:$1}{}}
warn condition = ${if match {$acl_m_klms_answer}{\N^250\N}{yes}{no}}
logwrite = LMS check accept: ${if match {$acl_m_klms_answer} \
{\N^250 (.+)$\N}{$1}{}} \
${if eq {$acl_m_klms_result}{}{}{, result is \
'$acl_m_klms_result\'}}
set acl_m_klms_answer =
warn condition = ${if eq {$acl_m_klms_answer}{}{no}{yes}}
logwrite = LMS check: $acl_m_klms_answer
#klms-filter-end
wo LIBDIR – Pfad zur Bibliothek libklms-exim.so:
.so entsprechend den Einstellungen Ihres Betriebssystems (optional).kluser zur Gruppe hinzu, welcher der Vorgang exim zugeordnet ist. [global] den Wert false für die Einstellung header-guard fest.EXIM_INTEGRATION_TYPE=dlfunc
Im Lieferumfang von Kaspersky Security 8 für Linux Mail Server ist eine kompilierte dynamisch geladene Bibliothek dlfunc für alle Betriebssysteme enthalten, die vom Programm unterstützt werden. Erforderliche Ausgangsdateien für die dlfunc-Bibliothek befinden sich im Verzeichnis /opt/kaspersky/klms/share/src/dlfunc (für Linux) oder im Verzeichnis /usr/local/share/klms/src/dlfunc (für FreeBSD).
In einigen Fällen ist jedoch eine manuelle Kompilierung erforderlich.
Gehen Sie folgendermaßen vor, um eine manuelle Kompilation der dynamisch geladenen Bibliothek auszuführen:
./configure --with-exim=<path to exim headers> --with-boost=<path to boost> --with-libevent=<path to libevent> aus.# make.Im aktuellen Verzeichnis wird die Datei libklms-exim.so angezeigt.
Nach oben