Office 365 Checkliste
Die letzten Tage haben gezeigt, dass Office365 für sehr viele schweizer Firmen quasi über Nacht zu einer der wichtigsten Applikationen wurde. Wir waren vorbereitet, andere wurden aber vollkommen überrumpelt. Die Bilanz nach einigen Tagen: Die Umgebung funktioniert zwar, aber wie sieht es mit der IT-Sicherheit aus? Das goSecurity-Team will in dieser schweren Zeit sein Know-How in Sachen Office 365 anbieten, so dass Sie Ihre Office365-Umgebung gegen die Bedrohungen aus dem Internet besser schützen können. Dazu haben wir bereits eine kostenlose Checkliste verteilt. In diesem BLOG wird detailliert auf die 13 Massnahmen der goSecurity Office365 Checkliste eingegangen.
Verbinden der Powershell mit Office 365
Wie Sie sich bzw. Ihre PowerShell Instanz mit Ihrem Office 365 (MFA) verbinden können wird hier ausführlich erklärt.
Falls Sie ohne MFA arbeiten (App-Kennwort) kann wie folgt verbunden werden:
PowerShell als Admin öffnen
Install-Module -Name AzureAD
Install-Module -Name MSOnline
Set-ExecutionPolicy RemoteSigned
Anmelden mit Admin und App-Kennwort:
$O365 = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic -AllowRedirection Import-PSSession $O365
Connect-MsolService
Gewünschte Powershell-Befehle eingeben
Mehr-Faktor-Authentifizierung
Für zusätzliche Sicherheit sollte mit einer sogenannten Mehr-Faktor-Authentifikation (MFA) gearbeitet werden. Dabei werden zwei Authentifizierungsmechanismen (in den meisten Fällen: Wissen und Haben) kombiniert. Durch eine Mehr-Faktor-Authentifizierung werden übliche Angriffsarten wie Man-in-the-Middle Attacken erschwert. Viele erfolgreiche Angriffe auf Office 365-Umgebungen in der Vergangenheit wären durch den Einsatz von MFA verhindert worden! Ein Benutzer müsste neben Benutzernamen und Passwort auch noch Zugriff auf beispielsweise ein Token erlangen. Wir empfehlen deshalb für Office365 eine Mehrfaktor-Authentifizierung zu verwenden.
Mittels folgendem PowerShell-Befehl können Sie überprüfen, ob und in welchem Grad MFA in Ihrer Office365 Konfiguration bereits aktiv ist:
Get-MsolUser –All | Select-Object UserPrincipalName, @{N="MFA Status"; e={$_.StrongAuthenticationRequirements.State}}
Die Mehr-Faktor-Authentifizierung ist in Office365 auch deshalb wichtig, da zurzeit Office365 noch keine Möglichkeit bietet, die Kennwortrichtlinie weiter einzuschränken als Ablaufdatum und Benachrichtigung bei Ablauf des Kennworts (bei Nutzung ohne einen Legacy AD).
Admin-Benutzer
Wie bei On Premise-Systemen (klassischer Exchange) existieren auch in Office365 Accounts mit administrativen Berechtigungen. Diese Accounts sollten immer persönlich sein und ausser für Arbeiten, welche administrative Berechtigungen benötigen, nicht verwendet werden.
Folgende PowerShell-Befehle zeigen Ihnen sämtliche Accounts mit erhöhten Berechtigungen auf:
$role = Get-MsolRole -RoleName "Company Administrator"
Get-MsolRoleMember -RoleObjectId $role.objectid
Stellen Sie sicher, dass keine normalen Benutzer-Accounts über erhöhte Berechtigungen verfügen und keine unpersönlichen Administratoren für tägliche administrative Arbeiten benutzt werden.
Authentifizierungsmechanismen
Für eine optimale Anmeldung an Office 365 sollte die OAUTH2 (Open Authorization 2) aktiviert sein. OAUTH bzw. OAUTH2 sind standardisierte, sichere API-Autorisierungsprotokolle für Desktop-, Web- und Mobile-Anwendungen.
Ob OAUTH2 in Ihrer Office365-Konfiguration aktiviert ist, können Sie mit folgendem PowerShell-Befehl auslesen:
Get-OrganizationConfig | Format-Table -Auto Name, OAuth*
Optimalerweise werden dabei die anderen, älteren Authentifizierungsverfahren deaktiviert. Stellen Sie sicher, dass LegacyAuthProtocolsEnabled auf False gestellt wird. Andernfalls können die älteren Authentifizierungsverfahren vom Client erzwungen werden. Damit wird die Sicherheit reduziert.
Connect-SPOService
Get-SPOTenant | ft LegacyAuthProtocolsEnabled
Dieser Befehl sollte die Ausgabe „false“ zurückgeben, ansonsten sind veraltete Authentifizierungsmechanismen aktiviert.
Teilen von Daten
Bei einer Standard-Installation, können Mitglieder der Organisation sämtliche Daten via Link freigeben. Über diesen Link können auch nicht authentifizierte Personen auf die Daten zugreifen. Aus IT-sicherheitstechnischer Sicht sollte dies (üblicherweise) nicht möglich sein. Stellen Sie sicher, dass per Default nur Mitarbeitende derselben Organisation Zugriff auf die Daten haben können.
Diese Einstellungen werden im Control Panel von Office 365 gesetzt.
In den Einstellungen des Office365 kann ebenfalls konfiguriert werden, dass Ressourcen, welche mit externen Benutzern geteilt wurden, von diesen nicht weitergeteilt werden können.
Mittles folgendem PowerShell-Befehl kann diese Einstellung überprüft werden:
Get-SPOTenant | ft PreventExternalUsersFromResharing
Selbstständige Passwort-Rücksetzung für Benutzer
Es sollte den Benutzern die Möglichkeit gegeben werden, ihr Kennwort bei Bedarf zurückzusetzen bzw. zu ändern. Überprüfen Sie die Möglichkeit, diese Option zu aktivieren. So können Mitarbeitende im Verdachtsfall ihr eigenes Passwort selbstständig ändern.
Teilen des Kalenders unterbinden
Kalender können, wenn nicht unterbunden, mit externen Personen bzw. E-Mail-Adressen geteilt werden. Je nach Vertraulichkeit der jeweiligen Informationen in den Kalendereinträgen macht es Sinn, diese Option zu unterbinden.
Auch hier existiert ein PowerShell Befehl, um die betroffenen Einstellungen zu überprüfen.
Get-SharingPolicy | Where-Object { $_.Domains -like '*CalendarSharing*' }
Automatisches Weiterleiten von Firmen-E-Mails an externe Domänen verbieten
Oft werden alle Firmen-E-Mails von Mitarbeitenden der Einfachheit halber automatisch auf einen privaten E-Mail-Account weitergeleitet. Dies ist aus IT-sicherheitstechnischer Sicht kritisch, da Sie keine Kontrolle über diesen Account haben und so vertrauliche oder schützenswerte Daten an Personen gelangen könnten, für welche diese nicht gedacht sind. Zudem gibt es E-Mails Services, die alle Nachrichten analysieren.
Ob solche Weiterleitungen vorhanden sind, kann mit folgendem PowerShell-Befehl überprüft werden:
Get-TransportRule | Where-Object {$_.RedirectMessageTo -ne $null} | ft Name,RedirectMessageTo
Damit auch zukünftig keine Firmen-E-Mails automatisch weitergeleitet werden, muss eine Regel konfiguriert werden, die dies blockiert. Die konfigurierten Regeln können wie folgt eingesehen werden:
Get-TransportRule | where { $_.Identity -like '*' }
Ransomware/Phishing Policies
Office 365 bietet gute Ransomware und Phsihing Policies. Es ist wichtig, dass diese aktiviert sind, so dass E-Mails und Anhänge mit schädlichem Inhalt (soweit möglich) bereits durch das System herausgefiltert werden können. Natürlich bieten diese Policies keinen hundertprozentigen Schutz, sind aber eine gute Grundlage.
Ob die Antiphishing-Policy aktiviert ist, kann wie folgt kontrolliert werden:
Get-AntiPhishPolicy | ft Name
Es besteht der Weiteren die Möglichkeit, unbekannte Anhänge zu blockieren. Diese Einstellung kann mit folgendem Befehl kontrolliert werden:
Get-MalwareFilterPolicy -Identity Default | Select-Object EnableFileFilter
Ebenso besteht die Möglichkeit, dass Administratoren benachrichtigt werden, falls von einer E-Mail-Adresse eines Mitarbeiters aus verdächtige E-Mails (Spam) versendet werden. Ob die Einstellung richtig gesetzt ist, sehen Sie mit folgendem Befehl:
Get-HostedOutboundSpamFilterPolicy | Select-Object Bcc*, Notify*
Hier sollten BccSuspiciousOutboundMail und NotifyOutboundSpam auf True stehen, sowie eine Notification E-Mail hinterlegt sein.
Advanced Threat Protection
Das ATP Feature in Office 365 erfordert entsprechende Lizenzen. Falls Sie im Besitz dieser sind, reicht eine einfache Aktivierung des Features noch nicht aus. Mit folgendem Befehl kann kontrolliert werden ob Office 365 die Links in E-Mails auf sog. Safe Links untersucht:
Get-SafeLinksPolicy | Select-Object Name, IsEnabled, ScanUrls, EnableForInternalSenders, AllowClickThrough
Hier müssen IsEnabled und ScanURLs auf True stehen und AllowClickThrough auf False.
Ob Anhänge auf Malware überprüft werden, verrät folgende Abfrage:
Get-SafeAttachmentPolicy | where-object {$_.Enable -eq "True"}
DKIM
DKIM ist eine Methode der E-Mail Authentifizierung, welche sicherstellt, dass die E-Mails auf ihrem Weg vom sendenden zum empfangenden Server nicht verändert werden. Stellen Sie sicher, dass DKIM für sämtliche Domänen, welche im produktiven Einsatz sind, korrekt konfiguriert ist.
Der PowerShell-Befehl zur Kontrolle der Einstellungen lautet wie folgt:
Get-DkimSigningConfig
SPF-Eintrag
Ein SPF-Eintrag soll das Fälschen von E-Mail-Absendern verhindern. Dieser wird in der DNS-Zone der Firmendomäne als TXT-Eintrag erfasst. Nachfolgend ein Beispiel für einen korrekt gesetzten SPF-Eintrag:
v=spf1 mx ip4:91.228.XX.XX/23 include:spf.protection.outlook.com -all
- Der erste Teil erlaubt die eingetragenen MX-Server der firmeneigenen DNS-Zone, falls noch ein On-Premise Exchange Server vorhanden ist.
- Mittels „ipv4:“ können einzelne IP-Adressen oder ganze IP-Adressranges erlaubt werden (CIDR-Schreibweise)
- „include:spf.protection.outlook.com“ erlaubt die Nutzung von Office 365 zusammen mit dem firmeneigenen SPF-Eintrag.
- -all schliesst sämtliche anderen IP-Adressen als Sender aus.
Backup
Sie verwenden Office 365. Die Daten werden in den Datenzentren von Microsoft gespeichert. Wie auch in sämtlichen anderen Bereichen gilt auch hier: Doppelt hält besser. Stellen Sie sicher, dass Ihre Firmendaten in regelmässigen Abständen lokal gebackupt werden. So haben Sie in einem Notfall immer noch eine Kopie der Daten bei sich. Es existieren verschiedene Anbieter, welche Office 365 Backups anbieten. Da die goSecurity AG herstellerunabhängig ist, wird an dieser Stelle keine Empfehlung für eine geeignete Backup-Lösung gemacht.
Schulung der Mitarbeitenden
In vielen Firmen wurde Office 365 in Zusammenhang mit Home Office kurzfristig eingeführt. Viele der Mitarbeitenden sind mit der neuen Situation überfordert. Das wissen auch die Cyber-Kriminellen und greifen spezifisch Personen und Firmen an, bei welchen Sie ein hohes Home Office Vorkommen vermuten. Ohne täglichen persönlichen Kontakt eröffnen sich für Angreifer neue Angriffsvektoren. Beispielsweise haben die Angriffschancen eines sog. CEO-Fraud, in welchem die für die Zahlungen verantwortliche Personen aufgefordert wird einen grossen Betrag zu überweisen, in der jetzigen Zeit eine erhöhte Erfolgschance, da kein persönlicher Kontakt besteht und der CEO sowieso unter Strom steht und in dieser Zeit sicherlich nicht mit solcher „Lappalien“ belästigt werden will.
Aus diesem und weiteren Gründen ist gerade in der jetzigen, schwierigen Zeit die Mitarbeitenden-Awareness sehr wichtig. Nutzen Sie diese Voraussetzungen für den Start eines Awareness-Prozesses. Idealerweise beinhaltet dieser unterschiedliche Elemente (aber nicht zu viele auf einmal). Eindrückliche (Remote-) Kurz-Schulungen bleiben den Benutzern meist am längsten in Erinnerung. Kombiniert und koordiniert mit einzelnen anderen Awareness-Massnahmen kann die Sensibilität deutlich gesteigert werden.
Informationen zum Autor: Michel Hennet
Schon während meines Studiums an der ZHAW in Winterthur faszinierte mich die IT-Security. Unbedingt wollte ich darum die Stelle als Junior Security Consultant bei der Firma goSecurity bekommen. Schon während meinen ersten Kundenprojekten wurde mir klar: Genau das habe ich gesucht. Aus der Faszination entwickelt sich bei mir eine Leidenschaft. Die Leidenschaft als technischer Spezialist die Geschäftsanforderungen perfekt zu unterstützen. Nur so ist der Begriff des Experten für mich erst legitim. Mein voller Einsatz für Sie befriedigt meine Leidenschaft und meine Ansprüche an mich selbst.