W ostatnim wpisie poświęconym zasadom kwarantanny odbiliśmy nieco od Defendera for O365 w kierunku Exchange Online Protection. Obydwa mechanizmy są ze sobą dość mocno powiązane. Myślę, że mogę śmiało stwierdzić, że Defender for O365 rozszerza funkcjonalności dostępne w ramach EOP. Sam Exchange Online Protection zawiera w sobie sporo ciekawych mechanizmów, a jednym z nich są właśnie polityki anty-malware.
Mechanizm anty-malware w EOP
Zanim przejdziemy do polityk anty-malware, które możemy skonfigurować, zacznijmy od samego mechanizmu. Mechanizm ten działa w zasadzie tak, jak znane nam oprogramowania antywirusowe. Microsoft, na potrzeby utrzymywania aktualnego silnika antywirusowego współpracuje w specjalizującymi się w tym zakresie partnerami. Efektem partnerstwa jest skanowanie załączników nie tylko przez silniki anty-malware Microsoft, ale także dwóch niezależnych silnikach działających w oparciu o sygnatury malware. Dodatkowo korzysta z wielu różnych silników zewnętrznych, które pomagają określić reputację danego pliku.
Załączniki w wiadomościach są przez mechanizm anty-malware skanowane „w locie” tj. przed dostarczeniem wiadomości do odbiorcy. Dodatkowo, dzięki mechanizmowi ZAP (zero-hour auto purge) przeprowadzane jest dodatkowe skanowanie po aktualizacji bazy sygnatur. A weryfikacja, czy pojawiła się jakaś aktualizacja następuje co godzinę.
Dla organizacji posiadających skrzynki w Exchange Online skanowana jest cała komunikacja, zarówno wewnątrz firmowa jak i zewnętrzna. Sam proces skanowania jest również bardzo skuteczny i złożony. Wykorzystuje on do skanowania metody heurystyczne i w teorii próbuje wykrywać również podejrzane zachowanie danego oprogramowania. Oznacza to, że nawet w przypadku braku danej sygnatury malware, istnieje szansa na wykrycie podejrzanego zachowania danego pliku. Zdecydowanie skuteczniejszą opcją w takim przypadku jest jednak mechanizm bezpiecznych załączników, któremu poświęcę jeden z kolejnych artykułów. Mechanizm anty-malware poradzi sobie również w wielu mniej typowych przypadkach, jak np. spakowanie malware do archiwum „.zip”. Dzięki skanowaniu rekursywnemu nie będzie również problemów, jeżeli archiwum „.zip” pojawi się wewnątrz innego archiwum „.zip”
Jak to bywa w oprogramowaniem antywirusowym – nie jest ono pozbawione wad, a już na pewno nie wykryje wszystkich zagrożeń. Główną wadą wykrywania w oparciu o bazę sygnatur jest fakt, że jeżeli danej sygnatury nie ma, zagrożenie nie zostanie wykryte. A naturalnie dla każdego zagrożenia, które nie pojawiło się nigdy wcześniej, sygnatury nie będzie w bazie. Jeżeli chcielibyście poczytać więcej o działaniu oprogramowania antywirusowego zachęcam do lektury np. tego artykułu.
Polityki anty-malware
Nie ciężko odgadnąć, że głównym zadaniem polityk jest ochrona naszych użytkowników czy naszej organizacji przed działaniem złośliwego oprogramowania. Domyślnie wszystkie skrzynki pocztowe w Exchange Online są chronione domyślną polityką anty-malware. Jest ona mało inwazyjna, choć zdecydowanie skuteczna, lecz w mojej opinii nie wyczerpuje potencjału tego mechanizmu. Domyślnej polityki nie możemy usunąć, ale każda tworzona przez nas polityka będzie miała wyższy priorytet.
Za pomocą polityk anty-malware możemy sprecyzować działanie mechanizmu w zakresie:
- blokady załączników z konkretnym rozszerzeniem, np. „.exe”
- włączenia ZAP (zero-hour auto purge) czyli w dużym skrócie mechanizmu przeprowadzającego ponowne skanowanie po aktualizacji bazy sygnatur
- określenia szczegółów dotyczących notyfikacji w przypadku wykrycia malware/niedostarczenia wiadomości
- określenia zasady kwarantanny, która ma być stosowana w przypadku wykrycia złośliwych załączników
Dzięki takiej możliwości doprecyzowania sposobu działania mechanizmu nie mamy problemu z dostosowaniem go do potrzeb naszej organizacji.
Konfiguracja polityk anty-malware
Przejdźmy do rzeczy. Możliwość konfiguracji polityk anty-malware znajdziemy oczywiście w portalu Microsoft 365 Defender. Jeżeli nie wiesz jak tam trafić, zachęcam do zapoznania się z jednym z poprzednich artykułów.
W sekcji Anti-malware, gdzie znajduje się już domyślnie tworzona polityka, klikamy w Create:
W pierwszej kolejności określamy oczywiście nazwę tworzonej polityki:
Następnie określamy kogo będzie dotyczyła dana polityka. W moim przypadku będą to wszyscy użytkownicy:
W kolejnym kroku docieramy wreszcie do właściwych ustawień polityki. Możemy tutaj znaleźć szereg różnych opcji:
- Enable the common attachments filter – filtr pomagający blokować rozszerzenia plików, które raczej nie powinny być przesyłane mailem. Dla rozszerzeń typu „.exe” (plik wykonywalny, program), „.reg” (edycja rejestru systemowego) czy „.docm” (makra w dokumencie) być może nie musimy przeprowadzać skanowania. Dzięki włączeniu tej opcji pliki z takimi rozszerzeniami będą z automatu uznawane za zagrożenie i blokowane. Listę tą możemy dostosowywać wybierając interesujące nas rozszerzenia z dostepnej listy (96 elementów).
- Enable zero-hour auto purge for malware – czyli mechanizm ZAP. Jego włączenie spowoduje uruchamianie ponownego skanowania załączników po aktualizacji bazy sygnatur. Jeżeli wcześniej mechanizm nie wykrył danego załącznik jako zagrożenie, to ma szansę odnaleźć go po aktualizacji. Jeżeli zostanie on wykryty – zostanie on również zablokowany.
- Quarantine policy – wskazanie, która polityka kwarantanny powinna być przypisywana dla wykrytych w załącznikach zagrożeń.
- Notification – konfiguracja powiadomień, które mają być wysyłane w przypadku wykrycia malware’u
- Powiadomienie dla odbiorcy, że wiadomość została skierowana na kwarantannę
- Powiadomienie dla zewnętrznego i/lub wewnętrznego nadawcy wiadomości z informację, że trafiła ona na kwarantannę
- Powiadomienia dla administratorów o niedostarczeniu wiadomości do użytkownika z naszej organizacji lub adresata zewnętrznego
- Określenie własnej treści takiego powiadomienia
W ostatnim kroku musimy już tylko zweryfikować, czy wszystkie ustawienia są poprawne i utworzyć politykę:
Polityka powinna być aktywna maksymalnie do 1h.
Rekomendowane ustawienia dla polityki anty-malware
Jeżeli nie mamy żadnego specyficznego scenariusza stanowczo rekomenduję włączenie ochrony anty-malware dla wszystkich użytkowników w organizacji.
Zgodnie z oficjalnymi rekomendacjami Microsoft tworzona polityka anty-malware powinna:
- Blokować najpopularniejsza rozszerzenia plików, które nie powinny być przesyłane droga mailową
- Posiadać włączony mechanizm ZAP
- Mieć przypisaną domyślnie tworzoną politykę kwarantanny – AdminOnlyAccessPolicy
Jeżeli chodzi o moje sugestie oraz spojrzenie na poszczególne opcje:
- Enable the common attachments filter – filtr zdecydowanie powinien pozostać włączony, a rozszerzenie dostosowane do naszej firmy. Np. część firm nadal korzysta z makr, chociażby w Excelu. W takim przypadku należy rozważyć zrezygnowanie z makr ( 😉 ), a następnie wyłączenie rozszerzeń typu „.docm” z zakresu działania.
- Enable zero-hour auto purge for malware – Mechanizm, który z pewności powinniśmy zostawić włączony. Skanowanie i wykrywanie zagrożeń w oparciu o aktualizację bazy sygnatur może być kluczowe dla bezpieczeństwa naszej organizacji. Szczególnie jeżeli nie korzystamy z mechanizmu bezpiecznych załączników.
- Quarantine policy – niekoniecznie musi to być domyślnie zdefiniowana polityka kwarantanny. Stanowczo jednak rekomenduję bardzo ograniczoną politykę, a w szczególności brak możliwości wyciągania wiadomości z kwarantanny bez wcześniejszej akceptacji.
- Recipient notification – to zależy. Generalnie skłaniam się ku nie włączaniu tej opcji, jeżeli wiadomości trafiające na kwarantannę monitorujemy na bieżąco. Jeżeli tak nie jest – być może warto informować użytkownika, aby nie stracił on ważnej wiadomości, która okaże się false positive-m.
- Sender notification – ponownie, to zależy. Skłaniam się ku nie informowaniu o niedostarczeniu wiadomości zewnętrznych użytkowników. W takiej sytuacji lepiej chyba informować odbiorcę wiadomości, który jest pracownikiem naszej organizacji. Jeżeli chodzi o informację dla naszych użytkowników – w zasadzie można odnieść to do poprzedniego punktu.
- Admin notification – tą opcję można włączyć jeżeli nie przeglądamy poddanych kwarantannie wiadomości regularnie. Rozważyłbym, czy nie dodać w tym miejscu dedykowanej skrzynki współdzielonej, która pokaże nowe wiadomości w Outlooku, ale nie będzie generowała zbyt wielu powiadomień. Opcja z pewnością warta włączenia w przypadku posiadania dedykowanej osoby.
Polityki anty-malware via PowerShell
Naturalnie polityki anty-malware możemy również tworzyć czy edytować poprzez PowerShell. Jeżeli nigdy wcześniej nie zarządzaliście funkcjonalnościami Exchange Online poprzez PowerShell, niezbędne będzie doinstalowanie odpowiednich modułów:
Install-Module ExchangeOnlineManagement
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline
W przypadku tworzenia polityk anty-malware niezbędne będzie utworzenie polityki oraz zasady filtrowania malware’u. Polityka będzie determinowała zachowanie mechanizmu, ale bez utworzenia zasady, utworzona polityka nie będzie widoczna w portalu. Być może ktoś zapyta z czego to wynika, skoro w portalu tworzymy włącznie politykę? W portalu tworzymy politykę anty-malware, w ramach której pod spodem tworzone są polityka i zasada filtrowania malware’u. W przypadku PowerShell jesteśmy niestety zmuszeni stworzyć te dwa elementy osobno.
Do utworzenia polityki może nam posłużyć następujące polecenie. Polityka określi nam szczegóły zachowania mechanizmu, które konfigurowaliśmy w trzecim korku kreatora w portalu:
New-MalwareFilterPolicy `
-Name "Anti-malware PowerShell Policy" `
-EnableFileFilter $true `
-ZapEnabled $true `
-QuarantineTag AdminOnlyAccessPolicy `
-Action DeleteMessage
Oczywiście możliwych do określenia parametrów jest znacznie więcej. Szczegółową listę wraz z opisami i przyjmowanym wartościami można znaleźć w dokumentacji.
Na podstawie utworzonej już polityki, będziemy tworzyli zasadę. Zasada z kolei będzie określała takie parametry jak nazwa czy zakres działania polityki (do których użytkowników będzie stosowana). Przykładowe polecenie tworzące zasadę może wyglądać nastepująco:
New-MalwareFilterRule `
-Name "Anti-malware PowerShell Policy" `
-MalwareFilterPolicy "Anti-malware PowerShell Policy" `
-SentToMemberOf "All Company"
Dostępne parametry czy wartości również znajdziemy w dokumentacji. Finalnie polityka będzie oczywiście widoczna w portalu Microsoft 365 Defender (może to zająć 2-3 minuty):
Polityki zawsze będą przetwarzane w kolejności od najmniejszej do największej. Domyślnie tworzona polityka zawsze będzie miała najniższy możliwy priorytet, więc każda utworzona przez nas polityka będzie ją nadpisywała.
Wykorzystanie powyższych poleceń pozwoli Wam jednak skonfigurować podstawową, zgodną z dobrymi praktykami zasadę. Elementy, które potencjalnie chcielibyśmy modyfikować to nazwa grupy użytkowników (-SentToMemberOf) lub alternatywne określenie objętej grupy użytkowników poprzez domenę (-RecipientDomainIs). Reszta parametrów powinna przejść w Waszych środowiskach bez problemów.
Jeżeli macie ochotę – możecie spokojnie skopiować i wykorzystać powyższe polecenia do utworzenia zasad w Waszych środowiskach. Zachęcam jednocześnie do głębszego rozważenia ustawień, które będą odpowiednie w Waszym konkretnym przypadku.