W kolejnym wpisie z serii poświęconej Defenderfowi for O365 przejdziemy do powiązanych z nim funkcjonalności Exchange Online Protection. Na warsztat bierzemy dziś zasady kwarantanny. Odpowiednie przygotowanie zasad kwarantanny posłuży nam jako solidna podstawa pod kolejne funkcjonalności EOP czy Defendera for O365. Mowa tutaj przede wszystkim o politykach anti-malware, anti spam czy funkcjonalności „Bezpieczne załączniki”, choć możemy je wykorzystać chociażby w opisanym już mechanizmie anti-phishing. Nie uprzedzajmy jednak faktów, dojdziemy do nich w kolejnych artykułach. Dziś skoncentrujmy się na wspomnianych zasadach kwarantanny. Zapraszam do lektury!
Czym są zasady kwarantanny w EOP?
Zasady kwarantanny pozwalają administratorom kontrolować czynności, które mogą wykonać użytkownicy względem wiadomości objętych kwarantanną. Czynności te będą determinowane poprzez powód, przez który dana wiadomość została poddana kwarantannie. Oprócz tego, tworząc polityki kwarantanny możemy również włączyć odpowiednie powiadomienia dla użytkowników. Pomimo pozornie dość szerokiego zakresu, definiowanie zasad kwarantanny nie jest przesadnie rozbudowane i dość proste do wykonania. Za moment przekonamy się o tym w praktyce.
Domyślnie w środowisku znajdziemy kilka zdefiniowanych już zasad kwarantanny. W zależności od tego kiedy zostało utworzone nasze środowisko, mogą być to dwie lub trzy zasady:
- AdminOnlyAccessPolicy – nie pozwalająca podejmować żadnych działań wobec wiadomości na kwarantannie
- DefaultFullAccessPolicy – pozostawiająca w zasadzie pełną gamę możliwych do wykonania czynności wobec wiadomości w kwarantannie
- NotificationEnabledPolicy (dla tenantów założonych +/- po lipcu 2021) – włączająca powiadomienia
Zasada NotificationEnabledPolicy może nie występować w naszym środowisku również z kilku innych przyczyn. Może być to chociażby inna własna polityka definiująca powiadomienia czy brak wcześniejszego korzystania z powiadomień o spamie dla użytkowników końcowych. Uprawnienia zdefiniowane w powyższych politykach są z resztą odpowiednikami historycznych uprawnień i funkcjonalności. Ale dziś nie o historii, a aktualnie dostępnych funkcjonalnościach (zainteresowanych odsyłam do dokumentacji).
Uprawnienia w zasadach kwarantanny
Biorąc pod uwagę domyślnie tworzone zasady oraz możliwą do wyboru opcję podczas tworzenia własnej zasady (o czym za moment) dostępne mamy 3 gotowe zestawy uprawnień:
- No access
- Limited access
- Full access
Powiązane z nimi zestawy uprawnień prezentują się następująco:
Zestaw Limited access dostępny przy okazji tworzenia własnej zasady pozwala więc na zablokowanie nadawcy, usuwanie wiadomości czy jej podgląd. Oprócz tego, w przeciwieństwie do pełnego dostępu, pozwala zawnioskować o przywrócenie wiadomości z kwarantanny zamiast umożliwić to użytkownikowi. Może to wynikać np. z false positive, czyli w tym przypadku błędnej klasyfikacji wiadomości jako zagrożenie i umieszczenie jej na kwarantannie.
Pozostałe uprawnienia jasno obrazuje powyższa grafika. Zostaną one dokładnie przedstawione w dalszej części artykułu.
Domyślne zasady kwarantanny a funkcjonalności EOP/Defendera for O365
W przypadku, gdy nie posiadamy własnoręcznie zdefiniowanych zasad kwarantanny, konfigurując pozostałe funkcjonalności EOP czy Defendera for O365 są one przypisywane automatycznie. Dla poszczególnych funkcjonalności wygląda to nastepująco:
Większość wykrytych zagrożeń w wiadomościach zostaje poddana kwarantannie pozostawiając użytkownikom pełne uprawnienia. Niewątpliwym zagrożeniem jest możliwość wyłączenia z kwarantanny potencjalnego phishingu. Wyłącznie w przypadku bardzo wysokiej pewności co do phishingu nakładana jest zasada nie pozostawiająca użytkownikom żadnych uprawnień.
W zasadzie w każdym przypadku użytkownicy posiadają pełne uprawnienia względem poddanej kwarantannie wiadomości. Z uwagi na to, iż mamy do czynienia w phishingiem – potencjalnie niebezpieczna konfiguracja.
Każdorazowo użytkownicy nie mają żadnych uprawnień względem wiadomości poddanych kwarantannie
Do załączników potencjalnie zawierających złośliwe oprogramowanie przesłanych drogą mailową użytkownicy nie posiadają uprawnień. W przypadku wykrycia złośliwego systemu przez ten mechanizm dla plików w SharePoint, OneDrive czy Teams – polityki kwarantanny nie są wspierane
- Zasady przepływu poczty
Dla zasad przepływu poczty w Exchange-u funkcjonalność również nie jest wspierana.
Własne zasady kwarantanny
Z oczywistych względów domyślnie zdefiniowane zasady mogą nie odpowiadać potrzebom naszej organizacji. Co warte odnotowania – domyślnych zasad nie możemy modyfikować np. włączając dla nich powiadomienia dla użytkowników. Dlatego też o ile chcemy dostosować ustawienia musimy stworzyć zupełnie nowe polityki kwarantanny.
Zasady kwarantanny znajdziemy standardowo w grupie zasad dotyczących zagrożeń (jeżeli nie wiesz gdzie je znaleźć odsyłam do poprzednich artykułów):
Aby utworzyć własną zasadę kwarantanny klikamy w Add custom policy:
W pierwszym korku określamy nazwę tworzonej zasady
W następnym kroku określamy zestaw uprawnień użytkowników wobec wiadomości poddanych kwarantannie. Możemy wybrać zdefiniowany już zestaw uprawnień – Limited Access (ograniczony dostęp) lub zdefiniować uprawnienia samodzielnie.
Każde z pięciu uprawnień widocznych na grafice w sekcji Uprawnienia w zasadach kwarantanny możemy dowolnie dostosować tworząc politykę:
Zdefiniowany zestaw Limited access wydaje się jednak, przynajmniej w mojej opinii, rozsądną opcją:
W kolejnym kroku definiujemy, czy użytkownik powinien otrzymywać powiadomienia o umieszczeniu wiadomości na kwarantannie:
Za pomocą krótkiego, prostego kreatora zasady dotyczące kwarantanny zostały skonfigurowane. Polityka jest gotowa do wykorzystania przy okazji konfiguracji pozostałych funkcjonalności EOP lub Defendera for O365.
Konfiguracja zasad kwarantanny poprzez PowerShell
Jak to zwykle bywa w przypadku czynności administracyjnych, to co jesteśmy w stanie zrobić z poziomu GUI (interfejsu graficznego), możemy również zrobić poprzez PowerShell-a. Nie inaczej jest w przypadku zasad kwarantanny.
Zasady kwarantanny możemy definiować dzięki tzw. one-linerów, czyli krótkich kawałków kodu, zawierających raptem jedną linijkę. Jedynym, co może przysporzyć nam nieco kłopotu jest kwestia określenia uprawnień. Po zrozumieniu działania tego mechanizmu nie jest to jednak przesadnie trudne.
Określanie uprawnień
Uprawnienia zasady kwarantanny będziemy określali dzięki cyfr (nieco podobnie jak np. w przypadku uprawnień w środowisku Linux). Będzie ona musiała mieścić się w przedziale od 0 do 236 (nie 256(!) o czym zaraz).
Do zdefiniowania będziemy mieli 7 różnych uprawnień:
- PermissionToViewHeader – możliwość podejrzenia nagłówków wiadomości email
- PermissionToDownload – możliwość pobierania wiadomości
- PermissionToAllowSender
- PermissionToBlockSender – możliwość zablokowania nadawcy wiadomości
- PermissionToRequestRelese – możliwość wnioskowania o „wyjęcie” wiadomości z kwarantanny
- PermissionToRelease – możliwość „wyjęcia” wiadomości z kwarantanny
- PermissionToPreview – możliwość podglądu wiadomości
- PermissionToDelete – możliwość usunięcia wiadomości
Użytkownik (prawie) każde uprawnienie może posiadać lub go nie posiadać. o ile dane uprawnienie ma być przypisane, przypiszemy mu wartość „1”. o ile nie – wartość „0”.
Opcje PermissionToRelease oraz PermissionToRequestRelease wzajemnie się wykluczają, dlatego też nigdy nie mogą występować wspólnie w jednym zestawie uprawnień. Nigdy nie będzie więc sytuacji, iż obydwa uprawnienia będą miały wartość „1”.
Z przypisanych „0” oraz „1” otrzymamy liczbę binarną 8-bitową. Należy pamiętać o zapisie „0” i „1” w kolejności podanej powyżej.
Dla przykładu załóżmy, iż chcemy otrzymać zestaw uprawnień umożliwiający blokadę nadawcy oraz usuwanie. Oprócz tego dorzućmy możliwość wnioskowania o wyłączenie wiadomości z kwarantanny. 3 spośród 7 uprawnień będą więc ustawione na „1”, pozostałe przyjmą wartość „0”. Będzie to więc wyglądało następująco:
- PermissionToViewHeader – „0”
- PermissionToDownload – „0”
- PermissionToAllowSender – „0”
- PermissionToBlockSender – „1”
- PermissionToRequestRelease – „1”
- PermissionToRelease – „0”
- PermissionToPreview – „0”
- PermissionToDelete – „1”
Finalna wartość liczby binarnej to 00011001, czyli w systemie dziesiętnym – 25. Tą liczbę możemy już wykorzystać do określenia uprawnień w PowerShell-u.
Tworzenie zasady w PowerShell-u
Zasady kwarantanny w PowerShell-u będziemy tworzyli dzięki polecenia New-QuarantinePolicy. Samo polecenie dla zasady z uprawnieniami jak powyżej będzie wyglądało nastepująco:
New-QuarantinePolicy -Name "ArticleQuarantinePolicy" -EndUserQuarantinePermissionsValue 25 -EsnEnabled $true
Aby wykonać polecenie niezbędne jest oczywiście wcześniejsze połączenie z Exchange Online. o ile nigdy wcześniej tego nie robiliśmy, niezbędne będzie wcześniejsze doinstalowanie odpowiednich modułów itp. Dlatego też cały „skrypt” będzie wyglądał następująco:
Install-Module ExchangeOnlineManagement Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser Import-Module ExchangeOnlineManagement Connect-ExchangeOnline New-QuarantinePolicy -Name "ArticleQuarantinePolicy" -EndUserQuarantinePermissionsValue 25 -EsnEnabled $trueW momencie pisania pierwszej wersji tego artykułu w dokumentacji widniały błędy dotyczące kolejności przypisywanych uprawnień. o ile skonfigurowałeś mechanizm wcześniej, koniecznie zajrzyj na opis zgłoszonego przeze mnie błędu – tutaj.
Zasady kwarantanny w praktyce
Oczywiście zasady kwarantanny nie determinują kryteriów, które muszą być spełnione, aby wiadomość znalazła się na kwarantannie. Tą kwestią zajmiemy się w kilku kolejnych artykułach. Teraz skoncentrujmy się na samym działaniu utworzonych wyżej zasad w kontekście wiadomości, która już na takiej kwarantannie się znajduje.
Z perspektywy administratora wiadomości na kwarantannie zobaczymy w centrum administracyjnym Microsoft 365 Defender. W zakładce Review znajdziemy opcję Quarantine:
W środku znajdziemy listę wszystkich wiadomości, które trafiły na kwarantannę. Narzędzie pozwala nam rozróżnić znajdujące się na kwarantannie wiadomości email oraz pliki:
Z perspektywy administratora czy osoby zajmującej się bezpieczeństwem w naszej organizacji mamy pełne możliwości interakcji ze znajdującą się na kwarantannie wiadomością. W celu oceny, czy wiadomość ta faktycznie jest zagrożeniem możemy podejrzeć jej treść, przejrzeć nagłówki czy pobrać do dalszej analizy. Zależnie od wyników przeprowadzonej weryfikacji mamy do wyboru kilka możliwości. W przypadku zaklasyfikowania wiadomości jako false positive możemy zwolnić wiadomość z kwarantanny i dostarczyć do użytkownika. o ile wiadomość faktycznie stanowi zagrożenie – możemy ją usunąć czy dodać nadawcę na listę zablokowanych nadawców:
Zasady kwarantanny z perspektywy użytkownika
Ciekawą i istotną kwestią jest niewątpliwie kwestia zarządzania wiadomościami na kwarantannie przez zwykłego użytkownika. To przecież właśnie dla użytkownika końcowego definiowaliśmy uprawnienia w ramach tworzonych zasad.
Użytkownik końcowy również będzie miał dostęp do centrum administracyjnego Microsoft 365 Defender. Oczywistym jest, iż z racji braku posiadanych uprawnień nie będzie on posiadał dostępu do czynności administracyjnych. Widać to już po menu po lewej stronie, które jest dużo bardziej skąpe niż z perspektywy administratora. Poza tym – bez odpowiednich uprawnień w zdecydowaną większość widocznych dla użytkownika miejsc i tak nie będzie się on mógł dostać. Będzie on natomiast miał dostęp do wiadomości poddanych kwarantannie, naturalnie wyłącznie tych, które były adresowane do niego.
W przypadku chociażby nieotrzymania spodziewanego maila użytkownik może zajrzeć pod security.microsoft.com. Wiadomości poddane kwarantannie znajdzie w dokładnie tym samym miejscu co administrator: Review -> Quarantine
Lista wiadomości poddanych kwarantannie również wygląda podobnie jak w przypadku widoku administracyjnego:
Naturalnie w przypadku skonfigurowania zasady kwarantanny w taki sposób, aby wysyłane były powiadomienia, użytkownik zobaczy stosowną informację na swojej skrzynce. Znajdą się tam również linki, które pozwolą skrócić całą ścieżkę podjęcia odpowiednich działań wobec wiadomości:
Lista dostępnych do wykonania czynności wobec poddanej kwarantannie wiadomości jest już w prost zależna od nadanych uprawnień. Będąc bardziej precyzyjnym – widoczność definiuje przypisana do danego użytkownika zasada kwarantanny. W przypadku tworzonej przez nas wcześniej zasady Custom Quarantine Policy będzie to wyglądało następująco:
Zgodnie z nadanymi uprawnieniami użytkownik ma możliwość podejrzeć treść wiadomości. Jest to szczególnie istotne w kontekście weryfikacji, czy nie mamy do czynienia z false positive. Podgląd wiadomości jest jednak bezpieczny – użytkownik nie będzie miał możliwości np. kliknięcia w zawarty w wiadomości link:
Zwalnianie wiadomości z kwarantanny
Zgodnie z posiadanymi uprawnieniami użytkownik może oczywiście podejrzeć również nagłówki, usunąć wiadomość czy zablokować nadawcę. Być może pozwoli to na samodzielne podjęcie odpowiednich akcji przez świadomego użytkownika i oszczędzi nieco roboty naszym administratorom. Co jednak w przypadku, gdy użytkownik stwierdzi, iż poddana kwarantannie wiadomość nie stanowi zagrożenia i powinna trafić na jego skrzynkę? W przypadku nadanych w mojej zasadzie uprawnień może on wnioskować o usunięcie wiadomości z kwarantanny:
Po potwierdzeniu i przesłaniu prośby informacje o niej zobaczy administrator. Sama wiadomość z jego punktu widzenia będzie miała nadany odpowiedni status:
Wobec takiej wiadomości Administrator zobaczy również opcje Approve release oraz Deny release. Dopiero po zatwierdzeniu prośby przez administratora wiadomość trafi finalnie na skrzynkę użytkownika.
Wiadomość może zostać również zwolniona z kwarantanny przez administratora poprzez sam mechanizm zwalniania, nie akceptacji prośby użytkownika:
W takim przypadku administrator zyskuje kilka dodatkowych opcji. Może on zwolnić wiadomość z kwarantanny, ale tylko dla wybranych użytkowników czy przesłać kopię wiadomości do wybranego adresata. Opcjonalnie może on również przesłać kopię wiadomości do Microsoftu w celu dalszego doskonalenia mechanizmu wykrywania zagrożeń w wiadomościach:
Wartym odnotowania jest to, iż wiadomość niekoniecznie trafia od razu do Inbox-u, czyli głównego folderu skrzynki odbiorczej. o ile nie widzisz zwolnionego z kwarantanny maila – warto zajrzeć również do folderu Junk folder (pol. wiadomości-śmieci).