Im praktischen Einsatz könnte mensch mit dem Extended Mode z.B. im internen Netzwerk (ja natürlich sollte mensch auch alle internen und ausgehenden E-Mails scannen ;-)) bestimmte, eigentlich schädliche Funktionen weiter erlauben, ohne Oletools intern komplett zu deaktivieren. Bei eingehenden E-Mails von extern kann natürlich weiter rejected werden. Um die Verwaltung der Patterns zu vereinfachen, könnte mensch die Symbolgruppen nutzen. Oletools Symbole bekommen von ihrem Plugin external_services eben auch die Primärgruppe external_services. Dazu lassen sich aber weitere Gruppen definieren, die mensch im Übrigen auch dazu nutzen kann, eine ganze Gruppe von Symbolen in den Settings (Profilen) mittels groups_disabled zu deaktivieren.
Um ein Symbol weiteren Gruppen zuzuordnen, müssen diese nur bei der Symbol-
Definition mit angegeben werden.
# /etc/rspamd/local.d/external_services_group.conf
symbols {
...
"OLETOOLS" {
weight = 0.0;
description = "OLETOOLS triggered";
one_shot = true;
groups = ["oletools"]
}
"OLETOOLS_AUTOEXEC_SUSPICIOUS" {
weight = 0.0;
description = "OLETOOLS_AUTOEXEC_SUSPICIOUS triggered";
one_shot = true;
groups = ["oletools", "oletools_category"]
}
"OLETOOLS_OPEN" {
weight = 0.0;
description = "OLETOOLS_OPEN triggered";
one_shot = true;
groups = ["oletools", "oletools_autoopen"]
}
"OLETOOLS_SHELL" {
weight = 0.0;
description = "OLETOOLS_SHELL triggered";
one_shot = true;
groups = ["oletools", "oletools_suspicious"]
}
"OLETOOLS_CMD_CANCEL" {
weight = 0.0;
description = "OLETOOLS_SHELL triggered";
one_shot = true;
groups = ["oletools", "oletools_suspicious", "oletools_internal_wl"]
}
"OLETOOLS_DOWNLOAD" {
weight = 0.0;
description = "OLETOOLS_DOWNLOAD triggered";
one_shot = true;
groups = ["oletools", "oletools_suspicious"]
}
}
Verwendbar sind diese Gruppen jetzt zum Beispiel in den Settings (Profile) oder in Composites.
Nutzungsbeispiel in settings.conf
# /etc/rspamd/local.d/settings.conf
internal_systems {
id = "internal_systems";
priority = high;
# remote client ip
ip = "172.16.0.0/24";
apply {
symbols_disabled = [
];
groups_disabled = [
"oletools_internal_wl",
];
}
symbols [
"INTERNAL_SYSTEMS"
]
}
Im Plugin Composites kann mensch in den Expressions auch mit den Gruppen arbeiten und
mit den daraus erstellten Symbolen weiter arbeiten:
# /etc/rspamd/local.d/composites.conf
GROUP_OLETOOLS_AUTOOPEN {
expression = "g:oletools_autoopen";
score = 0.0;
policy = "leave";
}
GROUP_OLETOOLS_SUSPICIOUS {
expression = "g:oletools_suspicious";
score = 0.0;
policy = "leave";
}
GROUP_OLETOOLS_INTERNAL_WL {
expression = "g:oletools_internal_wl";
score = 0.0;
policy = "leave";
}
So z.B. in den force_actions:
rules {
...
OLETOOLS_REJECT {
action = "reject";
expression = "GROUP_OLETOOLS_AUTOOPEN and GROUP_OLETOOLS_SUSPICIOUS";
message = "REJECT - Bad Office Macro found - Ref#7362 id: ${queueid}";
require_action = ["no action", "greylist", "soft reject", "add header",
"rewrite subject", "reject"];
}
...
}
Da wir die Gruppe oletools_internal_wl bereits in den Settings abgeschaltet haben, würde bei internen Mails (Profil internal_systems) das Symbol OLETOOLS_CMD_CANCEL nicht gesetzt werden und damit auch nicht in GROUP_OLETOOLS_SUSPICIOUS einfließen. Damit würde, wenn keine andere böse Funktion vor kommt, die E-Mail auch nicht rejected werden.
Autor: Carsten Rosenberg, Linux-Consultant, Heinlein Support
Hier nochmal alle bisher erschienenen Artikel aus unserer Reihe „Emotet mit Rspamd und Oletools bekämpfen“ zum Nachlesen:
Emotet mit Rspamd und Oletools bekämpfen (Teil 1)
Emotet mit Rspamd und Oletools bekämpfen (Teil 2)
Emotet mit Rspamd und Oletools bekämpfen – Emotet 2020 (Teil 3)
Emotet mit Rspamd und Oletools bekämpfen – die vielen kleinen Tricks (Teil 4)
Emotet mit Rspamd und Oletools bekämpfen - Extended Mode (Teil 5)
Kommentare