Myśląc o zapewnieniu odpowiedniej jakości i bezpieczeństwa poczty elektronicznej nie możemy koncentrować się wyłącznie na złośliwych linkach czy załącznikach. Nie mniej istotne, szczególnie dla kwestii jakości, będzie kontrola i odsiewanie wszelkiego typu niechcianej korespondencji, czyli tzw. spam-u. Dlatego opisywane w ostatnich artykułach funkcjonalności Exchange Online Protection oraz Defendera for O365 musimy uzupełnić o zasady ochrony przed spamem
Skrzynki pocztowe w Exchange Online są domyślnie chronione przez zasady ochrony przed spamem. Gwarantują one odpowiedni poziom filtrowania wszystkim użytkownikom, ale z pewnością nie spełnią one wymagań absolutnie wszystkich organizacji. Dlatego też w tym wpisie przejdziemy również przez proces tworzenia własnych, dostosowanych do naszych preferencji polityk. Zapraszam!
Budowa zasad ochrony przed spamem
Zacznijmy od kwestii budowy zasad ochrony przed spamem. Podobnie jak inne tego typu polityki czy zasady, takie jak polityki anty-malware czy zasady kwarantanny, polityki anty-spam składają się z dwóch elementów.
- Spam filter policy – czyli polityka, która określa zachowanie mechanizmu, oparte na decyzji podjętej przez mechanizm filtrujący
- Spam filter rule – Regułę, która określa priorytet czy zakres działania (których użytkowników będzie dotyczyć polityka)
Tak jak w pozostałych przypadkach, w momencie tworzenia polityki przez portal Microsoft 365 Defender nie zauważymy tego podziału. Będzie on jednak istotny w kontekście konfiguracji polityki poprzez PowerShell, o czym później.
Domyślna ochrona przed spamem
Tak jak wspominałem, korzystając z Exchange Online (lub z wykupionego Exchange Online Protection) otrzymujemy domyślną ochronę przed spamem, na którą składają się trzy polityki:
- Anti-spam inbound policy – domyślna polityka dla wiadomości przychodzących. Zawiera ona bardzo podstawową konfigurację, kierując zdecydowaną większość wiadomości do „Junk Folder” (wiadomości-śmieci) w Outlook. Stamtąd użytkownik może samodzielnie wyciągnąć wiadomość. Jedynym wyjątkiem jest wysoka pewność co do phishingu – taka wiadomość trafia wtedy na kwarantannę z nałożoną zasadą AdminOnlyAccessPolicy.
- Connection filter policy – domyślnie pusta polityka, która pozwala na wprowadzenie adresów IP, z których wiadomości będą zawsze przepuszczane lub blokowane. Możemy również włączyć lub wyłączyć safe list, która jest dynamiczną listą zaufanych nadawców, która jest prowadzona przez Microsoft.
- Anti-spam outbound policy – domyślna polityka weryfikująca, czy użytkownicy w naszej organizacji sami nie rozsyłają spamu. Może to być istotny sygnał świadczący np. o nieautoryzowanym dostępie do konta danego użytkownika.
Domyślne polityki mają one kilka cech charakterystycznych:
- Dotyczą one wszystkich użytkowników w naszej organizacji, nawet jeżeli nie mamy przypisanej reguły, która na to wskazuje
- Ich priorytet jest zawsze najniższy, tak aby pierwszeństwo działania miały zawsze tworzone przez nas polityki
- Domyślnych polityk nie jesteśmy w stanie usunąć, ale naturalnie możemy nadpisywać ich działanie tworząc własne polityki lub edytując każdą z nich
Tworzenie zasad ochrony przed spamem
Mając wiedzę na temat struktury i funkcji domyślnych zasad przejdźmy płynnie do tworzenia własnych. W pierwszej kolejności będziemy musieli określić, dla jakich typów wiadomości chcemy utworzyć zasadę – przychodzących czy wychodzących? Zacznijmy od tych pierwszych:
W pierwszym kroku określamy oczywiście nazwę naszej polityki:
A następie zakres jej działania, tj. dla maili przychodzących do których użytkowników, grup czy domen będzie ona obowiązywała:
Bulk email
W kolejnym kroku przechodzimy do konfigurowania właściwej części polityki. W pierwszej kolejności musimy określić poziom tzw. Bulk email threshold w skali od 1 do 9. Bulk email bazuje na wskaźniku BCL (Bulk complaint level), który jest przypisywany do wszystkich wiadomości w Exchange Online. Pozwala on identyfikować i odpowiedni klasyfikować wiadomości masowe (wysyłane w takiej samej formie do wielu odbiorców).
Masowa wysyłka treści np. marketingowych może być uznawana przez część użytkowników jako spam, podczas gdy przez inną część może być pożądana. Dobrym przykładem jest newsletter, który znajdziesz u mnie na Blogu – taki sam mail wysyłany do wielu odbiorców może być pozytywnie odbierany przez subskrybentów, podczas gdy użytkownicy niezapisani na moją listę mailową mogli by potraktować takie maile jako spam.
Poziom w skali od 1 do 9 określany jest na bazie różnych czynników, a jego zadaniem jest odzwierciedlenie jak dużo „skarg” może generować dany mail.
- Poziom 8-9 to wiadomości od danego nadawcy, które potencjalnie mogą generować dużo skarg.
- BCL na poziomie 4-7 to „średni” poziom, który może generować skargi, ale może być też pożądany przez niektórych użytkowników
- Poziom 1-3 to wiadomości z niskim prawdopodobieństwem potraktowania ich przez użytkowników za spam
- Poziom 0 nie przepuszcza wiadomości „masowych”
Wybór odpowiedniego poziomu zależy od preferencji i może być modyfikowany w miarę obserwacji i zgłoszeń od użytkowników. W moim przypadku pozostawię go na poziomie domyślnym – 7:
Increase spam score
W następnej kolejności możemy skonfigurować elementy, które będą spam score, czyli wskaźnik pewności co do tego, czy dana wiadomość to spam. Opcje z tej kategorii podwyższają wskaźnik, ale nie determinują jeszcze, że dana wiadomość na pewno jest spamem.
Dla wszystkich opcji dostępne mamy trzy możliwości konfiguracji – włączenie, wyłączenie i uruchomienie w trybie testowym. Spośród dostępny opcji mamy do skonfigurowania:
- Linki z obrazków prowadzące do stron internetowych (czy dokładniej wiadomości zawierające tag HTML <img> z linkiem do strony internetowej)
- Adres IP w adresie URL (np. http://31.87.212.53 itp.)
- Adres URL z przekierowaniem na inny port (nie wliczając standardowych, często występujących przekierowań na porty 80, 8080 czy 443 (HTTP oraz HTTPS)
- Linki do stron .biz oraz .info
Mark as spam
Poniżej znajdziemy całą listę różnych opcji konfiguracji, dla których wiadomość będzie od razu klasyfikowana jako spam:
- Empty messages – Puste wiadomości
- Embedded tags in HTML – Wiadomości z tagiem HTML <embed> (służy do osadzania w mailach np. dźwięków, filmów czy obrazów)
- JavaScript or VBScript in HTML – Kod JavaScript or VBScript w wiadomości, którego zadaniem jest wykonanie określonych akcji
- Form tags in HTML – Wiadomości z tagiem HTML <form> – odpowiada za formularze osadzane w mailu
- Frame or iframe tags in HTML – Tag HTML <frame> lub <iframe> – służącymi do formatowania tekstu czy grafik
- Web bugs in HTML – elementy graficzne (często 1 pixelowe), których zadaniem jest śledzenie, czy wiadomość została otwarta (popularne w newsletterach)
- Object tags in HTML – wiadomości z tagiem HTML <object>, które można wykorzystać do uruchomienia plugi-inów czy aplikacji
- Sensitive words – słowa-klucze z listy prowadzonej przez Microsoft, zawierającej potencjalnie „ofensywny” język
- SPF record: hard fail – wiadomości wysłane z adresu IP, który nie jest określony w rekordzie SPF w DNS domeny, z której pochodził email
- Sender ID filtering hard fail – weryfikacja ID nadawcy, co pozwala wykryć podmieniony adres nadawcy wiadomości
- Backscatter – nieistotne przy korzystaniu z Exchange Online
- Contains specific language – wiadomości napisane we wskazanym języku będą traktowane jako spam
- From these countries – wiadomości pochodzące z danego kraju będą traktowane jako spam
Test mode
Na samym dole możemy skonfigurować zachowanie mechanizmu dla włączenia trybu testowego. Możemy wybrać spośród 3 opcji:
- Nie podejmować żadnych akcji (dopasowanie będzie widoczne jedynie w raportach)
- Dodanie treści nagłówka X-header do maila, tak jak w przypadku włączenia danej opcji, ale bez podejmowania dalszych działań
- Dołączenie określonego adresu email do ukrytej kopii, w przypadku dopasowania wiadomości do danej opcji
Co do zasady Microsoft nie rekomenduje włączania żadnej z opcji, czy to podwyższającej wskaźnik pewności wykrycia spamu, czy klasyfikacji wiadomości jako spam. Jeżeli jednak mamy specyficzny scenariusz, który chcielibyśmy zaadresować – mamy dostępną całą gamę możliwości, które nam w tym pomogą.
Akcje
W kolejnym korku określamy co mechanizm ma zrobić z wiadomością, która została zaklasyfikowana do odpowiedniej grupy. Dla każdej z grup mamy kilka opcji do wyboru:
- Umieszczenie wiadomości w folderze Junk folder w Outlooku
- Dodanie nagłówka do wiadomości
- Dodanie tekstu na początku danej wiadomości
- Przekierowanie wiadomości na wskazany adres email
- Usunięcie wiadomości
- Poddanie wiadomości kwarantannie
Rekomendacje co do wyboru odpowiednich opcji będą przedstawiały się następująco:
- Spam – przeniesienie do Junk Folder (lub poddanie kwarantannie przy bardziej restrykcyjnych zasadach). Umieszczenie spam-u w Junk folder pozwoli uniknąć false positive i w razie potrzeby wyciągnąć niebędącą spamem wiadomość przez każdego użytkownika
- High confidence spam – poddanie kwarantannie. W przypadku wysokiej pewności co do tego, że wiadomość jest spamem możemy poddać ją kwarantannie. Prawdopodobieństwo false positive jest niskie, a kwarantanna zawsze zostawi furtkę na przywrócenie wiadomości do skrzynki odbiorczej użytkownika
- Phishing – poddanie kwarantannie. Phishing może naturalnie stanowić zagrożenie dla użytkownika i naszej organizacji, dlatego najlepiej poddać wiadomość kwarantannie przypisując zasadę nie pozwalającą użytkownikom na wyciągnięcie takiej wiadomości.
- High confidence phishing – poddanie kwarantannie. Podobnie jak w powyższym przypadku, kwestia braku uprawnień do wyciągnięcia wiadomości przez użytkowników jest tym bardziej istotna.
- Bulk – przeniesienie do Junk folder. Takie wiadomości nie powinny stanowić zagrożenia, a użytkownik może wyciągnąć interesującą go wiadomość, jeżeli zostanie ona sklasyfikowana błędnie.
Poniżej określamy również czas, przez jaki wiadomości uznane za spam mają być przetrzymywane na kwarantannie, zanim zostaną usunięte. Sugeruje się zostawić min. 30 dni.
Poniżej dostępne są jeszcze pola, które pozwalają dostosowywać zachowanie mechanizmu przy wybraniu określonych opcji (np. dołączenie nagłówka X-header):
Porady bezpieczeństwa oraz ZAP
Jeszcze niżej znajdziemy opcję pozwalającą na wyświetlanie rzucających się w oczy „banerów” w Outlook-u, które będą informowały użytkowników o potencjalnym zagrożeniu:
Jeszcze niżej znajdziemy możliwość włączenia mechanizmu ZAP, o którym więcej można przeczytać przy okazji wpisu o politykach anty-malware. W dużym skrócie pozwala on na ponowne skanowanie wiadomości, które zostały już wcześniej sprawdzone i znajdują się na skrzynce użytkownika np. po aktualizacji bazy sygnatur malware-u.
Lista zaufanych i blokowanych odbiorców
W kolejnym kroku znajdziemy możliwość konfiguracji nadawców i domen, które będziemy traktowali jako zaufane. Z drugiej strony możemy również określić listę nadawców i domen, od których wiadomości będą od razu blokowane. Co warte podkreślenia – lista zaufanych nadawców nie pozwoli na przepuszczenie wiadomości, która zostanie sklasyfikowana jako High confidence phishing. Pozwala to ochronić naszych użytkowników czy organizację przed sytuacją, gdy phishing dotarłby do nich na skutek np. przejęcia konta jednego z zaufanych nadawców.
Podsumowanie i tworzenie wiadomości
Jak widać możliwości w zakresie konfiguracji zasad ochrony przed spamem jest całkiem sporo. Po weryfikacji poprawności konfiguracji na etapie podsumowania możemy utworzyć zasadę. Domyślnie otrzymuje ona najwyższy priorytet, i jest oczywiście ważniejsza niż wcześniejsze, domyślnie utworzone zasady:
Tworzenie zasady ochrony przed spamem dla wiadomości wychodzących
Przeszliśmy już przez możliwości konfiguracyjne dla wiadomości przychodzących. Czas teraz zająć się wychodzącymi. W tym celu przy okazji tworzenia nowej zasady wybieramy opcję Outbound:
Pierwszy etap nie różni się wiele od zasad dla poczty przychodzącej czy innych zasad EOP. Określamy nazwę polityki:
Następnie określamy zakres jej działania:
A następnie przechodzimy do konfiguracji zasady. Już na pierwszy rzut oka widać, że możliwości konfiguracyjnych mamy tutaj istotnie mniej. Spośród dostępnych opcji w pierwszej kolejności mamy możliwość ustalenia limitów:
- Wysyłanych wiadomości na zewnątrz naszej organizacji
- Wysyłanych wiadomości wewnątrz naszej organizacji
- Dzienny limit wysyłanych wiadomości
Limity te są mocno indywidualne. Wśród standardowych rekomendowanych ustawień możemy jednak znaleźć następującą konfigurację:
Niżej znajdziemy możliwość określenia tego, co ma się dziać, gdy limit zostanie osiągnięty. Wśród dostępnych opcji możemy wybrać:
- Blokadę możliwości wysyłania wiadomości do kolejnego dnia
- Całkowitą blokadę możliwości wysyłania wiadomości przez użytkownika
- Wysłanie aletru do wskazanej osoby, bez podejmowania żadnych dodatkowych działań.
Opcją rekomendowaną będzie całkowita blokada możliwości wysyłania wiadomości. Jeżeli ktoś przekroczy wygórowane limity, warto przyjrzeć się dokładniej podejrzanej aktywności i odblokować możliwość wysyłania dopiero po przeprowadzeniu odpowiedniej weryfikacji przez administratora lub dział bezpieczeństwa:
Reguły przesyłania dalej
Poniżej znajdziemy reguły przesyłania pozwalają nam kontrolować możliwość automatycznego przesyłania dalej wszystkich maili do zewnętrznych użytkowników. Zablokowanie lub ograniczenie takiej możliwości wydaje się być istotne z punktu widzenia bezpieczeństwa. Znamy przecież historie, gdy atakujący po uzyskaniu dostępu do skrzynki ustawiali taką regułę, aby otrzymywać wszystkie maile nawet po zmianie hasła. Oprócz tego sam fakt przesyłania służbowych maili np. na prywatną skrzynkę użytkownika wydaje się być mocno ryzykowny.
Spośród trzech opcji mamy do wyboru włączenie, wyłączenie oraz kontrolowanie takiej opcji w sposób automatyczny. Sposób automatyczny, który będzie rekomendowaną opcją pozwala zablokować możliwość przesyłania wiadomości poza organizację, natomiast pozostawi taką możliwość dla skrzynek wewnątrz organizacji:
Powiadomienia
Ostatnim możliwym do konfiguracji elementem są powiadomienia. Możemy tutaj skonfigurować przesyłanie kopii wiadomości, które przekraczają limit do wybranych użytkowników oraz powiadomienia o zablokowaniu danego użytkownika.
Warto podkreślić, że zgodnie z dokumentacją pierwsza opcja działa wyłącznie dla domyślnie tworzonej polityki. Z kolei w kontekście drugiej opcji – alert jest i tak generowany do wszystkich administratorów globalnych w organizacji przez domyślne polityki alertów. Jeżeli chcemy, aby powiadomienia dochodziły również np. osoby z zespołu security, która nie posiada roli globalnego administratora możemy skonfigurować tą opcję. Rekomendowane będzie jednak wykorzystanie dostępnych w portalu Microsoft 365 Defender polityk alertów, co zostało opisane np. tutaj.
Po tej stosunkowo krótkiej konfiguracji zasada ochrony przed spamem dla wiadomości wychodzących zostaje utworzona: