Si lors de la configuration initiale de l'application vous avez manqué l'intégration automatique de l'application avec le serveur de messagerie, vous devez intégrer manuellement l'application KSMG avec le serveur de messagerie.
Vous pouvez intégrer manuellement KSMG au serveur de messagerie Exim à l'aide de la méthode d'intégration avant la file d'attente à l'aide d'une bibliothèque chargée dynamiquement (dlfunc). Dans ce cas, les messages sont soumis à l'analyse de l'application KSMG avant la mise en file d'attente sur le serveur de messagerie Exim. L'intégration après la file d'attente (intégration after-queue) n'est pas prise en charge.
En fonction de la distribution du système d'exploitation, vous devez apporter des modifications dans un ou plusieurs fichiers de configuration du serveur de messagerie Exim :
Pour effectuer l'intégration avant la file d'attente de KSMG avec Exim :
exim -bV
Le serveur de messagerie Exim prend en charge les fonctions de bibliothèque chargées dynamiquement dlfunc si la section Support for contient la ligne Expand_dlfunc.
acl_smtp_data. Pour ce faire, localisez dans le fichier (les fichiers) de configuration Exim la ligne du typeacl_smtp_data = acl_check_data (il peut y avoir une autre variable ou macro au lieu de acl_check_data)
et après la ligne du type
acl_check_data : (ou une ligne contenant une autre variable ou macro)
ajoutez les lignes suivantes :
# 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
où DLFUNC_LIBRARY_FULLPATH est le chemin d'accès à la bibliothèque dlfunc. Le chemin d'accès à la bibliothèque dépend de la version d'Exim et peut ressembler à ceci :
kluser au groupe contenant l'utilisateur qui exécute le processus exim.Par défaut, dans les systèmes d'exploitation Red Hat Enterprise Linux et Rocky Linux, ce groupe est appelé exim, dans les systèmes d'exploitation Ubuntu - Debian-exim.
klusers et kl_var_users.Par défaut, sur les systèmes d'exploitation Red Hat Enterprise Linux et Rocky Linux, ce nom d'utilisateur est exim, sur les systèmes d'exploitation Ubuntu, il s'agit de Debian-exim.
[global], définissez les valeurs de paramètres suivantes :scanner=unix:/var/run/ksmg/klms_scanner_sock
header-guard=false
PrivateTmp défini sur false ou non spécifié :workdir=/tmp
PrivateTmp défini sur true :workdir=/var/opt/kaspersky/ksmg/tmp
MTA_INTEGRATION_METHOD=dlfunc
MTA_INTEGRATION_MODE=prequeue
filters_workdir=<valeur du paramètre workdir de l'étape 7>
mta=manual
START_SMTP_PROXY =0
START_MILTER=0
L'intégration avec Exim sera terminée.
Haut de page