Über die Integration von Virustotal und rspamd ist es möglich E-Mailanhänge auf Malware zu überprüfen, hierbei sollte jedoch beachtet werden, dass nur der Hashwert mit Virustotal abgeglichen wird!
Entsprechend werden ausschließlich Dateien erkannt, welche durch andere Nutzer schon auf Virustotal hochgeladen wurden.
Um Virustotal als Antivirus Scanner in rspamd einzubinden ist ein Account bei Virustotal notwendig, über den Account bekommt man dann Zugriff auf die Virustotal API.
Die API gibt es in einer kostenfreien und einer kostenpflichtigen Variante, diese unterscheiden sich in der Anzahl der maximal möglichen Abfragen.
Der kostenfreie Zugang ist auf ein Maximum von 500 Anfragen pro Tag bzw. 4 Anfragen pro Minute beschränkt.
Der Virustotal Account lässt sich unter folgendem Link erstellen: https://www.virustotal.com/gui/join-us
Die grundlegende Konfiguration findet in der Datei /etc/rspamd/local.d/antivirus.conf statt:
virustotal {
# Obtained from Virustotal
apikey = "Euer API-Key";
# Change if you use private mirror or another API
url = 'https://www.virustotal.com/vtapi/v2/file';
# Minimum required to get scored
minimum_engines = 3;
# After this number we set max score
full_score_engines = 7;
prefix = "rs_vt_";
cache = 28800;
}
In dieser Konfiguration ist euer API Key hinzuzufügen.
In meinem Beispiel wird eine Datei als Malware deklariert, sobald 3 AV-Hersteller den Anhang als böswillig einstufen. Ab einer Erkennung durch sieben oder mehr AV-Hersteller vergibt rspamd für diese Mail den maximalen Score.
Der Score für die Virustotal Symbole wird in der rspamd WebGUI konfiguriert:
Ich verwende auf meinem Mailserver den kostenfreien API Zugang und stoße hin und wieder an die Grenze von 4 Abfragen pro Minute. In meinem Fall habe ich einen Soft Reject eingerichtet, wenn die Virustotal Abfrage bspw. durch zu viele Abfragen nicht durchgeführt werden kann.
Ich warte lieber ein paar Minuten auf eine E-Mail und habe mehr Gewissheit über deren Inhalt.
Für den Soft Reject durch das Virustotal Ratelimit setzen wir in der Datei /etc/rspamd/local.d/force_actions.conf folgende Konfiguration:
rules {
VIRUSTOTAL_RATELIMIT {
action = "soft reject"
expression = "VIRUSTOTAL_FAIL";
}
}
Wenn ich das richtig sehe, werden dann auch ausgehende Mails vom „internen“ Exchange gescannt. Kann man das auch abstellen?
Im rspamd Antivirus Modul gibt es folgendes Whitelisting Beispiel:
Quelle:
https://github.com/rspamd/rspamd/blob/master/src/plugins/lua/antivirus.lua
Ob das nur für den ClamAV oder für alle AV-Scanner gilt kann ich nicht sagen, aber schick mir gerne ein Update wenn du es ausprobiert hast!
VG
Dominik