Spam-Schutz: Exchange Online Protection (EOP) mit PowerShell konfigurieren


    Tags: , ,

    Spam filtern in Office 365Der mehr­stufige Schutz von Office 365 gegen Spam, Viren und son­stige uner­wünschte Nach­richten lässt sich kom­fortabel über das Exchange Admin Center konfi­gurieren. PowerShell kann weitere Ein­stellungen an­passen, die das Ver­halten der ver­schiedenen Filter beein­flussen und User über Aktionen benach­richtigen.

    Alle Mandaten von Office365 werden von Microsoft mit einer Reihe von Standard­einstellungen eingerichtet. Dies erhöht die Effizienz der Cloud-Plattform. Möchte man dagegen eigene Einstellungen vornehmen, dann müssen dafür zuerst die Voraus­setzungen geschaffen werden.

    Standardregeln duplizieren

    Die Regeln und Richtlinien, die per Vorgabe von allen O365-Kunden verwendet werden, kopiert man in den jeweiligen Tenant und sie sind dann editierbar. Damit lassen sie sich den eigenen Bedürfnissen anpassen.

    Diesen Vorgang startet man mit dem Befehl
    Enable-OrganizationCustomization.

    Man muss ihn nur einmalig ausführen und er ist nicht reversibel. Anschliessend kann der aktuelle Zustand des Tenants mit Get-OrganizationConfig über den Hydration-Status ausgelesen werden. Der Wert False zeigt an, dass der Mandant nun eigene Richtlinien erstellen kann.

    Mit Get-OrganizationConfig kann man erkennen, ob der Mandant über eigene Richtlinien verfügt.

    Verbindungsfilter (Connection Filter) bearbeiten

    Standardmäßig gibt es einen Verbindungs­filter namens Default. Dieser hat jedoch keine Auswirkungen, da er nicht konfiguriert ist. Während der Spam-Filter Mail-Adressen und -Domänen freigeben bzw. sperren kann, konzentriert sich der Verbindungsfilter rein auf IP-Adressen und Netze.

    Sollen Nachrichten, die von bestimmten IP-Adressen stammen, abgelehnt oder von der Spam-Filterung ausgenommen, dann muss man Nachrichten­flussregeln (mail flow rules) konfigurieren.

    Die betreffenden Einstellungen lassen sich mit

    Get-HostedConnectionFilterPolicy

    auslesen:

    Get-HostedConnectionFilterPolicy -Identity Default |
    Format-Table Name, IP*, EnableSafeList

    Um den Filter zu bearbeiten, verwendet man das Cmdlet Set-HostedConnectionFilterPolicy. Damit kann man mehrere IP-Adressen (bis zu 256) und Subnetze definieren, wobei ein Komma als Trennzeichen dient. Zusätzlich kann man die SafeList abonnieren, in der Microsoft IP-Adressen vertrauens­würdiger Absender sammelt:

    Set-HostedConnectionFilterPolicy -Identity Default `
    -IPAllowList 192.168.1.10,172.16.1.20 `
    -IPBlockList 10.0.0.0/32,192.168.2.0/24 -EnableSafeList $true

    Wenn die IP-Listen verändert werden sollen, muss man darauf achten, dass man die bestehenden Einträge nicht überschreibt. Daher ist der Einsatz von Add bzw. Remove obligatorisch. Ein solcher Befehl könnte so aussehen:

    Set-HostedConnectionFilterPolicy -Identity Default -IPAllowList @{Add="192.168.1.11", "192.168.1.12", "172.16.1.0/24"; Remove="192.168.2.0/24"}

    Weiterführende Informationen zur Funktion der Verbindungs­filterung gibt es auf Microsoft Docs.

    Spamfilter (Content Filter) bearbeiten

    Auch hier gibt es bereits einen vordefinierten Spam-Filter mit dem Namen Default. Dieser verschiebt Mails mit Spam-Verdacht in den Junk-Mail-Ordner der jeweiligen Postfächer. Ansonsten verzichtet der Filter in der Standard­einstellung auf viele der möglichen Optionen, auf die ich im Folgenden genauer eingehe.

    Der Befehl Get-HostedContentFilterPolicy gibt nur eine rudimentäre Liste mit Einstellungen aus.

    Get-HostedContentFilterPolicy gibt die Einstellungen für den Spam-Filter aus.

    Microsoft unterscheidet zwischen Spam und Nachrichten mit hoher Spam-Wahr­scheinlichkeit. Möchte man letztere in Quarantäne anstatt in den Junk-Mail-Ordner stellen, dann eignet sich dafür folgender Befehl:

    Set-HostedContentFilterPolicy -Identity Default -HighConfidenceSpamAction Quarantine

    Spambewertung (Scoring) erhöhen

    Es gibt vier Optionen, um die Bewertung von Nachrichten zu beeinflussen. Das Zutreffen eines Kriteriums erhöht die Bewertungszahl der Nachricht und führt dazu, dass sie eher als Spam ausgefiltert wird.

    ParameterBemerkung
    IncreaseScoreWithBizOrInfoUrls Wenn in der Nachricht Links zu Domains mit Endung .biz oder .info vorkommen
    IncreaseScoreWithImageLinks Wenn in der Nachricht Bilder von extern nachgeladen werden
    IncreaseScoreWithNumericIps Wenn in der Nachricht Links mit IP-Adressen statt Domains vorkommen
    IncreaseScoreWithRedirectToOtherPort Wenn in der Nachricht Links vorkommen, die zu bestimmten Ports umleiten

    Folgender Befehl aktiviert diese vier Optionen:

    Set-HostedContentFilterPolicy -Identity Default -IncreaseScoreWithBizOrInfoUrls on `
    -IncreaseScoreWithImageLinks on -IncreaseScoreWithNumericIps on `
    -IncreaseScoreWithRedirectToOtherPort on

    Mails als Spam markieren

    Um Mails direkt als Spam zu kennzeichnen, gibt es mehrere Kriterien. Ist eines erfüllt, dann wird die Nachricht direkt als Spam eingestuft. Folgende Tabelle listet die Optionen mit einer Kurzbeschreibung auf.

    ParameterBemerkung
    MarkAsSpamBulkMail Nachrichten, die als Bulk bzw. Graymail erkannt werden
    MarkAsSpamEmbedTagsInHtml Embed-Tags in HTML enthalten
    MarkAsSpamEmptyMessages Nachrichten ohne Inhalt
    MarkAsSpamFormTagsInHtml Formular in HTML enthalten
    MarkAsSpamFramesInHtml Frame- oder IFrame-Tags in HTML
    MarkAsSpamFromAddressAuthFail Wenn die Absender-ID-Prüfung einen Fehler (Hardfail) liefert
    MarkAsSpamJavaScriptInHtml JavaScript oder VBScript in HTML enthalten
    MarkAsSpamNdrBackscatter Nachricht wird als Unzustell­barkeits­bericht erkannt
    MarkAsSpamObjectTagsInHtml Object-Tags in HTML enthalten
    MarkAsSpamSensitiveWordList Überprüft die Nachricht auf bestimmte Wörter
    MarkAsSpamSpfRecordHardFail Wenn die SPF-Prüfung einen Fehler (Hardfail) liefert
    MarkAsSpamWebBugsInHtml Web-Bugs (externe Minigrafiken) in HTML enthalten

    Das Aktivieren einer Option erfolgt ebenfalls über Set-HostedContentFilterPolicy. Das folgende Beispiel schaltet die SPF-Prüfung ein. Generell können mehrere Parameter hintereinander eingegeben werden.

    Set-HostedContentFilterPolicy -Identity Default -MarkAsSpamSpfRecordHardFail On

    Weiterführende Beschreibungen, wie der Spam-Filter angepasst werden kann, gibt es hier auf Microsoft Docs.

    Quarantäneeinstellungen

    Damit User über Spam unter Quarantäne per Mail informiert werden, muss man die Benach­richtigung einschalten. Zusätzlich lässt sich das Intervall in Tagen und die Sprache der E-Mail angeben:

    Set-HostedContentFilterPolicy -Identity Default -EnableEndUserSpamNotifications $true `
    -EndUserSpamNotificationLanguage German -EndUserSpamNotificationFrequency 5

    Ausgehende Spam-Nachrichten (Outbound Spam)

    Um zu verhindern, dass über das System Spam versendet wird und man auf Blacklists landet, werden ausgehende Nachrichten auf Spam geprüft. Bestätigt sich der Verdacht, dann wird der betreffende User blockiert. Wie folgender Befehl zeigt, ist in der Standard­einstellung eine Benachrichtigung über solche Vorkommnisse nicht aktiviert:

    Get-HostedOutboundSpamFilterPolicy

    Get-HostedOutboundSpamFilterPolicy zeigt die Filtereinstellungen für ausgehenden Spam.

    Eine ausführliche Ausgabe mit den Benach­richtigungs­adressen liefert folgender Befehl:

    Get-HostedOutboundSpamFilterPolicy |
    fl Name, NotifyOutboundSpam, NotifyOutboundSpamRecipients, BccSuspiciousOutboundMail, BccSuspiciousOutboundAdditionalRecipients

    Möchte man die Benachrichtigung einrichten, dann erledigt Set-HostedOutboundSpamFilterPolicy diese Aufgabe:

    Set-HostedOutboundSpamFilterPolicy -Identity Default -BccSuspiciousOutboundMail $true `
    -BccSuspiciousOutboundAdditionalRecipients suspicious-sender@buerkit.de `
    -NotifyOutboundSpam $true -NotifyOutboundSpamRecipients outboundspam-alert@buerkit.de

    Ein Überprüfen bestätigt die erfolgreiche Ausführung des Befehls:

    Einstellungen prüfen, die zuvor mit Set-HostedOutboundSpamFilterPolicy konfiguriert wurden.

    Die Funktionsweise der Prüfung ausgehender Nachrichten über Office 365 erläutert Microsoft in diesem Artikel.

    Weitere Benachrichtigungen bei unterschiedlichen Aktionen können im Security und Complicane Center unter den Benach­richtigungs­richtlinien konfiguriert werden.

    Schadsoftware-Filter (Malware Filter)

    Der dafür zuständige Standardfilter kann über Get-MalwareFilterPolicy ausgelesen werden.

    Anzeigen der Einstellungen für den Malware-Filter mit Get-MalwareFilterPolicy

    Leider ist die Voreinstellung so, dass der Filter Nachrichten mit Schadsoftware isoliert, aber keine Benach­richtigung generiert. Somit bleiben Sender und Empfänger einer fälschlicher­weise abge­fangenen Mail im Unklaren darüber, dass die Nachricht gelöscht wurde.

    Lediglich der Administrator kann die Nachricht aus der Quarantäne über das Security und Compliance Center freigeben. Das Exchange Admin Center zeigt in der Quarantäne die vom Malware-Filter gelöschten Nachrichten jedoch nicht an. Weiterführende Informationen über die Quarantäne gibt es hier.

    Der Administrator kann abgefangene Nachrichten im Security und Compliance Center aus der Quarantäne freigeben.

    Benachrichtigungen für gelöschte Nachrichten und Anhänge

    Wenn man über eine abgefangene Mail benachrichtigt werden möchte, dann bietet EOP dafür mehrere Möglichkeiten. Es unterscheidet zwischen internen und externen Absendern von Mails mit Schadsoftware. Zusätzlich kann ein Administrator ebenfalls informiert werden.

    Um den Absender einer Nachricht, welche gelöscht wurde, zu benachrichtigen, müssen folgende Einstellungen getroffen werden:

    Set-MalwareFilterPolicy -Identity "Default" `
    -Action DeleteAttachmentAndUseDefaultAlertText
    -EnableInternalSenderNotifications $true -EnableExternalSenderNotifications $true

    Um einen Administrator zu benachrichtigen, verwendet man folgenden Befehl:

    Set-MalwareFilterPolicy -Identity "Default" -EnableInternalSenderAdminNotifications $true `
    -EnableExternalSenderAdminNotifications $true `
    -InternalSenderAdminAddress mailadmin@buerkit.de `
    -ExternalSenderAdminAddress mailadmin@buerkit.de

    Der Administrator und der Absender bekommen dann eine Benachrichtigung über die Unzustellbarkeit einer Nachricht.

    Der Malware-Filter lässt sich über den Versand einer E-Mail mit einem dafür vorgesehen Inhalt prüfen.

    Anlagen mit dem Schadsoftware-Filter blockieren

    Wenn generell Anhänge mit ausführbaren Dateien geblockt werden sollen, dann ist der Malware-Filter auch dazu in der Lage. Folgender Befehl sorgt dafür, dass Dateien mit den betreffenden Extensionen entfernt werden:

    Set-MalwareFilterPolicy -Identity "Default" -EnableFileFilter $true

    Weitere Informationen zur Schadsoftware-Filterung finden sich auf Microsoft Docs.

    Prüfen der Schutzfunktionen

    Anti-Spam-Systeme unter­schiedlicher Hersteller lassen sich mit einer speziellen Nachricht auf ihre Funktion testen. Sie muss folgenden Inhalt haben, um deren Betrieb, Aktionen und Benach­richtigungen zu überprüfen:

    XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

    Für den Test des Malware-Filters sieht die entsprechende Nachricht so aus:

    X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

    Fazit

    Insgesamt umfasst Office 365 in der Grund­ausstattung bereits eine adäquate Abwehr von Spam und Viren. Zusätzlich empfiehlt sich ein Schutz gegen Phishing-Angriffe, Exploits und Zero-Day Attacken, wie ihn die Advanced Threat Protection bietet (siehe dazu meinen Beitrag Malware und Phishing-Angriffe in Office 365 abwehren mit Advanced Threat Protection).

    Keine Kommentare